iris: Do MEDIA_CURBE_LOAD when IRIS_DIRTY_CS is set, not constants
authorKenneth Graunke <kenneth@whitecape.org>
Thu, 27 Jun 2019 00:14:58 +0000 (17:14 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 27 Jun 2019 15:12:22 +0000 (08:12 -0700)
We only use push the compute shader thread IDs, not any actual constant
buffer data.  So we should track the compute shader variant changing,
not constbuf changes.

src/gallium/drivers/iris/iris_state.c

index 83b5d9c7e351904af4b0be1de98ad25072321f97..df7f2da9336a9544e30ca4284efe24901896190a 100644 (file)
@@ -5515,7 +5515,7 @@ iris_upload_compute_state(struct iris_context *ice,
    memset(curbe_data_map, 0x5a, ALIGN(cs_prog_data->push.total.size, 64));
    iris_fill_cs_push_const_buffer(cs_prog_data, curbe_data_map);
 
-   if (dirty & IRIS_DIRTY_CONSTANTS_CS) {
+   if (dirty & IRIS_DIRTY_CS) {
       iris_emit_cmd(batch, GENX(MEDIA_CURBE_LOAD), curbe) {
          curbe.CURBETotalDataLength =
             ALIGN(cs_prog_data->push.total.size, 64);