From: Tim Rowley Date: Thu, 4 Aug 2016 23:37:19 +0000 (-0600) Subject: swr: [rasterizer core] add rasterizerSampleCount to PS context X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=047493c1980deddc916294d8cb498d5e0633ad82;p=mesa.git swr: [rasterizer core] add rasterizerSampleCount to PS context Signed-off-by: Tim Rowley --- diff --git a/src/gallium/drivers/swr/rasterizer/core/backend.cpp b/src/gallium/drivers/swr/rasterizer/core/backend.cpp index 900849dd3c9..c421179d5eb 100644 --- a/src/gallium/drivers/swr/rasterizer/core/backend.cpp +++ b/src/gallium/drivers/swr/rasterizer/core/backend.cpp @@ -470,6 +470,7 @@ void BackendSingleSample(DRAW_CONTEXT *pDC, uint32_t workerId, uint32_t x, uint3 psContext.pRecipW = work.pRecipW; psContext.pSamplePosX = (const float*)&T::MultisampleT::samplePosX; psContext.pSamplePosY = (const float*)&T::MultisampleT::samplePosY; + psContext.rasterizerSampleCount = T::MultisampleT::numSamples; for(uint32_t yy = y; yy < y + KNOB_TILE_Y_DIM; yy += SIMD_TILE_Y_DIM) { @@ -660,6 +661,7 @@ void BackendSampleRate(DRAW_CONTEXT *pDC, uint32_t workerId, uint32_t x, uint32_ psContext.recipDet = work.recipDet; psContext.pSamplePosX = (const float*)&T::MultisampleT::samplePosX; psContext.pSamplePosY = (const float*)&T::MultisampleT::samplePosY; + psContext.rasterizerSampleCount = T::MultisampleT::numSamples; for (uint32_t yy = y; yy < y + KNOB_TILE_Y_DIM; yy += SIMD_TILE_Y_DIM) { @@ -880,6 +882,8 @@ void BackendPixelRate(DRAW_CONTEXT *pDC, uint32_t workerId, uint32_t x, uint32_t psContext.recipDet = work.recipDet; psContext.pSamplePosX = (const float*)&T::MultisampleT::samplePosX; psContext.pSamplePosY = (const float*)&T::MultisampleT::samplePosY; + psContext.rasterizerSampleCount = T::MultisampleT::numSamples; + psContext.sampleIndex = 0; PixelRateZTestLoop PixelRateZTest(pDC, work, coeffs, state, pDepthBase, pStencilBase, rastState.clipDistanceMask); diff --git a/src/gallium/drivers/swr/rasterizer/core/state.h b/src/gallium/drivers/swr/rasterizer/core/state.h index f2ebf92e096..a3616bce069 100644 --- a/src/gallium/drivers/swr/rasterizer/core/state.h +++ b/src/gallium/drivers/swr/rasterizer/core/state.h @@ -340,6 +340,8 @@ struct SWR_PS_CONTEXT uint32_t primID; // IN: primitive ID uint32_t sampleIndex; // IN: sampleIndex + uint32_t rasterizerSampleCount; // IN: sample count used by the rasterizer + }; //////////////////////////////////////////////////////////////////////////