intel/compiler: user payload starts after TUE header & its padding

All data written by the user are offset by TUE header size.
Without this patch we copy the correct amount of user data, but both
"from" and "to" offsets are wrong.

Fixes: 37e78803d7 ("intel/compiler: use nir_lower_task_shader pass")

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19409>
This commit is contained in:
Marcin Ślusarz
2022-10-24 14:59:41 +02:00
committed by Marge Bot
parent f6adfd6278
commit db0e6f9a07

View File

@@ -253,6 +253,10 @@ brw_compile_task(const struct brw_compiler *compiler,
nir_lower_task_shader_options lower_ts_opt = { nir_lower_task_shader_options lower_ts_opt = {
.payload_to_shared_for_atomics = true, .payload_to_shared_for_atomics = true,
.payload_to_shared_for_small_types = true, .payload_to_shared_for_small_types = true,
/* The actual payload data starts after the TUE header and padding,
* so skip those when copying.
*/
.payload_offset_in_bytes = prog_data->map.per_task_data_start_dw * 4,
}; };
NIR_PASS(_, nir, nir_lower_task_shader, lower_ts_opt); NIR_PASS(_, nir, nir_lower_task_shader, lower_ts_opt);