diff options
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r-- | src/gallium/drivers/swr/rasterizer/core/binner.cpp | 13 | ||||
-rw-r--r-- | src/gallium/drivers/swr/rasterizer/core/clip.h | 1 |
2 files changed, 2 insertions, 12 deletions
diff --git a/src/gallium/drivers/swr/rasterizer/core/binner.cpp b/src/gallium/drivers/swr/rasterizer/core/binner.cpp index 7ef87c4443d..9aa9f9e79b1 100644 --- a/src/gallium/drivers/swr/rasterizer/core/binner.cpp +++ b/src/gallium/drivers/swr/rasterizer/core/binner.cpp @@ -1023,18 +1023,7 @@ void BinPostSetupPointsImpl( SIMD_T::store_si(reinterpret_cast<typename SIMD_T::Integer *>(aMTBottom), bbox.ymax); // store render target array index - OSALIGNSIMD16(uint32_t) aRTAI[SIMD_WIDTH]; - if (state.backendState.readRenderTargetArrayIndex) - { - typename SIMD_T::Vec4 vRtai[2]; - pa.Assemble(VERTEX_SGV_SLOT, vRtai); - typename SIMD_T::Integer vRtaii = SIMD_T::castps_si(vRtai[0][VERTEX_SGV_RTAI_COMP]); - SIMD_T::store_si(reinterpret_cast<typename SIMD_T::Integer *>(aRTAI), vRtaii); - } - else - { - SIMD_T::store_si(reinterpret_cast<typename SIMD_T::Integer *>(aRTAI), SIMD_T::setzero_si()); - } + const uint32_t *aRTAI = reinterpret_cast<const uint32_t *>(&rtIdx); OSALIGNSIMD16(float) aPointSize[SIMD_WIDTH]; SIMD_T::store_ps(reinterpret_cast<float *>(aPointSize), vPointSize); diff --git a/src/gallium/drivers/swr/rasterizer/core/clip.h b/src/gallium/drivers/swr/rasterizer/core/clip.h index e5e00d49b02..592c9bfa73e 100644 --- a/src/gallium/drivers/swr/rasterizer/core/clip.h +++ b/src/gallium/drivers/swr/rasterizer/core/clip.h @@ -646,6 +646,7 @@ public: PA_STATE_OPT clipPA(pDC, numEmittedPrims, reinterpret_cast<uint8_t *>(&transposedPrims[0]), numEmittedVerts, SWR_VTX_NUM_SLOTS, true, NumVertsPerPrim, clipTopology); clipPA.viewportArrayActive = pa.viewportArrayActive; + clipPA.rtArrayActive = pa.rtArrayActive; static const uint32_t primMaskMap[] = { 0x0, 0x1, 0x3, 0x7, 0xf, 0x1f, 0x3f, 0x7f }; |