GzDooM pre-1905 + Black screen

Bugs that have been resolved.

Moderator: Graf Zahl

dpJudas
Developer
Developer
Posts: 798
Joined: Sat Jul 23, 2016 7:53

Re: GzDooM pre-1905 + Black screen

Post by dpJudas »

Probably need my fingers at a dev machine with an AMD card to debug this further. You (ibm5155) mentioned me using your computer remotely for some tests. It might be a good idea. How do you suggest we set that up?
dpJudas
Developer
Developer
Posts: 798
Joined: Sat Jul 23, 2016 7:53

Re: GzDooM pre-1905 + Black screen

Post by dpJudas »

Pull request: https://github.com/coelckers/gzdoom/pull/90

Finally got some good news! Found a typo that made it use the wrong texture handle when copying to the back buffer. This could very well explain the AMD black screen. Also found an uninitialized variable situation that could cause it to try delete a random texture first time it renders, which could maybe explain the Doom 2 image gone MIA on the Intel.
Blue Shadow
Global Moderator
Global Moderator
Posts: 308
Joined: Sun Aug 29, 2010 6:09

Re: GzDooM pre-1905 + Black screen

Post by Blue Shadow »

I ran 2.2pre-2090-g6c5109e three times in a row, and didn't get the problem once :) . With previous builds, I got it every single time I ran GZDoom.
User avatar
Akiradlc
Posts: 21
Joined: Fri Aug 12, 2016 21:26

Re: GzDooM pre-1905 + Black screen

Post by Akiradlc »

:cheers: Cheers, just downloaded 2090 and going to stress test it when possible.
ibm5155
Posts: 152
Joined: Tue Oct 25, 2011 13:05

Re: GzDooM pre-1905 + Black screen

Post by ibm5155 »

Tested:
-Intel: Black screen in windowed/fullscreen mode, but I can see normally when I start a level (and if I go back to the menu, with the end game bind, I see for 2 seconds a black screen and then the title menu)

-AMD: Just like before, its working fine, but something is a bit weird when changing from fullscreen to windowed mode.

dpjudas: is the game working just fine in your intel gpu? about using the computer remotely, you could, but idk the best software for doing that :S
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Re: GzDooM pre-1905 + Black screen

Post by Graf Zahl »

I think the best software for this is TeamViewer.
User avatar
Rachael
Developer
Developer
Posts: 3645
Joined: Sat May 13, 2006 10:30

Re: GzDooM pre-1905 + Black screen

Post by Rachael »

Teamviewer works great, with a few caveats:
  • You cannot test fullscreen mode without the user actually present. As for whether the screen actually transmits, it's touch and go on that. Sometimes it will, sometimes it will not, sometimes you'll get in-page renders that are not proper. No problems in Windowed mode though - other than being really slow.
  • You must use the arrow keys to move around if that is your desire. WASD is for typing and Teamviewer will not transmit the full down/up states for it due to possible language differences. It will instead translate your typing (even if it is game keys) into the user's keyboard language and that gets transmitted as a single down/up events (using your own keyboard repeat settings) for that user.
  • Mouse movement is absolute (like a touchscreen) so you also cannot use that to control the game.
Barring all that, though, Graf had no problems doing exactly this with my AMD card. The environment I set up for Graf remains available if needed, also, using an HD4850.
User avatar
mav3rick
Posts: 5
Joined: Thu Aug 25, 2016 16:45

Re: GzDooM pre-1905 + Black screen

Post by mav3rick »

Well i also did some test on 2090 and black screen are gone, but my problem with sprites are there and more clear on doom,doom2,tnt/plutonia, since the weapons sprite is no show and others sprites too as seem on screens

Doom1,Doom2
ImageImage
Image

when used with a mod the sprite weapons do show but sprites they seem to get stuck
ImageImage
ImageImage
User avatar
Akiradlc
Posts: 21
Joined: Fri Aug 12, 2016 21:26

Re: GzDooM pre-1905 + Black screen

Post by Akiradlc »

Well, i had no apparent problems with 2090. Going to try 2099 now.
dpJudas
Developer
Developer
Posts: 798
Joined: Sat Jul 23, 2016 7:53

Re: GzDooM pre-1905 + Black screen

Post by dpJudas »

ibm5155 wrote:is the game working just fine in your intel gpu? about using the computer remotely, you could, but idk the best software for doing that :S
I haven't tried again in a while (its disabled in bios and I need to unplug my monitor to use it), but I'll give it another spin soon. Never seen any black screens with it though. Also not on my Mac laptop that also uses Intel.
Eruanna wrote:Barring all that, though, Graf had no problems doing exactly this with my AMD card. The environment I set up for Graf remains available if needed, also, using an HD4850.
Thanks for the offer. Sounds like the black screen is gone on the AMDs now though. Are you getting the black screen on that HD4850?
mav3rick wrote:Well i also did some test on 2090 and black screen are gone, but my problem with sprites are there and more clear on doom,doom2,tnt/plutonia, since the weapons sprite is no show and others sprites too as seem on screens
I'm not sure this rendering glitch is part of the black screen bug.
ibm5155
Posts: 152
Joined: Tue Oct 25, 2011 13:05

Re: GzDooM pre-1905 + Black screen

Post by ibm5155 »

the black screen under the intel hd 4000 doesn't count ? D:
Well, should I create a new thread for the other specific case with amd? (change from fullscreen mode to windowed and the game screen freeze)

EDIT: Lucky, I was playing with rollback with my off-line repo from gzdoom, and from the second try, the intel gpu went back to work :O.
So I tried to investigate the problematic line and here's what I found:

in gl_renderstate.cpp line 69

Code: Select all

void FRenderState::Reset()
{
	mTextureEnabled = true;
	mClipLineEnabled = mSplitEnabled = mBrightmapEnabled = mFogEnabled = mGlowEnabled = false;
	mColorMask[0] = mColorMask[1] = mColorMask[2] = mColorMask[3] = true;
	currentColorMask[0] = currentColorMask[1] = currentColorMask[2] = currentColorMask[3] = true;
	mFogColor.d = -1;
	mTextureMode = -1;
	mLightIndex = -1;
	mDesaturation = 0;
	mSrcBlend = GL_SRC_ALPHA;
	mDstBlend = GL_ONE_MINUS_SRC_ALPHA;
	mAlphaThreshold = 0.5f;
	mBlendEquation = GL_FUNC_ADD;
	mModelMatrixEnabled = false;
	mTextureMatrixEnabled = false;
	mObjectColor = 0xffffffff;
	mVertexBuffer = mCurrentVertexBuffer = NULL;
	mColormapState = CM_DEFAULT;
	mSoftLight = 0;
	mLightParms[0] = mLightParms[1] = mLightParms[2] = 0.0f;
	mLightParms[3] = -1.f;
	mSpecialEffect = EFF_NONE;
	mClipHeight = 0.f;
	mClipHeightDirection = 0.f;
	mShaderTimer = 0.0f;
	ClearClipSplit();

	stSrcBlend = stDstBlend = -1;
	stBlendEquation = -1;
	stAlphaThreshold = -1.f;
	stAlphaTest = 0;
	mLastDepthClamp = true;
	mInterpolationFactor = 0.0f;

	mColor.Set(0.0f, 0.0f, 0.0f, 0.0f);
	mCameraPos.Set(0.0f, 0.0f, 0.0f, 0.0f);
	mGlowTop.Set(0.0f, 0.0f, 0.0f, 0.0f);
	mGlowBottom.Set(0.0f, 0.0f, 0.0f, 0.0f);
	mGlowTopPlane.Set(0.0f, 0.0f, 0.0f, 0.0f);
	mGlowBottomPlane.Set(0.0f, 0.0f, 0.0f, 0.0f);
	mSplitTopPlane.Set(0.0f, 0.0f, 0.0f, 0.0f);
	mSplitBottomPlane.Set(0.0f, 0.0f, 0.0f, 0.0f);
	mClipLine.Set(0.0f, 0.0f, 0.0f, 0.0f);
	mDynColor.Set(0.0f, 0.0f, 0.0f, 0.0f);
	mClipSplit[0] = mClipSplit[1] = 0.0f;  // <========== REMOVE IT
	mEffectState = 0;
	activeShader = nullptr;
	mProjectionMatrix.loadIdentity();
	mViewMatrix.loadIdentity();
	mModelMatrix.loadIdentity();
	mTextureMatrix.loadIdentity();
}
removing mClipSplit[0] = mClipSplit[1] = 0.0f; actually fixed gzdoom with my intel gpu and it's working at any case.
But, it didnt fixed the amd gpu (when you change from fullscreen to windowed)
so pls, pull this fix :D

[quote="dpJudas"]text[quote] @dpJudas
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Re: GzDooM pre-1905 + Black screen

Post by Graf Zahl »

Sorry, but making that change will cause serious problems because it'd leave some variables uninitialized. What kind of Intel is this? It looks like it is having some issues with clip planes if random contents in there make it work.
User avatar
Akiradlc
Posts: 21
Joined: Fri Aug 12, 2016 21:26

Re: GzDooM pre-1905 + Black screen

Post by Akiradlc »

ibm5155 wrote:AMD time:
-BUT there's just a weird thing, when you change from fullscreen to windowed mode, the screen gets stucked in the last frame that you saw in the fullscreen mode, if you try to go back to fullscreen mode or even resize the window, you still see the same frame... (but the game is still running in background).
-The same doesn't happens if you start in windowed mode and tries to set fullscreen mode.
Not trying to be annoying, but: you're using the latest Crimson drivers right? Here when i change between modes the screen gets refreshed with no problems.

Also, did you try turning off the Shader Cache in Crimson control panel? Some people have reported it causing all sorts of problems in OpenGL games recently.
The current way to clear the problem apparently is to uninstall driver with DDU, install latest driver and then run the game with Shader Cache off. Only after the first run, run the game with Shader Cache on and let the game do it's talk with Crimson for a few minutes then restart it and play without problems.

But again, i myself didn't had such problems, so no clue if it has indeed something to do or not. Just thought it was worth mentioning.
ibm5155
Posts: 152
Joined: Tue Oct 25, 2011 13:05

Re: GzDooM pre-1905 + Black screen

Post by ibm5155 »

Akiradlc wrote: Not trying to be annoying, but: you're using the latest Crimson drivers right? Here when i change between modes the screen gets refreshed with no problems.

Also, did you try turning off the Shader Cache in Crimson control panel? Some people have reported it causing all sorts of problems in OpenGL games recently.
The current way to clear the problem apparently is to uninstall driver with DDU, install latest driver and then run the game with Shader Cache off. Only after the first run, run the game with Shader Cache on and let the game do it's talk with Crimson for a few minutes then restart it and play without problems.

But again, i myself didn't had such problems, so no clue if it has indeed something to do or not. Just thought it was worth mentioning.
I'm using the 16.8.2 driver.
I tried to turn of the Shaders Cache, at the first try, it actually worked (but one weird result happened, the window border wasn't there, just a floating gzdoom screen), and the other tries the same happened . :(
Graf Zahl wrote:Sorry, but making that change will cause serious problems because it'd leave some variables uninitialized. What kind of Intel is this? It looks like it is having some issues with clip planes if random contents in there make it work.
It's ok, at least we know what may casue the bug.
it's the intel hd 4000.
Also, I figure out that it's fine to set 0.0f to mClipSplit[0], the problem is when you set any value to mClipSplit[1].

And here comes my test log:
mClipSplit[1] = 10.0f; results in black
mClipSplit[1] = 100.0f; results in black, but you can see 20% of the screen (and you can see everything if you join the new game)
mClipSplit[1] = 1000.0f; and I can see everything
mClipSplit[1] = 384.0f; hmm I can see half the screen (I'm using 1360x768 and 384 equals 768/2)
mClipSplit[1] = 760.0f; I can see all but I belive, 6 missing lines.
mClipSplit[1] = 768.0f; now I can see everything :D

And just by curiosity, I tried to set mClipSplit[0] = 384.0f; and mClipSplit[1] = 700.0f;.
This is what happens:
Image
So, basically, the gpu is clipping that area and ignoring the rest, and I belive, when I join a new game, the clip values are changed to the actuall screen size.
User avatar
Rachael
Developer
Developer
Posts: 3645
Joined: Sat May 13, 2006 10:30

Re: GzDooM pre-1905 + Black screen

Post by Rachael »

dpJudas wrote:Thanks for the offer. Sounds like the black screen is gone on the AMDs now though. Are you getting the black screen on that HD4850?
No black screen, but am missing part of the screen border and weapon sprites.
Locked

Return to “Closed Bugs”