intel/compiler: implement 8-bit constant load
authorIago Toral Quiroga <itoral@igalia.com>
Fri, 27 Jul 2018 11:38:39 +0000 (13:38 +0200)
committerIago Toral Quiroga <itoral@igalia.com>
Wed, 1 Aug 2018 06:08:15 +0000 (08:08 +0200)
Fixes VK-GL-CTS CL#2567

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/intel/compiler/brw_fs_nir.cpp

index 2c8595b97302fbcc0520ee63349e41909efe078c..6e9a5829d3b693ae3c9dd31ecff1443d62a5e80b 100644 (file)
@@ -1587,6 +1587,11 @@ fs_visitor::nir_emit_load_const(const fs_builder &bld,
    fs_reg reg = bld.vgrf(reg_type, instr->def.num_components);
 
    switch (instr->def.bit_size) {
+   case 8:
+      for (unsigned i = 0; i < instr->def.num_components; i++)
+         bld.MOV(offset(reg, bld, i), setup_imm_b(bld, instr->value.i8[i]));
+      break;
+
    case 16:
       for (unsigned i = 0; i < instr->def.num_components; i++)
          bld.MOV(offset(reg, bld, i), brw_imm_w(instr->value.i16[i]));