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:
Timothy Arceri
2022-06-06 12:57:08 +10:00
committed by Marge Bot
parent 7af5929b54
commit f00be793e4

View File

@@ -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