[Mesa-dev] [PATCH 20/31] swr/rast: Fix primitive replication issue in tesselation PA.
George Kyriazis
george.kyriazis at intel.com
Tue Feb 13 22:42:38 UTC 2018
---
src/gallium/drivers/swr/rasterizer/core/frontend.cpp | 4 ++--
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 33533af..13c9f36 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 c88b4bf..ed644c0 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)
{
--
2.7.4
More information about the mesa-dev
mailing list