typename SIMD_T::Integer vClearMask = SIMD_T::cmplt_epi32(vpai, vNumViewports);
viewportIdx = SIMD_T::and_si(vClearMask, vpai);
}
+ else
+ {
+ viewportIdx = vpai;
+ }
if (feState.vpTransformDisable)
{
typename SIMD_T::Integer vClearMask = SIMD_T::cmplt_epi32(vpai, vNumViewports);
viewportIdx = SIMD_T::and_si(vClearMask, vpai);
}
+ else
+ {
+ viewportIdx = vpai;
+ }
if (!feState.vpTransformDisable)
{
if (state.backendState.readViewportArrayIndex)
{
pa.Assemble(VERTEX_SGV_SLOT, vpiAttrib);
-
vpai = SIMD_T::castps_si(vpiAttrib[0][VERTEX_SGV_VAI_COMP]);
}
if (state.backendState.readViewportArrayIndex)
{
pa.Assemble(VERTEX_SGV_SLOT, vpiAttrib);
-
vpai = SIMD_T::castps_si(vpiAttrib[0][VERTEX_SGV_VAI_COMP]);
}
typename SIMD_T::Integer vClearMask = SIMD_T::cmplt_epi32(vpai, vNumViewports);
viewportIdx = SIMD_T::and_si(vClearMask, vpai);
}
+ else
+ {
+ viewportIdx = vpai;
+ }
ComputeClipCodes(prim, viewportIdx);