summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlia Mirkin <[email protected]>2016-11-17 19:48:30 -0500
committerIlia Mirkin <[email protected]>2016-11-23 20:33:36 -0500
commitcec515999ccf224a967f00c4bc2c3e47d782d65e (patch)
tree567a2a4812594dee5f25ca582727d194a445e4f8
parent74943db82c9b559ddad8773822ade93eafb24849 (diff)
swr: [rasterizer core] clear data now comes in as float
The non-fast-clear path was never updated after clear colors were passed in as floats. Remove the now-harmful conversion from unorm8. Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Tim Rowley <[email protected]>
-rw-r--r--src/gallium/drivers/swr/rasterizer/core/backend.cpp14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/gallium/drivers/swr/rasterizer/core/backend.cpp b/src/gallium/drivers/swr/rasterizer/core/backend.cpp
index 24779d44a09..c4e1dfdb90c 100644
--- a/src/gallium/drivers/swr/rasterizer/core/backend.cpp
+++ b/src/gallium/drivers/swr/rasterizer/core/backend.cpp
@@ -285,17 +285,11 @@ void ProcessClearBE(DRAW_CONTEXT *pDC, uint32_t workerId, uint32_t macroTile, vo
if (pClear->attachmentMask & SWR_ATTACHMENT_MASK_COLOR)
{
- /// @todo clear data should come in as RGBA32_FLOAT
DWORD clearData[4];
- float clearFloat[4];
- clearFloat[0] = ((uint8_t*)(&pClear->clearRTColor))[0] / 255.0f;
- clearFloat[1] = ((uint8_t*)(&pClear->clearRTColor))[1] / 255.0f;
- clearFloat[2] = ((uint8_t*)(&pClear->clearRTColor))[2] / 255.0f;
- clearFloat[3] = ((uint8_t*)(&pClear->clearRTColor))[3] / 255.0f;
- clearData[0] = *(DWORD*)&clearFloat[0];
- clearData[1] = *(DWORD*)&clearFloat[1];
- clearData[2] = *(DWORD*)&clearFloat[2];
- clearData[3] = *(DWORD*)&clearFloat[3];
+ clearData[0] = *(DWORD*)&(pClear->clearRTColor[0]);
+ clearData[1] = *(DWORD*)&(pClear->clearRTColor[1]);
+ clearData[2] = *(DWORD*)&(pClear->clearRTColor[2]);
+ clearData[3] = *(DWORD*)&(pClear->clearRTColor[3]);
PFN_CLEAR_TILES pfnClearTiles = sClearTilesTable[KNOB_COLOR_HOT_TILE_FORMAT];
SWR_ASSERT(pfnClearTiles != nullptr);