swr/rast: Binner fixes for viewport index offset handling
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
This commit is contained in:
parent
f2e3900a1e
commit
0e9e247687
|
@ -470,6 +470,10 @@ void SIMDCALL BinTrianglesImpl(
|
|||
typename SIMD_T::Integer vClearMask = SIMD_T::cmplt_epi32(vpai, vNumViewports);
|
||||
viewportIdx = SIMD_T::and_si(vClearMask, vpai);
|
||||
}
|
||||
else
|
||||
{
|
||||
viewportIdx = vpai;
|
||||
}
|
||||
|
||||
if (feState.vpTransformDisable)
|
||||
{
|
||||
|
@ -1326,6 +1330,10 @@ void BinPointsImpl(
|
|||
typename SIMD_T::Integer vClearMask = SIMD_T::cmplt_epi32(vpai, vNumViewports);
|
||||
viewportIdx = SIMD_T::and_si(vClearMask, vpai);
|
||||
}
|
||||
else
|
||||
{
|
||||
viewportIdx = vpai;
|
||||
}
|
||||
|
||||
if (!feState.vpTransformDisable)
|
||||
{
|
||||
|
@ -1647,7 +1655,6 @@ void SIMDCALL BinLinesImpl(
|
|||
if (state.backendState.readViewportArrayIndex)
|
||||
{
|
||||
pa.Assemble(VERTEX_SGV_SLOT, vpiAttrib);
|
||||
|
||||
vpai = SIMD_T::castps_si(vpiAttrib[0][VERTEX_SGV_VAI_COMP]);
|
||||
}
|
||||
|
||||
|
|
|
@ -694,7 +694,6 @@ public:
|
|||
if (state.backendState.readViewportArrayIndex)
|
||||
{
|
||||
pa.Assemble(VERTEX_SGV_SLOT, vpiAttrib);
|
||||
|
||||
vpai = SIMD_T::castps_si(vpiAttrib[0][VERTEX_SGV_VAI_COMP]);
|
||||
}
|
||||
|
||||
|
@ -707,6 +706,10 @@ public:
|
|||
typename SIMD_T::Integer vClearMask = SIMD_T::cmplt_epi32(vpai, vNumViewports);
|
||||
viewportIdx = SIMD_T::and_si(vClearMask, vpai);
|
||||
}
|
||||
else
|
||||
{
|
||||
viewportIdx = vpai;
|
||||
}
|
||||
|
||||
ComputeClipCodes(prim, viewportIdx);
|
||||
|
||||
|
|
Loading…
Reference in New Issue