iris: fix overhead regression from "don't stomp each other's dirty bits"
authorKenneth Graunke <kenneth@whitecape.org>
Sat, 3 Nov 2018 14:24:54 +0000 (07:24 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 21 Feb 2019 18:26:09 +0000 (10:26 -0800)
The change from dirty = 0ull to dirty &= ~NOT_MY_BITS broke the "nothing
to do?  skip it!" optimization.  thanks to Chris for noticing this!

src/gallium/drivers/iris/iris_state.c

index be7ca83d4b32e57ffd1b370ed190719bc493b0ce..859c96717bcddc650e0c38c7b21addf06c44f4c9 100644 (file)
@@ -3766,7 +3766,7 @@ iris_upload_dirty_render_state(struct iris_context *ice,
 {
    const uint64_t dirty = ice->state.dirty;
 
-   if (!dirty)
+   if (!(dirty & IRIS_ALL_DIRTY_FOR_RENDER))
       return;
 
    struct iris_genx_state *genx = ice->state.genx;