From 9bac88856d475fa2a8a0c233a1555162aa411ba8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marcin=20=C5=9Alusarz?= Date: Thu, 29 Sep 2022 16:47:32 +0200 Subject: [PATCH] intel/compiler: fix loading of draw_id from task & mesh payload Previously both destination and source were floats, so no casting was performed, but with 7664c85b1da source register was reinterpreted as unsigned integer, so MOV started casting that integer to float. Fixes: 7664c85b1da ("intel/compiler: Create and use struct for TASK and MESH thread payloads") Reviewed-by: Caio Oliveira Part-of: --- src/intel/compiler/brw_mesh.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/intel/compiler/brw_mesh.cpp b/src/intel/compiler/brw_mesh.cpp index f4aaa5b..dfae5ce 100644 --- a/src/intel/compiler/brw_mesh.cpp +++ b/src/intel/compiler/brw_mesh.cpp @@ -1260,6 +1260,7 @@ fs_visitor::nir_emit_task_mesh_intrinsic(const fs_builder &bld, } case nir_intrinsic_load_draw_id: + dest = retype(dest, BRW_REGISTER_TYPE_UD); bld.MOV(dest, payload.extended_parameter_0); break; -- 2.7.4