mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 06:48:06 +02:00
i965/fs: fix MOV_INDIRECT exec_size for doubles
In that case, the writes need two times the size of a 32-bit value. We need to adjust the exec_size, so it is not breaking any hardware rule. v2: - Add an assert to verify type size is not less than 4 bytes (Jordan). Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
75ada43a3a
commit
4c9006f957
1 changed files with 9 additions and 1 deletions
|
|
@ -4682,7 +4682,15 @@ get_lowered_simd_width(const struct brw_device_info *devinfo,
|
|||
|
||||
case SHADER_OPCODE_MOV_INDIRECT:
|
||||
/* Prior to Broadwell, we only have 8 address subregisters */
|
||||
return devinfo->gen < 8 ? 8 : MIN2(inst->exec_size, 16);
|
||||
if (devinfo->gen < 8)
|
||||
return 8;
|
||||
|
||||
if (inst->exec_size < 16) {
|
||||
return inst->exec_size;
|
||||
} else {
|
||||
assert(type_sz(inst->dst.type) >= 4);
|
||||
return MIN2(inst->exec_size / (type_sz(inst->dst.type) / 4), 16);
|
||||
}
|
||||
|
||||
default:
|
||||
return inst->exec_size;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue