Mesa (master): swr/rast: Change DS memory allocation

Tim Rowley torowley at kemper.freedesktop.org
Thu Oct 19 18:21:20 UTC 2017


Module: Mesa
Branch: master
Commit: 49090ccf54798f7c9081f9b20d0ed0d0433ec026
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=49090ccf54798f7c9081f9b20d0ed0d0433ec026

Author: Tim Rowley <timothy.o.rowley at intel.com>
Date:   Wed Oct 11 16:21:21 2017 -0500

swr/rast: Change DS memory allocation

Reviewed-by: Bruce Cherniak <bruce.cherniak at intel.com>

---

 src/gallium/drivers/swr/rasterizer/core/frontend.cpp | 4 ++--
 src/gallium/drivers/swr/rasterizer/core/state.h      | 1 +
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/swr/rasterizer/core/frontend.cpp b/src/gallium/drivers/swr/rasterizer/core/frontend.cpp
index a803512b7c..211e9e4b07 100644
--- a/src/gallium/drivers/swr/rasterizer/core/frontend.cpp
+++ b/src/gallium/drivers/swr/rasterizer/core/frontend.cpp
@@ -1212,9 +1212,9 @@ static void TessellationStages(
         // Allocate DS Output memory
         uint32_t requiredDSVectorInvocations = AlignUp(tsData.NumDomainPoints, KNOB_SIMD_WIDTH) / KNOB_SIMD_WIDTH;
 #if USE_SIMD16_FRONTEND
-        size_t requiredAllocSize = sizeof(simdvector) * RoundUpEven(requiredDSVectorInvocations) * tsState.numDsOutputAttribs;      // simd8 -> simd16, padding
+        size_t requiredAllocSize = sizeof(simdvector) * RoundUpEven(requiredDSVectorInvocations) * tsState.dsAllocationSize;      // simd8 -> simd16, padding
 #else
-        size_t requiredDSOutputVectors = requiredDSVectorInvocations * tsState.numDsOutputAttribs;
+        size_t requiredDSOutputVectors = requiredDSVectorInvocations * tsState.dsAllocationSize;
         size_t requiredAllocSize = sizeof(simdvector) * requiredDSOutputVectors;
 #endif
         if (requiredAllocSize > gt_pTessellationThreadData->dsOutputAllocSize)
diff --git a/src/gallium/drivers/swr/rasterizer/core/state.h b/src/gallium/drivers/swr/rasterizer/core/state.h
index d9450fcbd7..2af384fd90 100644
--- a/src/gallium/drivers/swr/rasterizer/core/state.h
+++ b/src/gallium/drivers/swr/rasterizer/core/state.h
@@ -818,6 +818,7 @@ struct SWR_TS_STATE
     uint32_t                numHsInputAttribs;
     uint32_t                numHsOutputAttribs;
     uint32_t                numDsOutputAttribs;
+    uint32_t                dsAllocationSize;
 
     // Offset to the start of the attributes of the input vertices, in simdvector units
     uint32_t                vertexAttribOffset;




More information about the mesa-commit mailing list