mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-04 15:40:11 +01:00
v3d: mark FRAG_RESULT_COLOR as output_written on SAND blits FS
With the introduction of "v3d: Add support for 16bit normalised
formats" https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35820
nir_lower_fragcolor is always called if shaders outputs_written shows
that FRAG_RESULT_COLOR is used.
But on SAND8/30 blit fragment shaders although the FRAG_RESULT_COLOR
is used, it was not marked as output_written so the lowering was not
applied.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14141
Fixes: ee48e81b26 ("v3d: Always lower frag color")
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37949>
This commit is contained in:
parent
aa96444149
commit
a131530dd1
1 changed files with 2 additions and 0 deletions
|
|
@ -690,6 +690,7 @@ v3d_get_sand8_fs(struct pipe_context *pctx, int cpp)
|
|||
nir_variable_create(b.shader, nir_var_shader_out,
|
||||
vec4, "f_color");
|
||||
color_out->data.location = FRAG_RESULT_COLOR;
|
||||
b.shader->info.outputs_written |= BITFIELD_BIT(FRAG_RESULT_COLOR);
|
||||
|
||||
nir_variable *pos_in =
|
||||
nir_variable_create(b.shader, nir_var_shader_in, vec4, "pos");
|
||||
|
|
@ -998,6 +999,7 @@ v3d_get_sand30_fs(struct pipe_context *pctx)
|
|||
nir_var_shader_out,
|
||||
glsl_uvec4, "f_color");
|
||||
color_out->data.location = FRAG_RESULT_COLOR;
|
||||
b.shader->info.outputs_written |= BITFIELD_BIT(FRAG_RESULT_COLOR);
|
||||
|
||||
nir_variable *pos_in =
|
||||
nir_variable_create(b.shader, nir_var_shader_in, vec4, "pos");
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue