From: Iago Toral Quiroga Date: Thu, 19 Sep 2019 11:36:30 +0000 (+0200) Subject: v3d: fix packet descriptions for geometry and tessellation shaders X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0934bd44602625733f937c3daa36c136ba1f47c6;p=mesa.git v3d: fix packet descriptions for geometry and tessellation shaders Every code address starts at bit 3 (addresses must be 64-bit aligned), with the first 3 bits used to specify threading and NaN propagation parameters for the shader program. We generally skip "reserved" bits, however, doing this when the reserved field is the last in a struct and it is large enough can make us compute incorrect (smaller) struct sizes which can lead to corrupt CLs. In particular, the "Tess/Geom Common Params" struct has a reserved field at the end that is 8-bit, so if we don't include this we compute a packet size that is 1 byte smaller than it shold, making the next packet we emit start 1 byte earlier and therefore leading to incorrect CL data from that point forward. The name of one of the fields was not correct. Reviewed-by: Alejandro PiƱeiro --- diff --git a/src/broadcom/cle/v3d_packet_v33.xml b/src/broadcom/cle/v3d_packet_v33.xml index 10ed844e23b..d9caac61f81 100644 --- a/src/broadcom/cle/v3d_packet_v33.xml +++ b/src/broadcom/cle/v3d_packet_v33.xml @@ -1300,24 +1300,39 @@ - - - - + + + + - + + + + - + + + + - + + + + - + + + + - + + + + @@ -1348,6 +1363,11 @@ + + + @@ -1373,7 +1393,7 @@ - +