glsl: drop extra optimise swizzles call
As per the comment this was meant to tidy things up after varying linking but varying linking has been moved into a nir based linker so this extra call is no longer needed. This optimisation pass is still called in the regular glsl ir optimisation loop. No shader-db change on Iris (BDW). Reviewed-by: Emma Anholt <emma@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16880>
This commit is contained in:

committed by
Marge Bot

parent
7af5929b54
commit
f00be793e4
@@ -3926,16 +3926,6 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog)
|
|||||||
&ctx->Extensions, ctx->API, prog, mem_ctx))
|
&ctx->Extensions, ctx->API, prog, mem_ctx))
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
/* Linking varyings can cause some extra, useless swizzles to be generated
|
|
||||||
* due to packing and unpacking.
|
|
||||||
*/
|
|
||||||
for (unsigned i = 0; i < MESA_SHADER_STAGES; i++) {
|
|
||||||
if (prog->_LinkedShaders[i] == NULL)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
optimize_swizzles(prog->_LinkedShaders[i]->ir);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* OpenGL ES < 3.1 requires that a vertex shader and a fragment shader both
|
/* OpenGL ES < 3.1 requires that a vertex shader and a fragment shader both
|
||||||
* be present in a linked program. GL_ARB_ES2_compatibility doesn't say
|
* be present in a linked program. GL_ARB_ES2_compatibility doesn't say
|
||||||
* anything about shader linking when one of the shaders (vertex or
|
* anything about shader linking when one of the shaders (vertex or
|
||||||
|
Reference in New Issue
Block a user