mesa/st/program: don't init xfb info if there are no outputs

this is almost certainly a failure case, but drivers still shouldn't
get xfb info if there are no outputs

affects:
spec@glsl-1.50@execution@interface-blocks-api-access-members

cc: mesa-stable

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22448>
(cherry picked from commit a86c710ce5)

Conflicts:
	src/gallium/drivers/zink/ci/zink-anv-tgl-fails.txt
	src/gallium/drivers/zink/ci/zink-radv-navi10-fails.txt
	src/gallium/drivers/zink/ci/zink-radv-vangogh-fails.txt
This commit is contained in:
Mike Blumenkrantz 2023-04-12 12:57:13 -04:00 committed by Dylan Baker
parent 6a2f04896e
commit 8683404fa1
2 changed files with 6 additions and 1 deletions

View file

@ -3204,7 +3204,7 @@
"description": "mesa/st/program: don't init xfb info if there are no outputs",
"nominated": true,
"nomination_type": 0,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null,
"notes": null

View file

@ -476,6 +476,11 @@ st_translate_stream_output_info(struct gl_program *prog)
struct pipe_stream_output_info *so_info =
&prog->state.stream_output;
if (!num_outputs) {
so_info->num_outputs = 0;
return;
}
for (unsigned i = 0; i < info->NumOutputs; i++) {
so_info->output[i].register_index =
output_mapping[info->Outputs[i].OutputRegister];