iris: Properly align interface descriptor data addresses
authorKenneth Graunke <kenneth@whitecape.org>
Thu, 27 Jun 2019 00:35:45 +0000 (17:35 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 27 Jun 2019 15:12:22 +0000 (08:12 -0700)
MEDIA_INTERFACE_DESCRIPTOR's Interface Descriptor Data Start Address
field's docs say: "This bit specifies the 64-byte aligned address..."

And we were doing 32.  Superfluous thread ID uploading was apparently
saving us from GPU hangs in most cases.

src/gallium/drivers/iris/iris_state.c

index bf31f31f3e47f3aaedb09ff13c0caa21a9f3a573..80c574845b0bd33bc6bf1946df5f62aab61acdb6 100644 (file)
@@ -5567,7 +5567,7 @@ iris_upload_compute_state(struct iris_context *ice,
             GENX(INTERFACE_DESCRIPTOR_DATA_length) * sizeof(uint32_t);
          load.InterfaceDescriptorDataStartAddress =
             emit_state(batch, ice->state.dynamic_uploader,
-                       &desc_res, desc, sizeof(desc), 32);
+                       &desc_res, desc, sizeof(desc), 64);
       }
 
       pipe_resource_reference(&desc_res, NULL);