diff options
author | George Kyriazis <[email protected]> | 2018-02-06 17:28:12 -0600 |
---|---|---|
committer | George Kyriazis <[email protected]> | 2018-02-16 10:54:01 -0600 |
commit | 48d62409f82050738487f15878a740f2695d8128 (patch) | |
tree | 891c07a17495067f4e95a75029b4d7ac50de5038 /src/gallium/drivers/swr | |
parent | e12db47a7ddcee6f26409b5b1dd722747560597d (diff) |
swr/rast: Fix primitive replication issue in tesselation PA.
Reviewed-by: Bruce Cherniak <[email protected]>
Diffstat (limited to 'src/gallium/drivers/swr')
-rw-r--r-- | src/gallium/drivers/swr/rasterizer/core/frontend.cpp | 4 | ||||
-rw-r--r-- | src/gallium/drivers/swr/rasterizer/core/pa.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 33533af630a..13c9f3670f7 100644 --- a/src/gallium/drivers/swr/rasterizer/core/frontend.cpp +++ b/src/gallium/drivers/swr/rasterizer/core/frontend.cpp @@ -1338,7 +1338,7 @@ static void TessellationStages( tsData.ppIndices, tsData.NumPrimitives, tsState.postDSTopology, - numVertsPerPrim); + NumVertsPerPrim(tsState.postDSTopology, false)); while (tessPa.HasWork()) { @@ -1431,7 +1431,7 @@ static void TessellationStages( pfnClipFunc(pDC, tessPa, workerId, prim_simd16, GenMask(numPrims), primID, vViewportIdx, vRtIdx); } #else - // Gather data from the SVG if provided. + // Gather data from the SGV if provided. simdscalari vViewportIdx = SIMD::setzero_si(); simdscalari vRtIdx = SIMD::setzero_si(); SIMD::Vec4 svgAttrib[4]; diff --git a/src/gallium/drivers/swr/rasterizer/core/pa.h b/src/gallium/drivers/swr/rasterizer/core/pa.h index c88b4bfd97d..ed644c044c3 100644 --- a/src/gallium/drivers/swr/rasterizer/core/pa.h +++ b/src/gallium/drivers/swr/rasterizer/core/pa.h @@ -1330,6 +1330,7 @@ struct PA_TESS : PA_STATE SWR_ASSERT(slot < m_numAttributes); SWR_ASSERT(primIndex < PA_TESS::NumPrims()); + const float* pVertDataBase = (const float*)&m_pVertexData[slot * m_attributeStrideInVectors * 4]; for (uint32_t i = 0; i < m_numVertsPerPrim; ++i) { |