[Mesa-dev] [PATCH v2 05/17] swr/rast: disable buffer overrun warning for Assemble()

Tim Rowley timothy.o.rowley at intel.com
Wed Apr 26 18:33:06 UTC 2017


Disabling buffer overrun warning for Assemble(uint32_t slot,
simdvector *verts) due to what looks like a MSVC compiler bug
when compiling the SIMD16 FE.
---
 src/gallium/drivers/swr/rasterizer/core/pa.h | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/swr/rasterizer/core/pa.h b/src/gallium/drivers/swr/rasterizer/core/pa.h
index 781c094..10570f4 100644
--- a/src/gallium/drivers/swr/rasterizer/core/pa.h
+++ b/src/gallium/drivers/swr/rasterizer/core/pa.h
@@ -645,7 +645,9 @@ struct PA_STATE_CUT : public PA_STATE
         }
     }
 
-    bool Assemble(uint32_t slot, simdvector verts[])
+// disabling buffer overrun warning for this function for what appears to be a bug in MSVC 2017
+PRAGMA_WARNING_PUSH_DISABLE(4789)
+    bool Assemble(uint32_t slot, simdvector *verts)
     {
         // process any outstanding verts
         ProcessVerts();
@@ -689,9 +691,9 @@ struct PA_STATE_CUT : public PA_STATE
                 pBase += SIMD_WIDTH;
             }
         }
-
         return true;
     }
+PRAGMA_WARNING_POP()
 
 #if ENABLE_AVX512_SIMD16
     bool Assemble_simd16(uint32_t slot, simd16vector verts[])
-- 
2.7.4



More information about the mesa-dev mailing list