diff --git a/src/intel/genxml/gen20.xml b/src/intel/genxml/gen20.xml index 9950b829799..7308301c134 100644 --- a/src/intel/genxml/gen20.xml +++ b/src/intel/genxml/gen20.xml @@ -64,7 +64,7 @@ - + @@ -342,7 +342,7 @@ - + diff --git a/src/intel/vulkan/genX_cmd_compute.c b/src/intel/vulkan/genX_cmd_compute.c index 552fcb5c1fa..3bee556729c 100644 --- a/src/intel/vulkan/genX_cmd_compute.c +++ b/src/intel/vulkan/genX_cmd_compute.c @@ -1043,6 +1043,9 @@ cmd_buffer_trace_rays(struct anv_cmd_buffer *cmd_buffer, pipeline->base.scratch_size); btd.ScratchSpaceBuffer = scratch_surf >> 4; } +#if INTEL_NEEDS_WA_14017794102 + btd.BTDMidthreadpreemption = false; +#endif } genX(cmd_buffer_ensure_cfe_state)(cmd_buffer, pipeline->base.scratch_size); @@ -1079,6 +1082,9 @@ cmd_buffer_trace_rays(struct anv_cmd_buffer *cmd_buffer, .BindingTablePointer = surfaces->offset, .NumberofThreadsinGPGPUThreadGroup = 1, .BTDMode = true, +#if INTEL_NEEDS_WA_14017794102 + .ThreadPreemption = false, +#endif }; struct brw_rt_raygen_trampoline_params trampoline_params = { diff --git a/src/intel/vulkan/genX_init_state.c b/src/intel/vulkan/genX_init_state.c index 13316958522..4938e5b6621 100644 --- a/src/intel/vulkan/genX_init_state.c +++ b/src/intel/vulkan/genX_init_state.c @@ -330,6 +330,9 @@ init_common_queue_state(struct anv_queue *queue, struct anv_batch *batch) */ .offset = device->btd_fifo_bo->offset, }; +#if INTEL_NEEDS_WA_14017794102 + btd.BTDMidthreadpreemption = false; +#endif } } #endif