anv/gen7: Setup state to enable barrier() function
authorJordan Justen <jordan.l.justen@intel.com>
Fri, 8 Jan 2016 01:10:02 +0000 (17:10 -0800)
committerJordan Justen <jordan.l.justen@intel.com>
Fri, 8 Jan 2016 01:11:46 +0000 (17:11 -0800)
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
src/vulkan/gen7_cmd_buffer.c

index fa9cb8fa9146a30facbe6ee341ab29cfc80128b3..85eec0b055e6bba407d6e0f1d00a53a8519a59bb 100644 (file)
@@ -269,13 +269,17 @@ flush_compute_descriptor_set(struct anv_cmd_buffer *cmd_buffer)
    if (result != VK_SUCCESS)
       return result;
 
+   const struct brw_cs_prog_data *cs_prog_data = &pipeline->cs_prog_data;
+
    struct anv_state state =
       anv_state_pool_emit(&device->dynamic_state_pool,
                           GEN7_INTERFACE_DESCRIPTOR_DATA, 64,
                           .KernelStartPointer = pipeline->cs_simd,
                           .BindingTablePointer = surfaces.offset,
                           .SamplerStatePointer = samplers.offset,
-                          .NumberofThreadsinGPGPUThreadGroup = 0);
+                          .BarrierEnable = cs_prog_data->uses_barrier,
+                          .NumberofThreadsinGPGPUThreadGroup =
+                             pipeline->cs_thread_width_max);
 
    const uint32_t size = GEN7_INTERFACE_DESCRIPTOR_DATA_length * sizeof(uint32_t);
    anv_batch_emit(&cmd_buffer->batch, GEN7_MEDIA_INTERFACE_DESCRIPTOR_LOAD,