intel/fs: Use shuffle_from_32bit_read at VS load_input

shuffle_from_32bit_read manages 32-bit reads to 32-bit destination
in the same way that the previous loop so now we just call the new
function for all bitsizes, simplifying also the 64-bit load_input.

v2: Add comment about future 16-bit support (Jason Ekstrand)

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
Jose Maria Casanova Crespo
2018-06-09 11:46:04 +02:00
parent 152bffb69b
commit 5565630f85

View File

@@ -2483,16 +2483,11 @@ fs_visitor::nir_emit_vs_intrinsic(const fs_builder &bld,
if (type_sz(dest.type) == 8) if (type_sz(dest.type) == 8)
first_component /= 2; first_component /= 2;
for (unsigned j = 0; j < num_components; j++) { /* For 16-bit support maybe a temporary will be needed to copy from
bld.MOV(offset(dest, bld, j), offset(src, bld, j + first_component)); * the ATTR file.
} */
shuffle_from_32bit_read(bld, dest, retype(src, BRW_REGISTER_TYPE_D),
if (type_sz(dest.type) == 8) { first_component, num_components);
shuffle_32bit_load_result_to_64bit_data(bld,
dest,
retype(dest, BRW_REGISTER_TYPE_F),
instr->num_components);
}
break; break;
} }