[2.1] Mesa DRI Intel(R) HD Graphics 6000 (Broadwell GT3) crash with pbs shader

Problems building or running the engine, queries about how to use features etc.
Post Reply
Boost113
Kobold
Posts: 35
Joined: Sun Sep 08, 2013 6:39 pm
x 6

[2.1] Mesa DRI Intel(R) HD Graphics 6000 (Broadwell GT3) crash with pbs shader

Post by Boost113 »

Ogre Version: 2.1 (b15bd8bdc82a)
Operating System: Linux
Render System: OpenGL 3+

Hi,
I'm back with another crash report from a player. This time it is a crash on Linux using intel HD graphics:

Code: Select all

GPU Vendor: intel
Device Name: Mesa DRI Intel(R) HD Graphics 6000 (Broadwell GT3)
Driver Version: 4.5.0.0
I've asked them to clarify which version of Mesa they have.

Here's a link to the issue on our Github (it includes the full log): https://github.com/Revolutionary-Games/ ... issues/727

Here's the crashing part (the latest version no longer writes the shader to disk but form an earlier version it looks like it is the pbs shader):

Code: Select all

    * GLSL compile log: 100000001PixelShader_ps
      0:34(42): error: syntax error, unexpected $undefined, expecting EOL
      ERROR: terminate called after throwing an instance of 'Ogre::RenderingAPIException' what(): OGRE EXCEPTION(3:RenderingAPIException): Fragment Program 100000001PixelShader_ps failed to compile. See compile log above for details. in GLSLShader::compile at /home/hhyyrylainen/Projects/Leviathan/ThirdParty/ogre/RenderSystems/GL3Plus/src/GLSL/OgreGLSLShader.cpp (line 308)
User avatar
dark_sylinc
OGRE Team Member
OGRE Team Member
Posts: 5299
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1280
Contact:

Re: [2.1] Mesa DRI Intel(R) HD Graphics 6000 (Broadwell GT3) crash with pbs shader

Post by dark_sylinc »

Mmmm... for some reason the output of the generated shader ended up being:

Code: Select all

#extension GL_ARB_texture_gather: require#extension GL_AMD_shader_trinary_minmax: require
Whereas in my machine the Hlms generates (I use Xubuntu 18.04):

Code: Select all

#extension GL_ARB_texture_gather: require

#extension GL_AMD_shader_trinary_minmax: require
Best explanation I can think of is that the template is bad somehow, or a weird C++ undefined behavior shenanigan or memory corruption. Or maybe a script performed EOL conversions on PixelShader_ps.glsl (which should not be done)

The template responsible for that snippet of code is in Samples/Media/Hlms/Pbs/GLSL/PixelShader_ps.glsl relevant part:

Code: Select all

@property( !GL430 )
@property( hlms_tex_gather )#extension GL_ARB_texture_gather: require@end
@end
@property( hlms_amd_trinary_minmax )#extension GL_AMD_shader_trinary_minmax: require@end
Adding an extra newline should fix it, however I'm curious why the generated output in his machine differs from the rest. Could the user upload his PixelShader_ps.glsl template too?

Cheers
Boost113
Kobold
Posts: 35
Joined: Sun Sep 08, 2013 6:39 pm
x 6

Re: [2.1] Mesa DRI Intel(R) HD Graphics 6000 (Broadwell GT3) crash with pbs shader

Post by Boost113 »

The link for the shader file is here: https://github.com/Revolutionary-Games/ ... -461929647

It seems fine as the hash is the exactly the same as on my computer.

Downloaded (the file from the user with problems):

Code: Select all

2c88b9bf482b5bc0660a8be766aa084bb54e4bd3da0ba0ecbfaeb91522ecde84  PixelShader_ps.glsl
My local version (which runs fine on my system):

Code: Select all

2c88b9bf482b5bc0660a8be766aa084bb54e4bd3da0ba0ecbfaeb91522ecde84  PixelShader_ps.glsl
User avatar
dark_sylinc
OGRE Team Member
OGRE Team Member
Posts: 5299
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1280
Contact:

Re: [2.1] Mesa DRI Intel(R) HD Graphics 6000 (Broadwell GT3) crash with pbs shader

Post by dark_sylinc »

I don't really understand why the rest of the machines do not have this issue (since this should not be a platform-specific bug), in fact I think everyone should be seeing this bug (why it's not then?), but if the extra newline fixes it, then I'm pushing it.

Cheers
Matias
Post Reply