swr/rast: cache line align hottile buffers
Prevents unalignment crashes with avx512 code on gcc/clang. Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
This commit is contained in:
@@ -100,7 +100,7 @@ HOTTILE* HotTileMgr::GetHotTile(SWR_CONTEXT* pContext, DRAW_CONTEXT* pDC, uint32
|
||||
{
|
||||
uint32_t size = numSamples * mHotTileSize[attachment];
|
||||
uint32_t numaNode = ((x ^ y) & pContext->threadPool.numaMask);
|
||||
hotTile.pBuffer = (uint8_t*)AllocHotTileMem(size, KNOB_SIMD_WIDTH * 4, numaNode);
|
||||
hotTile.pBuffer = (uint8_t*)AllocHotTileMem(size, 64, numaNode);
|
||||
hotTile.state = HOTTILE_INVALID;
|
||||
hotTile.numSamples = numSamples;
|
||||
hotTile.renderTargetArrayIndex = renderTargetArrayIndex;
|
||||
@@ -124,7 +124,7 @@ HOTTILE* HotTileMgr::GetHotTile(SWR_CONTEXT* pContext, DRAW_CONTEXT* pDC, uint32
|
||||
|
||||
uint32_t size = numSamples * mHotTileSize[attachment];
|
||||
uint32_t numaNode = ((x ^ y) & pContext->threadPool.numaMask);
|
||||
hotTile.pBuffer = (uint8_t*)AllocHotTileMem(size, KNOB_SIMD_WIDTH * 4, numaNode);
|
||||
hotTile.pBuffer = (uint8_t*)AllocHotTileMem(size, 64, numaNode);
|
||||
hotTile.state = HOTTILE_INVALID;
|
||||
hotTile.numSamples = numSamples;
|
||||
}
|
||||
@@ -194,7 +194,7 @@ HOTTILE* HotTileMgr::GetHotTileNoLoad(
|
||||
if (create)
|
||||
{
|
||||
uint32_t size = numSamples * mHotTileSize[attachment];
|
||||
hotTile.pBuffer = (uint8_t*)AlignedMalloc(size, KNOB_SIMD_WIDTH * 4);
|
||||
hotTile.pBuffer = (uint8_t*)AlignedMalloc(size, 64);
|
||||
hotTile.state = HOTTILE_INVALID;
|
||||
hotTile.numSamples = numSamples;
|
||||
hotTile.renderTargetArrayIndex = 0;
|
||||
|
||||
Reference in New Issue
Block a user