On 29.09.2015 23:54, Marek Olšák wrote: > From: Marek Olšák <marek.ol...@amd.com> > > This can cause incorrect address calculations and hangs. > > Cc: mesa-sta...@lists.freedesktop.org
IIRC without "10.6 11.0" this only makes it a candidate for the 11.0 branch at this point[0]. Is that your intention? [0] If so, maybe the rules should be changed such that no specific version means it's a candidate for all active stable branches? > diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c > b/src/gallium/drivers/radeonsi/si_descriptors.c > index b07ab3b..0ced6c3 100644 > --- a/src/gallium/drivers/radeonsi/si_descriptors.c > +++ b/src/gallium/drivers/radeonsi/si_descriptors.c > @@ -619,11 +619,14 @@ void si_set_ring_buffer(struct pipe_context *ctx, uint > shader, uint slot, > S_008F0C_DST_SEL_Z(V_008F0C_SQ_SEL_Z) | > S_008F0C_DST_SEL_W(V_008F0C_SQ_SEL_W) | > S_008F0C_NUM_FORMAT(V_008F0C_BUF_NUM_FORMAT_FLOAT) | > - S_008F0C_DATA_FORMAT(V_008F0C_BUF_DATA_FORMAT_32) | > S_008F0C_ELEMENT_SIZE(element_size) | > S_008F0C_INDEX_STRIDE(index_stride) | > S_008F0C_ADD_TID_ENABLE(add_tid); > > + /* If ADD_TID_ENABLE is set, DATA_FORMAT specifies STRIDE bits > [14:17] */ > + if (sctx->b.chip_class >= VI && !add_tid) > + desc[3] |= > S_008F0C_DATA_FORMAT(V_008F0C_BUF_DATA_FORMAT_32); > + > pipe_resource_reference(&buffers->buffers[slot], buffer); > radeon_add_to_buffer_list(&sctx->b, &sctx->b.rings.gfx, > (struct r600_resource*)buffer, > Since the DATA_FORMAT behaviour only changed as of VI, I think this should be: /* If ADD_TID_ENABLE is set, DATA_FORMAT specifies STRIDE bits [14:17] on VI */ if (sctx->b.chip_class < VI || !add_tid) desc[3] |= S_008F0C_DATA_FORMAT(V_008F0C_BUF_DATA_FORMAT_32); -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Mesa and X developer _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev