diff --git a/src/compiler/glsl/gl_nir_link_xfb.c b/src/compiler/glsl/gl_nir_link_xfb.c index a611d24b5e5..3492ccdc5a9 100644 --- a/src/compiler/glsl/gl_nir_link_xfb.c +++ b/src/compiler/glsl/gl_nir_link_xfb.c @@ -208,7 +208,7 @@ gl_to_nir_xfb_info(struct gl_transform_feedback_info *info, void *mem_ctx) xfb->output_count = info->NumOutputs; for (unsigned i = 0; i < MAX_FEEDBACK_BUFFERS; i++) { - xfb->buffers[i].stride = info->Buffers[i].Stride; + xfb->buffers[i].stride = info->Buffers[i].Stride * 4; xfb->buffers[i].varying_count = info->Buffers[i].NumVaryings; xfb->buffer_to_stream[i] = info->Buffers[i].Stream; } diff --git a/src/compiler/nir/nir_lower_io.c b/src/compiler/nir/nir_lower_io.c index 1e9e60d7b49..8554bcd407b 100644 --- a/src/compiler/nir/nir_lower_io.c +++ b/src/compiler/nir/nir_lower_io.c @@ -2950,7 +2950,7 @@ nir_add_xfb_info(nir_shader *nir) bool progress = false; for (unsigned i = 0; i < NIR_MAX_XFB_BUFFERS; i++) - nir->info.xfb_stride[i] = nir->xfb_info->buffers[i].stride; + nir->info.xfb_stride[i] = nir->xfb_info->buffers[i].stride / 4; nir_foreach_block (block, impl) { nir_foreach_instr_safe (instr, block) {