diff options
author | Samuel Iglesias Gonsálvez <[email protected]> | 2016-04-19 09:49:40 +0200 |
---|---|---|
committer | Samuel Iglesias Gonsálvez <[email protected]> | 2016-05-10 11:25:09 +0200 |
commit | 75ada43a3af88835de6a83ed453d4ed512df0412 (patch) | |
tree | df648fbf69e82438d20a7499241d40d0c834a58f | |
parent | 03687ab77fea7893f8786ce407d6f4d108b28012 (diff) |
i965/fs: take into account doubles when calculating read_size for MOV_INDIRECT
v2:
- Fix assert's line width (Topi).
Signed-off-by: Samuel Iglesias Gonsálvez <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Reviewed-by: Jordan Justen <[email protected]>
-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, |