v3d: use GS_BIN inputs as VS_BIN outputs

When creating the Vextex Shader bin, only store outputs that will be
read later as inputs by the Geometry Shader bin.

This fixes
KHR-GLES31.core.geometry_shader.rendering.rendering.lines_input_triangle_strip_output_line_loop_drawcall
(exposed by previous commit).

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10129>
This commit is contained in:
Juan A. Suarez Romero
2021-04-08 18:27:10 +02:00
committed by Marge Bot
parent 64943f2063
commit d69d8817c9
+6
View File
@@ -802,6 +802,12 @@ v3d_update_compiled_vs(struct v3d_context *v3d, uint8_t prim_mode)
0, tail_bytes);
}
key->num_used_outputs = shader_state->num_tf_outputs;
} else {
key->num_used_outputs = v3d->prog.gs_bin->prog_data.gs->num_inputs;
STATIC_ASSERT(sizeof(key->used_outputs) ==
sizeof(v3d->prog.gs_bin->prog_data.gs->input_slots));
memcpy(key->used_outputs, v3d->prog.gs_bin->prog_data.gs->input_slots,
sizeof(key->used_outputs));
}
struct v3d_compiled_shader *cs =