swr/rast: Change DS memory allocation

Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
This commit is contained in:
Tim Rowley 2017-10-11 16:21:21 -05:00
parent 04ea03d99d
commit 49090ccf54
2 changed files with 3 additions and 2 deletions

View file

@ -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)

View file

@ -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;