nir/zink: fix gs emulation xfb_info sizing

cc: mesa-stable

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24634>
(cherry picked from commit df238e8fc0)
This commit is contained in:
Mike Blumenkrantz 2023-08-07 14:18:56 -04:00 committed by Eric Engestrom
parent 0831a42465
commit b7a0833773
3 changed files with 3 additions and 3 deletions

View file

@ -580,7 +580,7 @@
"description": "nir/zink: fix gs emulation xfb_info sizing",
"nominated": true,
"nomination_type": 0,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null
},

View file

@ -175,7 +175,7 @@ nir_create_passthrough_gs(const nir_shader_compiler_options *options,
nir->info.has_transform_feedback_varyings = prev_stage->info.has_transform_feedback_varyings;
memcpy(nir->info.xfb_stride, prev_stage->info.xfb_stride, sizeof(prev_stage->info.xfb_stride));
if (prev_stage->xfb_info) {
nir->xfb_info = mem_dup(prev_stage->xfb_info, sizeof(nir_xfb_info));
nir->xfb_info = mem_dup(prev_stage->xfb_info, nir_xfb_info_size(prev_stage->xfb_info->output_count));
}
bool handle_flat = nir->info.gs.output_primitive == SHADER_PRIM_LINE_STRIP &&

View file

@ -1239,7 +1239,7 @@ zink_create_quads_emulation_gs(const nir_shader_compiler_options *options,
nir->info.has_transform_feedback_varyings = prev_stage->info.has_transform_feedback_varyings;
memcpy(nir->info.xfb_stride, prev_stage->info.xfb_stride, sizeof(prev_stage->info.xfb_stride));
if (prev_stage->xfb_info) {
nir->xfb_info = mem_dup(prev_stage->xfb_info, sizeof(nir_xfb_info));
nir->xfb_info = mem_dup(prev_stage->xfb_info, nir_xfb_info_size(prev_stage->xfb_info->output_count));
}
nir_variable *in_vars[VARYING_SLOT_MAX];