[Mesa-dev] [PATCH 4/4] util/tgsi: use ASSERT_BITFIELD_SIZE() to check opcode field size

Brian Paul brianp at vmware.com
Wed Nov 8 00:07:02 UTC 2017


I've noticed at least two places where we store the TGSI opcode in
an unsigned:8 bitfield.  We're at 249 opcodes now.  If we hit 256 we'll
need to grow those bitfields.  Use the new ASSERT_BITFIELD_SIZE() macro
to detect that.
---
 src/gallium/auxiliary/tgsi/tgsi_info.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/gallium/auxiliary/tgsi/tgsi_info.c b/src/gallium/auxiliary/tgsi/tgsi_info.c
index 4e39950..23dc95a 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_info.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_info.c
@@ -27,6 +27,7 @@
 
 #include "util/u_debug.h"
 #include "util/u_memory.h"
+#include "util/bitfield_assert.h"
 #include "tgsi_info.h"
 
 #define NONE TGSI_OUTPUT_NONE
@@ -55,6 +56,8 @@ tgsi_get_opcode_info( uint opcode )
 {
    static boolean firsttime = 1;
 
+   ASSERT_BITFIELD_SIZE(struct tgsi_opcode_info, opcode, TGSI_OPCODE_LAST - 1);
+
    if (firsttime) {
       unsigned i;
       firsttime = 0;
-- 
1.9.1



More information about the mesa-dev mailing list