Module: Mesa
Branch: main
Commit: 45eaf6c00271ca9ff552df716df7d89ee9ab93af
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=45eaf6c00271ca9ff552df716df7d89ee9ab93af

Author: Dave Airlie <[email protected]>
Date:   Thu Dec  7 16:42:51 2023 +1000

nvk/nak/xfb: handle skipping properly when setting xfb_attr.

The code treated 0x00 and 0xff the same, but they aren't,
port over the codegen code.

Fixes 
GTF-GL45.gtf40.GL3Tests.transform_feedback3.transform_feedback3_skip_components
with zink on nvk

v2: drop padding to 0, tests still pass.

Fixes: 30f01c47c245 ("nak: Translate XFB info")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26559>

---

 src/nouveau/compiler/nak_nir.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/nouveau/compiler/nak_nir.c b/src/nouveau/compiler/nak_nir.c
index ab890c69726..ab3f155143e 100644
--- a/src/nouveau/compiler/nak_nir.c
+++ b/src/nouveau/compiler/nak_nir.c
@@ -539,6 +539,7 @@ nak_xfb_from_nir(const struct nir_xfb_info *nir_xfb)
       nak_xfb.stride[b] = nir_xfb->buffers[b].stride;
       nak_xfb.stream[b] = nir_xfb->buffer_to_stream[b];
    }
+   memset(nak_xfb.attr_index, 0xff, sizeof(nak_xfb.attr_index)); /* = skip */
 
    for (unsigned o = 0; o < nir_xfb->output_count; o++) {
       const nir_xfb_output_info *out = &nir_xfb->outputs[o];

Reply via email to