-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Black Screen on AMD R9 390 #10
Comments
what version of fhDOOM? could you please execute |
latest from here, compiled myself because the released version also did this. And yes only unpacked fhdoom and copied the required pk4's from doom3. log here
`fhDOOM 1.5.1 (alpha).1413 win-x86 Jun 27 2016 19:43:01 C:\Msys64\src\fhDOOM\build\msvc2015-x86\bin\Release\base\pak006.pk4 (48 files) C:\Msys64\src\fhDOOM\build\msvc2015-x86\bin\Release\base\pak005.pk4 (63 files) C:\Msys64\src\fhDOOM\build\msvc2015-x86\bin\Release\base\pak004.pk4 (5137 file
|
I am not sure what version you compiled there, but its definitely not the "latest from here". Your file says its version '1.5.1', but latest released version is '1.5.2'. I don't know if that changes anything, but please try again with latest official binaries (http://www.facinghell.com/fhdoom/fhDOOM-1.5.2-1414.zip) and post your results. Please use the released binaries and don't compile from current master branch (version '1.5.3 (snaphot)'), because that code is still in a state of flux. |
Any news on the issue? I am using the same opengl driver (but on a R9 280) without any problems, but it is still possible that there is a bug somewhere. If not in the code, it might be in the build system. To investigate the issue further i need to know, if the problem still occurs if you use the released binaries. Comments from people with similar hardware are also appreciated :-) There is something else that might be related to the problem:
|
I did try at first with the release binaries with no luck unfortunatly, my own build was to check if it was something related to the compiler used but i got the exact same bug with my own build. Not sure but the R9 390 is actually just a refurbished R9 290 with higher clock speeds. It works quite well for both unmodified doom3 and with sikkmod shaders but i remember id had to take some steps to get AMD cards running even with the old ARB2 renderer. I also have an old project by MH that does use a simple glsl backend for rendering while effects where still rendered by the ARB shaders. It did have a few pitsalls but it runs so im a bit stumped by this. |
P.s the output from the release version is exactly the same as my own compile which doe's not seem to hint at any problem with the extensions, so the card obviously supports the extensions reported. |
log here
`fhDOOM 1.5.2.1414 win-x86 Aug 16 2017 22:40:18
|
Whoops just noticed glGetError() = 0x500 that seems to point to an invalid enumerator somewhere. Not sure why a newer card than yours fails this. |
Thx for the update and the glGetError hint. I will look into it and get back to you. |
Np, AMD cards usually get flak for bad opengl support, in most cases its because the AMD opengl drivers are quite a bit stricter than nvidia's. But we both have AMD so this is a bit puzzling Oo. Not sure i ever seen it work on one AMD card and with the same driver and not on another. Might also be something that would interrest AMD's devs since it would suggest breakage somewhere. AMD has a tool for checking GLSL shaders specifically for AMD cards, might be of use to you maybe ?. |
I tested my cards opengl capabilities using OpenGL extensions viewer, might be usefull comparing with yours. log here> Renderer: AMD Radeon (TM) R9 390 Series Vendor: ATI Technologies Inc. Memory: 4095 MB Version: 3.3.13492 Core Profile Forward-Compatible Context 22.19.677.257 Shading language version: 4.50 Max texture size: 16384 x 16384 GL Extensions: 312 GL_ARB_tessellation_shader Core features the 390 actually has full OpenGL 4.5 support but the card only reports 4.4 because of a string error (found info when looking at some comments at AMD forums). |
Enabled some more debugging and ??? wtf It reports multitexturing as broken with 0 texture units, hmm something is fubar here, i use glew myself in my revelation engine and it reports 4 texture units and runs fine, sadly my engine uses the old ARB2 shaders still. |
Ok, some more info. The WMI code for getting videoram does not work on win 10 because it requires the executable to be signed, atm it returns -1mb. Could possibly use direct3d or even dxdiag to get the same result though it kinda stinks to have D3D code in an opengl engine. P.s Olliver mc fadden (diseased) had a project going porting Doom3 to GLSL, and he had the missing GLSL shaders for ROE like the Bloodorb. Maybe you can use these ?. And i tried out the engine on my HTPC which has an older Nvidia 560 gtx and it works rather well there except for ROE which shows some graphics glitches due to the missing shaders i presume. |
you could try to disable core profile:
This should fix at least the reported multitexturing. I am aware of the video ram issue. I already tinkered with some alternatives, but haven't put much effort into it. The video ram is only used to automatically select reasonable quality settings. On modern hardware (everything released within the last 6 years) it's not that important anymore. |
Aye could do away with it completely. And blimey... now it works ? im at a loss. |
I made a piece of code to check for compatibilty profile ` // core or compatibility profile
This atleast works for my card. |
Hmm after searching a bit i stumbled upon this. https://www.opengl.org/discussion_boards/showthread.php/186183-Unable-to-create-core-profile Seems glew does not handle core profile correctly atm. |
Ok played a bit and hydrocon map hangs after you enter the room with the videodesk and the pda when the screen turns red and monsters spawn. Ill see if i can debug it somehow. If interrested i do have a piece of code for VBO made by MH some time back that uses ARBMapBufferRange instead of just copying the VBO. It does net a bit of a speedup compared to the old version. Else it looks pretty purty :) and i like that you batched up the render calls, MH would certainly approve. |
Ok after some tinkering about i can say that my card runs core profile in compatibility context for sure. I can force it on by initializing WGL_ARB_create_context in win_glimp.cpp and then it works, but its not optimal. |
Ok i have fixed it, this also takes care of the invalid enum glGetError() reported.
and in win_glimp.cpp just before this codepiece
add
It sucks i agree but it is the only thing that works for this card. EDIT: based on wrong assumption, disregard the above, also it seems its fixed now. Im also posting the optimized VBO code from MH below, up to you if you want to use it :) but it works like a charm.
|
Please don't post longer logs or code snippets like this, your post is an unreadable mess (i already cleaned up your previous posts).
Please keep issues separated. How is that VBO stuff related to this? How is that hydrocon map hang related to this? Now back to the actual issue: There are bugs in current AMD drivers, but i am pretty sure creating a core profile context on a modern AMD card is totally fine. OpenGL 3.3 core context is nothing new and there is a ton of software that uses it. Its easy to blame the driver, but it is way more likely that there is a bug or something weird in fhDOOM that the driver is picky about. I am not sure how your "fix" is supposed to work:
There is a snapshot available that contains several changes and has a lot more error checking at startup and that might give a hint: http://facinghell.com/fhdoom/fhDOOM-1.5.3-snapshot-1415.zip Thx! |
Yeah it became a bit messy, sorry about that, i thought wrapping it in code tags would have worked like on other sites but seems i was wrong. WGL_ARB_create_context is not initialized by default on my card, i can get around the problem now by initializing it but it will not run unless i do so. The codepiece for bufferrange was not related to this error i just posted it because it might be of some interrest if you want some better optimization of VBO's (not as good as BFG's but better than what was). GL_MAX_TEXTURE_COORDS_ARB hmm i was not aware multitexturing had been deprecated ? ok you learn something new every day. |
Ok tried the snapshot, and it works ?!? log below. fhDOOM 1.5.3 (snapshot).1415 win-x86 Oct 16 2017 19:10:07
|
Formatted my previous comment with fence tags, cannot for the life of me get it to accept wrapping in detail tags when using fences though. Also updated my fix since it turns out i been on the wrong track with this. As i said im not to used to shaders since i came from the quake1/2 world when i started learning C++, so im quite a bit behind in regards to the newer extensions / capabilities. Ill do a git pull with the VBO code in place so you can look it over. |
As the title says there seems to be some problem with this engine and the AMD R9 series.
I can start the game and sound works but the screen is totally black.
Might be driver related but i tried several versions and none of them work :/
The text was updated successfully, but these errors were encountered: