Jump to content
The Dark Mod Forums

GLSL shader problems with latest ATI Radeon drivers


Bluehawk

Recommended Posts

No errors, no ideas.

 

I compared HMart's condump to mine, the only difference I noticed is:

Generated framebuffer DEPTH_STENCIL attachment: 1920x1080
Generated framebuffer COLOR attachment: 1920x1080
Generated render buffers for COLOR & DEPTH/STENCIL: 1920x1080x0
Generated framebuffer DEPTH_STENCIL attachment: 1920x1080

This is excerpt from my dump (near the end), and HMart's log misses the last line.

I wonder why I have this generated twice, but HMart has it only once.

 

Aside from that... did someone of you perform "clean install" or driver? (I'm not sure how it is called in AMD case)

Is there any way to find anything like a cache and clean it?

 

Also we can try to find some other player with AMD cards of approximately the same year, ask him to update GPU driver and check if he has the problem.

If he has, then it would make it obvious that modern AMD driver has some relevancy here (and the victim will probably hate us afterwards :laugh: ).

Link to comment
Share on other sites

Yes I saw the file and saw no obvious OpenGL errors but i'm sure I did what you said because I saw on the console that ignoreGLErrors was zero. Yes I performed a clean install of the new drivers, that is a option on the driver instal, it can upgrade or do a clean install. About a cache there's the option on the driver control that AluminumHaste showed on the first page, I disabled it but it didn't solved the problem, I can try again tho, btw I don't know if disabling it deletes the cache nor do I know where it is saved.

Edited by HMart
Link to comment
Share on other sites

Ok, let's try some heavy weapons.

If you have limited internet or internet with per-traffic cost, please ignore this post.

 

1) Download mission called "Closemouthed Shadows" in TDM --- this is sort of the smallest full FM I know.

Make sure you have clean darkmod.cfg (except for resolution/fullscreen changes: set it to window of some size).

Start the mission and check if the starting area is lit correctly.

If it looks obviously wrong (I guess it should for you), then proceed to next steps. Otherwise stop here --- we need a better test case.

 

2) Download latest apitrace: binaries here

Unpack it to some directory, e.g. C:\apitrace-msvc

 

3) Download trace file from my machine: here it is.

Then run program: C:\apitrace-msvc\x64\bin\qapitrace.exe.

There click File->Open, choose the downloaded cms.trace file.

Then click Trace->Replay, leave defaults and click OK.

A window looking like TDM will pop up shortly. It will quickly load mission and render something.

Look how it renders the starting area: is lighting correct?

 

P.S. This is the sequence of OpenGL calls recorded by me on my machine with beta207-08, and replayed on your machine.

Although to be honest, I'm not even sure this thing will work: for me it looks like magic :o

 

4) Now the hardest point. Probably stop after step 3 and report your results for now...

Make sure that "Closemouthed Shadows" is the installed FM in TDM.

Execute the following command line in the TDM installation directory:

C:\apitrace-msvc\x64\bin\apitrace.exe trace --api=gl --output=cms.trace TheDarkModx64.exe +map closemouthed_shadows

This command line should start TDM and start the map immediately.

After map gets loaded, click attack immediately and step back as in the replay video you saw in step 3.

After about 5-10 seconds press Alt+F4 to kill TDM game.

Find file cms.trace in the TDM directory, it should have size like 200-300 MB.

Upload it somewhere so that we can download it (e.g. google drive).

 

P.S. It would be great if someone from TDM team could do steps 1-3 first, so that we know at least that this workflow makes sense.

Link to comment
Share on other sites

Ok, let's try some heavy weapons.

If you have limited internet or internet with per-traffic cost, please ignore this post.

 

1) Download mission called "Closemouthed Shadows" in TDM --- this is sort of the smallest full FM I know.

Make sure you have clean darkmod.cfg (except for resolution/fullscreen changes: set it to window of some size).

Start the mission and check if the starting area is lit correctly.

If it looks obviously wrong (I guess it should for you), then proceed to next steps. Otherwise stop here --- we need a better test case.

 

2) Download latest apitrace: binaries here

Unpack it to some directory, e.g. C:\apitrace-msvc

 

3) Download trace file from my machine: here it is.

Then run program: C:\apitrace-msvc\x64\bin\qapitrace.exe.

There click File->Open, choose the downloaded cms.trace file.

Then click Trace->Replay, leave defaults and click OK.

A window looking like TDM will pop up shortly. It will quickly load mission and render something.

Look how it renders the starting area: is lighting correct?

 

No it renders like on my image above the lights seem to be cut off diagonally.

 

Btw this is really not about TDM but perhaps something is really wrong with my GPU or the drivers, now Doom3BFG using the vulkan render crashes with a vk_error_out_of_device memory! Will try the new Doom just to be sure just need to redownload.

 

False alarm, Doom 2016 works fine in Vulkan and just in case tried Thief 4 using the now dead Mantle API it worked fine. :P

Edited by HMart
Link to comment
Share on other sites

 

4) Now the hardest point. Probably stop after step 3 and report your results for now...

Make sure that "Closemouthed Shadows" is the installed FM in TDM.

Execute the following command line in the TDM installation directory:

C:\apitrace-msvc\x64\bin\apitrace.exe trace --api=gl --output=cms.trace TheDarkModx64.exe +map closemouthed_shadows

This command line should start TDM and start the map immediately.

After map gets loaded, click attack immediately and step back as in the replay video you saw in step 3.

After about 5-10 seconds press Alt+F4 to kill TDM game.

Find file cms.trace in the TDM directory, it should have size like 200-300 MB.

Upload it somewhere so that we can download it (e.g. google drive).

 

 

Here is the trace https://drive.google.com/open?id=1K81_KimhXS2UrtptNbeFmr4Jj0YaKDZ4

Link to comment
Share on other sites

Ok, so here are the facts:

1) TDM game run on my machine produces correct lighting.

2) Your trace replayed on my machine produces correct lighting.

And as far as I understood you:

3) TDM game on your machine produces wrong lighting.

4) Replaying my trace on your machine produces equally wrong lighting.

Which means that only the sequence of OpenGL calls matters for this issue.

 

Rename the cmd.trace which you downloaded from me into stgatilov.trace.

Then run the following command:

C:\apitrace-msvc\x64\bin\glretrace -D 593599 --dump-format json stgatilov.trace >stgatilov_call593599.json 2>stgatilov_call593599.err

It should replay my trace up to some specific point and then dump the whole OpenGL state into the json file.

Upload the stgatilov_call593599.json file somewhere and post a link --- I will look into it trying to understand what goes wrong, maybe even compare it to the state produced on my machine.

Also provide contents of stgatilov_call593599.err --- either upload it somewhere or post it right here inside spoiler tag.

 

The call 593599 renders some part of floor, I guess.

I'm mostly interested in contents of attached texture0, since it should contain normal map.

Anyway, the json file will allow to see the whole GL state.

 

P.S. Thinking about it, if the problem started happening after driver update and is perfectly reproducible with a trace, then someone from AMD could easily do bisect over their history (it seems to be one of the major use cases for apitrace) and check when it broke.

Link to comment
Share on other sites

Ok here is the json file https://drive.google.com/open?id=1Wtx2TV-p-z9hW-cZCGiB0cyUD_x7fic9

 

and here is the err file contents

 

 

C:\TheDarkMod\darkmod_207_beta\TheDarkModx64.exe
837: warning: WARNING: 0:3: deprecated130(#55) "attribute" is deprecated since GLSL1.3. We suggest usage of "in"
WARNING: 0:4: deprecated130(#55) "attribute" is deprecated since GLSL1.3. We suggest usage of "in"
WARNING: 0:5: deprecated130(#55) "attribute" is deprecated since GLSL1.3. We suggest usage of "in"
WARNING: 0:6: deprecated130(#55) "attribute" is deprecated since GLSL1.3. We suggest usage of "in"
WARNING: 0:7: deprecated130(#55) "attribute" is deprecated since GLSL1.3. We suggest usage of "in"
WARNING: 0:33: deprecated130(#55) "ftransform()" is deprecated since GLSL1.3. We suggest usage of "invariant"

845: warning: WARNING: 0:76: deprecated130(#55) "texture2D" is deprecated since GLSL1.3. We suggest usage of "texture"
WARNING: 0:92: deprecated130(#55) "textureCube" is deprecated since GLSL1.3. We suggest usage of "texture"
WARNING: 0:96: deprecated130(#55) "texture2DProj" is deprecated since GLSL1.3. We suggest usage of "textureProj"
WARNING: 0:97: deprecated130(#55) "texture2D" is deprecated since GLSL1.3. We suggest usage of "texture"
WARNING: 0:105: deprecated130(#55) "texture2D" is deprecated since GLSL1.3. We suggest usage of "texture"
WARNING: 0:110: deprecated130(#55) "texture2D" is deprecated since GLSL1.3. We suggest usage of "texture"
WARNING: 0:123: deprecated130(#55) "texture2D" is deprecated since GLSL1.3. We suggest usage of "texture"
WARNING: 0:127: deprecated130(#55) "texture2D" is deprecated since GLSL1.3. We suggest usage of "texture"

910: warning: WARNING: 0:3: deprecated130(#55) "attribute" is deprecated since GLSL1.3. We suggest usage of "in"
WARNING: 0:4: deprecated130(#55) "attribute" is deprecated since GLSL1.3. We suggest usage of "in"
WARNING: 0:5: deprecated130(#55) "attribute" is deprecated since GLSL1.3. We suggest usage of "in"
WARNING: 0:6: deprecated130(#55) "attribute" is deprecated since GLSL1.3. We suggest usage of "in"
WARNING: 0:7: deprecated130(#55) "attribute" is deprecated since GLSL1.3. We suggest usage of "in"
WARNING: 0:25: deprecated130(#55) "ftransform()" is deprecated since GLSL1.3. We suggest usage of "invariant"

1035: warning: WARNING: Too many temp register is used in Geometry shader, it may cause slow execution.

593599: debug: apitrace: warning: _gl_uniform_size: unknown GLenum 0x1401
apitrace: warning: _gl_uniform_size: unknown GLenum 0x1401
593599: debug: apitrace: warning: _gl_type_size: unknown GLenum 0x0000
apitrace: warning: _gl_type_size: unknown GLenum 0x0000
warning: dumping of packed attribute (attr_Color) not yet supported
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '8': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '8': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '8': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '8': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '8': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '9': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '9': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '9': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '9': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '9': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '10': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '10': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '10': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '10': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '10': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '11': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '11': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '11': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '11': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '11': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '12': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '12': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '12': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '12': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '12': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '13': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '13': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '13': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '13': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '13': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '14': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '14': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '14': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '14': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '14': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '15': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '15': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '15': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '15': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter has an invalid value '15': must be less than 8 (GL_INVALID_VALUE)

 

Link to comment
Share on other sites

I have all the same warnings except for the "high error 2311: glGetBooleanv parameter has an invalid value", which are about unused texture units.

 

I looked through the differences of the states.

First, the normal map is properly attached to texture0 in both snapshots. I see the image, and it looks right.

Second, u_normalTexture uniform is not present in the uniform section in HMart's state.

When I'm looking through uniforms, they are all the same (all textures same), except that this one is absent on one side.

I did not notice any other major differences.

Link to comment
Share on other sites

Weird.

 

AFAIK, the shader branches depending on whether you use S3TC or RGTC. Does this imply that the driver wants you to bind the textures

for both branches regardless of whether they will be used?

 

(That is akin to ARB shader requirements and why the original Doom 3 code binds _black or _flat textures where the materials

don't have the corresponding bump or diffuse stages defined... GLSL isn't supposed to have that issue? )

Please visit TDM's IndieDB site and help promote the mod:

 

http://www.indiedb.com/mods/the-dark-mod

 

(Yeah, shameless promotion... but traffic is traffic folks...)

Link to comment
Share on other sites

AFAIK, the shader branches depending on whether you use S3TC or RGTC. Does this imply that the driver wants you to bind the textures

for both branches regardless of whether they will be used?

I don't even understand what you mean here =)

u_RGTC switch in the shader code only affects how the fetched texel is transformed mathematically. Exactly the same texture fetch happens regardless of u_RGTC setting.

There is the same normal map texture in S3TC format, attached to the same texture0 unit at the moment of rendering. But in one case the uniform u_normalTexture is set to 0 in the current state, and in the other case it is absent --- at least apitrace does not include it into state json (it may mean several things, I guess).

 

I looked through the trace: the u_normalTexture uniform is set only during initialization, after that it is never updated/modified.

Maybe try to reset it every time before rendering?

 

P.S. Does anyone knows where to report programmer's issues with AMD drivers?

I found some sort of public bug report, but it is not possible to attach apitrace there, and it looks like a place to *uck off hordes of gamers with their problems.

Link to comment
Share on other sites

HMart, could you please try this executable?

Just run it and see if it looks different on Closemouthed Shadows.

 

 

BTW, the following warnings may be relevant, although they happen on my machine too:

593599: debug: apitrace: warning: _gl_uniform_size: unknown GLenum 0x1401
apitrace: warning: _gl_uniform_size: unknown GLenum 0x1401
593599: debug: apitrace: warning: _gl_type_size: unknown GLenum 0x0000
apitrace: warning: _gl_type_size: unknown GLenum 0x0000

The apitrace tries to learn the type/size of some uniform, and its type turns out to be GL_UNSIGNED_BYTE.

Such type is not allowed for uniforms, and it is not clear how one could set it =)

On the other hand, since it happens on both machines, this may be some special well-defined case which produces this output from apitrace for some reason...

Link to comment
Share on other sites

 

P.S. Does anyone knows where to report programmer's issues with AMD drivers?

I found some sort of public bug report, but it is not possible to attach apitrace there, and it looks like a place to *uck off hordes of gamers with their problems.

 

I posted a link in the first page, is the twitter page of the AMD driver team manager he is very active on twitter and i already saw someone report problems to him there.

 

HMart, could you please try this executable?

Just run it and see if it looks different on Closemouthed Shadows.

 

 

BTW, the following warnings may be relevant, although they happen on my machine too:

593599: debug: apitrace: warning: _gl_uniform_size: unknown GLenum 0x1401
apitrace: warning: _gl_uniform_size: unknown GLenum 0x1401
593599: debug: apitrace: warning: _gl_type_size: unknown GLenum 0x0000
apitrace: warning: _gl_type_size: unknown GLenum 0x0000

The apitrace tries to learn the type/size of some uniform, and its type turns out to be GL_UNSIGNED_BYTE.

Such type is not allowed for uniforms, and it is not clear how one could set it =)

On the other hand, since it happens on both machines, this may be some special well-defined case which produces this output from apitrace for some reason...

 

Will try that and see what happens.

Link to comment
Share on other sites

I hope the original maker of this thread try this or does the traces as well, so we can see if this is really a multimachine problem or is just my machine acting up.

I would definitely be glad if he performs all the 4 steps with apitrace and report.

But can't blame him for not doing this: I know I'm asking things which are far beyond what developers can ask their players to do :unsure:

 

Anyway, I realized that while state json is true representation of things on your machine, the call results/arguments in the trace itself were recorded on my machine.

So I looked into your trace at the place where the shader is compiled and the value of u_normalTexture is set (near call 326).

 

This is what I see:

 

 

2im10qx.png

 

 

 

So your driver failed to find the location of this uniform!

I thought it somehow forgot the value of the uniform, but it never knew this uniform existed.

BTW, it also means that your trace on my machine works by lucky coincidence: u_normalTexture is zero with your trace on my machine only because zero is default value of all uniforms :laugh:

 

Now this looks suspiciously like a bug.

I guess I'll ask to do a few more things, probably even create a minimal repro code, and then pursue the "driver bug" path.

Link to comment
Share on other sites

When I run qapitrace with Stgatilov's trace file, the shadows don't render exactly the same as in my game, but lights on walls are still cut off diagonally like HMart reported. I also recorded my own trace as per point No. 4, which is here: https://www.mediafire.com/file/gdf2k1lmkcgjz11/cms.trace/file

 

I then ran the glretrace and produced a json file and err file. Here is the link for the former: https://www.mediafire.com/file/95lppr1lurpp5bi/stgatilov_call593599.json/file

And the contents of the latter:

C:\TheDarkMod\darkmod_207_beta\TheDarkModx64.exe

837: warning: WARNING: 0:3: deprecated130(#55) "attribute" is deprecated since GLSL1.3. We suggest usage of "in"
WARNING: 0:4: deprecated130(#55) "attribute" is deprecated since GLSL1.3. We suggest usage of "in"
WARNING: 0:5: deprecated130(#55) "attribute" is deprecated since GLSL1.3. We suggest usage of "in"
WARNING: 0:6: deprecated130(#55) "attribute" is deprecated since GLSL1.3. We suggest usage of "in"
WARNING: 0:7: deprecated130(#55) "attribute" is deprecated since GLSL1.3. We suggest usage of "in"
WARNING: 0:33: deprecated130(#55) "ftransform()" is deprecated since GLSL1.3. We suggest usage of "invariant"
845: warning: WARNING: 0:76: deprecated130(#55) "texture2D" is deprecated since GLSL1.3. We suggest usage of "texture"
WARNING: 0:92: deprecated130(#55) "textureCube" is deprecated since GLSL1.3. We suggest usage of "texture"
WARNING: 0:96: deprecated130(#55) "texture2DProj" is deprecated since GLSL1.3. We suggest usage of "textureProj"
WARNING: 0:97: deprecated130(#55) "texture2D" is deprecated since GLSL1.3. We suggest usage of "texture"
WARNING: 0:105: deprecated130(#55) "texture2D" is deprecated since GLSL1.3. We suggest usage of "texture"
WARNING: 0:110: deprecated130(#55) "texture2D" is deprecated since GLSL1.3. We suggest usage of "texture"
WARNING: 0:123: deprecated130(#55) "texture2D" is deprecated since GLSL1.3. We suggest usage of "texture"
WARNING: 0:127: deprecated130(#55) "texture2D" is deprecated since GLSL1.3. We suggest usage of "texture"
910: warning: WARNING: 0:3: deprecated130(#55) "attribute" is deprecated since GLSL1.3. We suggest usage of "in"
WARNING: 0:4: deprecated130(#55) "attribute" is deprecated since GLSL1.3. We suggest usage of "in"
WARNING: 0:5: deprecated130(#55) "attribute" is deprecated since GLSL1.3. We suggest usage of "in"
WARNING: 0:6: deprecated130(#55) "attribute" is deprecated since GLSL1.3. We suggest usage of "in"
WARNING: 0:7: deprecated130(#55) "attribute" is deprecated since GLSL1.3. We suggest usage of "in"
WARNING: 0:25: deprecated130(#55) "ftransform()" is deprecated since GLSL1.3. We suggest usage of "invariant"
1035: warning: WARNING: Too many temp register is used in Geometry shader, it may cause slow execution.
593599: debug: apitrace: warning: _gl_uniform_size: unknown GLenum 0x1401
apitrace: warning: _gl_uniform_size: unknown GLenum 0x1401
593599: debug: apitrace: warning: _gl_type_size: unknown GLenum 0x0000
apitrace: warning: _gl_type_size: unknown GLenum 0x0000
warning: dumping of packed attribute (attr_Color) not yet supported
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '8': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '8': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '8': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '8': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '8': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '9': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '9': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '9': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '9': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '9': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '10': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '10': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '10': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '10': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '10': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '11': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '11': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '11': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '11': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '11': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '12': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '12': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '12': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '12': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '12': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '13': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '13': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '13': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '13': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '13': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '14': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '14': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '14': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '14': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '14': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '15': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '15': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '15': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '15': must be less than 8 (GL_INVALID_VALUE)
warning: message: high error 2311: glGetBooleanv parameter <active texture> has an invalid value '15': must be less than 8 (GL_INVALID_VALUE)

I don't mind jumping through a few hoops here if it can benefit other players in the future. And even if we don't succeed, I appreciate the time you're taking to look at this problem.
Edited by Bluehawk
  • Like 3
Link to comment
Share on other sites

HMart, there is one thing you could try.

 

Here is the code of glprogs/interaction.fs:

 

 

#version 120
#extension GL_EXT_gpu_shader4: enable

//when = 1: the samples are filtered so that "halos" do not appear (new)
//     = 0: the samples are weighted based on heuristic (old)
#define ENABLE_ANTI_HALO_PATCH 1

varying vec3 var_Position;
varying vec3 var_WorldLightDir;
varying vec3 var_tc0;  
varying vec3 var_tc6;  
varying vec2 var_TexDiffuse;        
varying vec2 var_TexNormal;        
varying vec2 var_TexSpecular;       
varying vec4 var_TexLight;
varying mat3 var_TangentBitangentNormalMatrix;
varying vec4 var_Color;        
//varying vec4 var_ScreenPos;
     
uniform sampler2D u_normalTexture;
uniform sampler2D u_lightFalloffTexture;         
uniform sampler2D u_lightProjectionTexture;         
uniform samplerCube    u_lightProjectionCubemap;
uniform sampler2D u_diffuseTexture;         
uniform sampler2D u_specularTexture;        
uniform sampler2D u_depthTexture;        
uniform usampler2D u_stencilTexture;        
//uniform samplerCubeShadow u_shadowMap;
uniform samplerCube    u_shadowMap;
         
uniform vec4     u_lightOrigin;
uniform vec3     u_lightOrigin2;
uniform vec4     u_viewOrigin;
uniform vec4     u_diffuseColor;
uniform vec4     u_specularColor;

uniform float    u_shadows;    
uniform float    u_advanced;    
uniform float    u_cubic;
uniform int        u_softShadowsQuality;
uniform float    u_softShadowsRadius;
uniform int        u_shadowMipMap;
uniform vec2    u_renderResolution;
uniform mat4    u_modelMatrix;
uniform float    u_RGTC;
uniform vec3    u_hasTextureDNS;

 

 

 

1) Find the line "uniform sampler2D u_normalTexture;" and try to move it around :D

The order of these definitions does not matter, so you can swap this line with some other line, shuffle them randomly, remove unnecessary spaces, etc.

2) Also try to add a line with one more unnecessary uniform, like: uniform sampler2D wtfIwantproperlighting;

Better add it before all uniforms start, i.e. just before u_normalTexture.

3) Also try to remove one uniform sampler, so that only 8 of them remain.

This one is unused, so remove it: uniform samplerCube u_shadowMap;

After each change, run reloadGLSLprograms in game console to ensure that changes take effect.

 

I know it sounds stupid, but probably you would manage to workaround the problem.

Link to comment
Share on other sites

One more thing to do, please.

This is trying to reduce the problem to something which may be reported as a bug.

 

1) Download this archive.

Unpack it somewhere and run the exe inside.

It should display red square.

In any case, it should print some text to console: copy/paste it here.

 

2) Download this trace.

It is very small, because it is trimmed: only the first commands are included.

Run the following command:

glretrace -D 569 --dump-format json trim.trace >trim.json

And share the resulting trim.json file.

Link to comment
Share on other sites

I know I'm asking things which are far beyond what developers can ask their players to do :unsure:

I am quite impressed that both players are knowledgeable enough to go through these steps. We seem to have a well-educated fan base! :-) Thanks guys.
  • Like 1
Link to comment
Share on other sites

I am quite impressed that both players are knowledgeable enough to go through these steps. We seem to have a well-educated fan base! :-) Thanks guys.

No problem i'm glad to help, i'm also not new to modding or game engines, especially idtech 4 :).

 

HMart, there is one thing you could try.

 

Here is the code of glprogs/interaction.fs:

 

 

#version 120
#extension GL_EXT_gpu_shader4: enable

//when = 1: the samples are filtered so that "halos" do not appear (new)
//     = 0: the samples are weighted based on heuristic (old)
#define ENABLE_ANTI_HALO_PATCH 1

varying vec3 var_Position;
varying vec3 var_WorldLightDir;
varying vec3 var_tc0;  
varying vec3 var_tc6;  
varying vec2 var_TexDiffuse;        
varying vec2 var_TexNormal;        
varying vec2 var_TexSpecular;       
varying vec4 var_TexLight;
varying mat3 var_TangentBitangentNormalMatrix;
varying vec4 var_Color;        
//varying vec4 var_ScreenPos;
     
uniform sampler2D u_normalTexture;
uniform sampler2D u_lightFalloffTexture;         
uniform sampler2D u_lightProjectionTexture;         
uniform samplerCube    u_lightProjectionCubemap;
uniform sampler2D u_diffuseTexture;         
uniform sampler2D u_specularTexture;        
uniform sampler2D u_depthTexture;        
uniform usampler2D u_stencilTexture;        
//uniform samplerCubeShadow u_shadowMap;
uniform samplerCube    u_shadowMap;
         
uniform vec4     u_lightOrigin;
uniform vec3     u_lightOrigin2;
uniform vec4     u_viewOrigin;
uniform vec4     u_diffuseColor;
uniform vec4     u_specularColor;

uniform float    u_shadows;    
uniform float    u_advanced;    
uniform float    u_cubic;
uniform int        u_softShadowsQuality;
uniform float    u_softShadowsRadius;
uniform int        u_shadowMipMap;
uniform vec2    u_renderResolution;
uniform mat4    u_modelMatrix;
uniform float    u_RGTC;
uniform vec3    u_hasTextureDNS;

 

 

1) Find the line "uniform sampler2D u_normalTexture;" and try to move it around :D

The order of these definitions does not matter, so you can swap this line with some other line, shuffle them randomly, remove unnecessary spaces, etc.

2) Also try to add a line with one more unnecessary uniform, like: uniform sampler2D wtfIwantproperlighting;

Better add it before all uniforms start, i.e. just before u_normalTexture.

3) Also try to remove one uniform sampler, so that only 8 of them remain.

This one is unused, so remove it: uniform samplerCube u_shadowMap;

After each change, run reloadGLSLprograms in game console to ensure that changes take effect.

 

I know it sounds stupid, but probably you would manage to workaround the problem.

 

This unfortunately didn't solved the problem, will now try the new trace, this does look more and more like a driver bug. btw this is obvious but just in case I installed TDM 2.06, same problem.

Edited by HMart
Link to comment
Share on other sites

One more thing to do, please.

This is trying to reduce the problem to something which may be reported as a bug.

 

1) Download this archive.

Unpack it somewhere and run the exe inside.

It should display red square.

In any case, it should print some text to console: copy/paste it here.

 

CompileShader(interaction.vs): FAILED

Vertex shader failed to compile with the following errors:

ERROR: 0:63: error(#132) Syntax error: "-" parse error

ERROR: error(#273) 1 compilation errors. No code generated

 

 

FAIL: sos

 

For some reason running the exe again gives a slightly different error!

 

 

CompileShader(interaction.vs): FAILED

Vertex shader failed to compile with the following errors:
ERROR: 0:63: error(#132) Syntax error: "P" parse error
ERROR: error(#273) 1 compilation errors. No code generated
FAIL: sos
Edited by HMart
  • Like 1
Link to comment
Share on other sites

2) Download this trace.

It is very small, because it is trimmed: only the first commands are included.

Run the following command:

glretrace -D 569 --dump-format json trim.trace >trim.json

And share the resulting trim.json file.

 

Ok here is the .json file https://drive.google.com/open?id=1VcrrnhnaCfl0mrHEddK1jkbElbS-qzJg

 

 

Btw just to inform any AMD user seeing this thread that also has this problem, if you can help debug, please do so, if you can't, no problem, you can still play the game fine by working around this by disabling GLSL (until we find the problem or AMD solves the bug if that is the case), if you don't know how, here is a way, create a shortcut to the TDM 32 or 64 exe, put it anywhere you want, right click on it and on the "destination" put this after the exe "...\TheDarkModx64.exe +set r_useGLSL 0", this makes the game use the older ARB shaders and everything works fine (at least apparently), for those playing with the 2.07 beta, this will also disable the new shadow maps but you can play with stencil shadows just fine and they also need testing. :P

Edited by HMart
Link to comment
Share on other sites

Running repro.exe (GLUT test) gave me a different set of lines in the console than HMart's:

 

Uniform not found: u_modelMatrix

Uniform not found: u_shadowMap

Uniform not found: u_lightOrigin2

Uniform not found: u_shadowRect

All done.

 

 

When I ran the trim.trace file I didn't see anything render (because it's trimmed?), but it still produced a json file. https://www.mediafire.com/file/bt2zbyico4m322m/trim.json/file

  • Like 1
Link to comment
Share on other sites

Damn, it gets weirder and weirder!

 

Looking at json states for trim.trace, both of you have u_normalTexture missing, just as with full trace.

As for glut test, I'm surprised to see problem only for one of you, and even in the different shader.

 

Please download this new repro archive (delete the old one).

Run repro.exe first, repro2.exe then. Report console output for both programs.

Link to comment
Share on other sites

Repro.exe gave:

 

CompileShader(interaction.fs): FAILED

Fragment shader failed to compile with the following errors:

ERROR: 0:252: error(#132) Syntax error: "X" parse error

ERROR: error(#273) 1 compilation errors. No code generated

 

FAIL: sos

 

 

Repro2.exe gave:

 

Uniform not found: u_modelMatrix

Uniform not found: u_normalTexture

Uniform not found: u_shadowMap

Uniform not found: u_lightOrigin2

Uniform not found: u_shadowRect

All done.

 

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recent Status Updates

    • OrbWeaver

      Does anyone actually use the Normalise button in the Surface inspector? Even after looking at the code I'm not quite sure what it's for.
      · 3 replies
    • Ansome

      Turns out my 15th anniversary mission idea has already been done once or twice before! I've been beaten to the punch once again, but I suppose that's to be expected when there's over 170 FMs out there, eh? I'm not complaining though, I love learning new tricks and taking inspiration from past FMs. Best of luck on your own fan missions!
      · 4 replies
    • The Black Arrow

      I wanna play Doom 3, but fhDoom has much better features than dhewm3, yet fhDoom is old, outdated and probably not supported. Damn!
      Makes me think that TDM engine for Doom 3 itself would actually be perfect.
      · 6 replies
    • Petike the Taffer

      Maybe a bit of advice ? In the FM series I'm preparing, the two main characters have the given names Toby and Agnes (it's the protagonist and deuteragonist, respectively), I've been toying with the idea of giving them family names as well, since many of the FM series have named protagonists who have surnames. Toby's from a family who were usually farriers, though he eventually wound up working as a cobbler (this serves as a daylight "front" for his night time thieving). Would it make sense if the man's popularly accepted family name was Farrier ? It's an existing, though less common English surname, and it directly refers to the profession practiced by his relatives. Your suggestions ?
      · 9 replies
    • nbohr1more

      Looks like the "Reverse April Fools" releases were too well hidden. Darkfate still hasn't acknowledge all the new releases. Did you play any of the new April Fools missions?
      · 5 replies
×
×
  • Create New...