swr: [rasterizer core] Guard against enquing work to invalid hot tiles
authorTim Rowley <timothy.o.rowley@intel.com>
Fri, 11 Mar 2016 01:20:07 +0000 (19:20 -0600)
committerTim Rowley <timothy.o.rowley@intel.com>
Fri, 25 Mar 2016 19:43:15 +0000 (14:43 -0500)
src/gallium/drivers/swr/rasterizer/core/tilemgr.cpp

index 09cc23e5db7e0cea88c7c914c2e4b61586dffa1a..ac2117bf4a447ebd79c37ab10bd91e75da1f54f0 100644 (file)
@@ -74,6 +74,11 @@ void MacroTileMgr::enqueue(uint32_t x, uint32_t y, BE_WORK *pWork)
     SWR_ASSERT(x < KNOB_NUM_HOT_TILES_X);
     SWR_ASSERT(y < KNOB_NUM_HOT_TILES_Y);
 
+    if ((x & ~(KNOB_NUM_HOT_TILES_X-1)) | (y & ~(KNOB_NUM_HOT_TILES_Y-1)))
+    {
+        return;
+    }
+
     uint32_t id = TILE_ID(x, y);
 
     MacroTileQueue &tile = mTiles[id];