diff --git a/.pick_status.json b/.pick_status.json index 28db2834bb2..5c379f06929 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -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 diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c index 75c00ae1fce..b4908d433da 100644 --- a/src/mesa/state_tracker/st_program.c +++ b/src/mesa/state_tracker/st_program.c @@ -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];