swr/rast: Use binner topology to assemble backend attributes
authorGeorge Kyriazis <george.kyriazis@intel.com>
Thu, 26 Apr 2018 21:12:24 +0000 (16:12 -0500)
committerGeorge Kyriazis <george.kyriazis@intel.com>
Fri, 11 May 2018 16:21:52 +0000 (11:21 -0500)
Previously was using the draw topology, which may change if GS or Tess
are active. Only affected attributes marked with constant interpolation,
which limited the impact.

Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
src/gallium/drivers/swr/rasterizer/core/binner.cpp

index 9f8dc887aa6457859fc9c15748613c8e00a76a1c..7b9c20ef802b45bfd5249808c4cc94d875962442 100644 (file)
@@ -81,7 +81,7 @@ INLINE void ProcessAttributes(
     // Conservative Rasterization requires degenerate tris to have constant attribute interpolation
     uint32_t constantInterpMask = IsDegenerate::value ? 0xFFFFFFFF : backendState.constantInterpolationMask;
     const uint32_t provokingVertex = pDC->pState->state.frontendState.topologyProvokingVertex;
-    const PRIMITIVE_TOPOLOGY topo = pDC->pState->state.topology;
+    const PRIMITIVE_TOPOLOGY topo = pa.binTopology;
 
     static const float constTable[3][4] = {
         { 0.0f, 0.0f, 0.0f, 0.0f },