---
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 a803512..211e9e4 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 d9450fc..2af384f 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;
--
2.7.4
_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev