mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-15 13:50:29 +01:00
i965/fs: fix source type when emitting MOV_INDIRECT to read ICP handles
When generating the MOV INDIRECT instruction, the source type is ignored
and it is set to destination's type. However, this is going to change in a
later patch, so we need to explicitly set the proper source type.
brw_vec8_grf() creates an float type's fs_reg by default, when the
ICP handle is actually unsigned. This patch fixes these cases before
applying the aforementioned patch.
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Cc: "17.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
(cherry picked from commit d8122128bc)
This commit is contained in:
parent
842ea1f3d7
commit
afa603aedf
1 changed files with 3 additions and 3 deletions
|
|
@ -2005,7 +2005,7 @@ fs_visitor::emit_gs_input_load(const fs_reg &dst,
|
|||
* we might read up to nir->info.gs.vertices_in registers.
|
||||
*/
|
||||
bld.emit(SHADER_OPCODE_MOV_INDIRECT, icp_handle,
|
||||
fs_reg(brw_vec8_grf(first_icp_handle, 0)),
|
||||
retype(brw_vec8_grf(first_icp_handle, 0), icp_handle.type),
|
||||
fs_reg(icp_offset_bytes),
|
||||
brw_imm_ud(nir->info.gs.vertices_in * REG_SIZE));
|
||||
}
|
||||
|
|
@ -2036,7 +2036,7 @@ fs_visitor::emit_gs_input_load(const fs_reg &dst,
|
|||
* we might read up to ceil(nir->info.gs.vertices_in / 8) registers.
|
||||
*/
|
||||
bld.emit(SHADER_OPCODE_MOV_INDIRECT, icp_handle,
|
||||
fs_reg(brw_vec8_grf(first_icp_handle, 0)),
|
||||
retype(brw_vec8_grf(first_icp_handle, 0), icp_handle.type),
|
||||
fs_reg(icp_offset_bytes),
|
||||
brw_imm_ud(DIV_ROUND_UP(nir->info.gs.vertices_in, 8) *
|
||||
REG_SIZE));
|
||||
|
|
@ -2376,7 +2376,7 @@ fs_visitor::nir_emit_tcs_intrinsic(const fs_builder &bld,
|
|||
|
||||
/* Start at g1. We might read up to 4 registers. */
|
||||
bld.emit(SHADER_OPCODE_MOV_INDIRECT, icp_handle,
|
||||
fs_reg(brw_vec8_grf(1, 0)), vertex_offset_bytes,
|
||||
retype(brw_vec8_grf(1, 0), icp_handle.type), vertex_offset_bytes,
|
||||
brw_imm_ud(4 * REG_SIZE));
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue