diff options
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp index c4e1068756d..c2274ba1fdc 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp @@ -3286,9 +3286,10 @@ fs_visitor::nir_emit_intrinsic(const fs_builder &bld, nir_intrinsic_instr *instr * component from running past, we subtract off the size of all but * one component of the vector. */ - assert(instr->const_index[1] >= instr->num_components * 4); + assert(instr->const_index[1] >= + instr->num_components * (int) type_sz(dest.type)); unsigned read_size = instr->const_index[1] - - (instr->num_components - 1) * 4; + (instr->num_components - 1) * type_sz(dest.type); for (unsigned j = 0; j < instr->num_components; j++) { bld.emit(SHADER_OPCODE_MOV_INDIRECT, |