anv/cmd_buffer: make descriptors dirty when emitting base state address
authorIago Toral Quiroga <itoral@igalia.com>
Thu, 28 Jun 2018 11:12:53 +0000 (13:12 +0200)
committerIago Toral Quiroga <itoral@igalia.com>
Mon, 2 Jul 2018 06:31:20 +0000 (08:31 +0200)
Every time we emit a new state base address we will need to re-emit our
binding tables, since they might have been emitted with a different base
state adress.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
CC: <mesa-stable@lists.freedesktop.org>
src/intel/vulkan/genX_cmd_buffer.c

index 66d1ef7d786176d5e42d77a1337ded3875c40a4b..611311904e66fe387ad8564c3e7bc571909e7b4f 100644 (file)
@@ -67,6 +67,11 @@ genX(cmd_buffer_emit_state_base_address)(struct anv_cmd_buffer *cmd_buffer)
 {
    struct anv_device *device = cmd_buffer->device;
 
+   /* If we are emitting a new state base address we probably need to re-emit
+    * binding tables.
+    */
+   cmd_buffer->state.descriptors_dirty |= ~0;
+
    /* Emit a render target cache flush.
     *
     * This isn't documented anywhere in the PRM.  However, it seems to be