glsl: do not call link_xfb_stride_layout_qualifiers() for fragment shaders
xfb only applies to the latest stage before the fragment shader, so there is no need to invoke it in the fragment shader. Fixes: KHR-GL45.enhanced_layouts.xfb_stride_of_empty_list KHR-GL45.enhanced_layouts.xfb_stride_of_empty_list_and_api v2: do reset only if shaders provide an explicit stride v3: do not call link_xfb_stride_layout_qualifiers() for fragment shaders (Timothy) Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com> Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
This commit is contained in:
@@ -2251,8 +2251,11 @@ link_intrastage_shaders(void *mem_ctx,
|
||||
link_tes_in_layout_qualifiers(prog, gl_prog, shader_list, num_shaders);
|
||||
link_gs_inout_layout_qualifiers(prog, gl_prog, shader_list, num_shaders);
|
||||
link_cs_input_layout_qualifiers(prog, gl_prog, shader_list, num_shaders);
|
||||
link_xfb_stride_layout_qualifiers(ctx, prog, linked, shader_list,
|
||||
num_shaders);
|
||||
|
||||
if (linked->Stage != MESA_SHADER_FRAGMENT)
|
||||
link_xfb_stride_layout_qualifiers(ctx, prog, linked, shader_list,
|
||||
num_shaders);
|
||||
|
||||
link_bindless_layout_qualifiers(prog, gl_prog, shader_list, num_shaders);
|
||||
|
||||
populate_symbol_table(linked);
|
||||
|
||||
Reference in New Issue
Block a user