i965/vec4: do not split scratch read/write opcodes

64-bit scratch read/writes require to shuffle data around so we need
to have access to the full 64-bit data. We will do the right thing
for these when we emit the messages.

Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
Iago Toral Quiroga 2016-06-28 11:54:07 +02:00 committed by Samuel Iglesias Gonsálvez
parent 2a857104e4
commit 07bc6a35d3

View file

@ -2035,6 +2035,15 @@ static unsigned
get_lowered_simd_width(const struct gen_device_info *devinfo,
const vec4_instruction *inst)
{
/* Do not split some instructions that require special handling */
switch (inst->opcode) {
case SHADER_OPCODE_GEN4_SCRATCH_READ:
case SHADER_OPCODE_GEN4_SCRATCH_WRITE:
return inst->exec_size;
default:
break;
}
unsigned lowered_width = MIN2(16, inst->exec_size);
/* We need to split some cases of double-precision instructions that write