Details
-
Suggestion
-
Resolution: Unresolved
-
P2: Important
-
None
-
5.15.0, 5.15.1
-
None
-
Linux with Mesa
Extended renderer info (GLX_MESA_query_renderer):
Vendor: Intel (0x8086)
Device: Mesa Intel(R) UHD Graphics 630 (CFL GT2) (0x3e9b)
Version: 20.1.7
Accelerated: yes
Video memory: 3072MB
Unified memory: yes
Preferred profile: core (0x1)
Max core profile version: 4.6
Max compat profile version: 4.6
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.2
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) UHD Graphics 630 (CFL GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.1.7
OpenGL core profile shading language version string: 4.60Linux with Mesa Extended renderer info (GLX_MESA_query_renderer): Vendor: Intel (0x8086) Device: Mesa Intel(R) UHD Graphics 630 (CFL GT2) (0x3e9b) Version: 20.1.7 Accelerated: yes Video memory: 3072MB Unified memory: yes Preferred profile: core (0x1) Max core profile version: 4.6 Max compat profile version: 4.6 Max GLES1 profile version: 1.1 Max GLES [23] profile version: 3.2 OpenGL vendor string: Intel OpenGL renderer string: Mesa Intel(R) UHD Graphics 630 (CFL GT2) OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.1.7 OpenGL core profile shading language version string: 4.60
Description
Hello,
consider the attached shaders.
When passing them through qsb (or QShaderBaker), the generated names for the structures aren't the same across vertex and fragment:
- In the vertex shader, the renderer_t instance is assigned _48.
- In the fragment shader, the material_t instance is assigned _48.
This then causes a shader link failure, with the following error (using the RHI GL backend):
Warning: Failed to link shader program: error: uniform `_48' declared as type `material_t' and type `renderer_t'.
But this does not seem to be something on which we have control as a user - the most meaningful thing would be to have a QShaderProgramBaker which would take all the stages and take the previously-generated variable names into account while baking the shaders ?