Mesa (master): intel/compiler: implement nir_instr_type_load_const for 16-bit constants

Iago Toral Quiroga itoral at kemper.freedesktop.org
Thu May 3 09:57:23 UTC 2018


Module: Mesa
Branch: master
Commit: e5fc3c07170cff756b7bc7cbeee67212fc46c9a5
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e5fc3c07170cff756b7bc7cbeee67212fc46c9a5

Author: Jose Maria Casanova Crespo <jmcasanova at igalia.com>
Date:   Tue Apr 10 10:02:29 2018 +0200

intel/compiler: implement nir_instr_type_load_const for 16-bit constants

Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

---

 src/intel/compiler/brw_fs_nir.cpp | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/intel/compiler/brw_fs_nir.cpp b/src/intel/compiler/brw_fs_nir.cpp
index 3b277959e9..5f8f7cd6a6 100644
--- a/src/intel/compiler/brw_fs_nir.cpp
+++ b/src/intel/compiler/brw_fs_nir.cpp
@@ -1511,6 +1511,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 16:
+      for (unsigned i = 0; i < instr->def.num_components; i++)
+         bld.MOV(offset(reg, bld, i), brw_imm_w(instr->value.i16[i]));
+      break;
+
    case 32:
       for (unsigned i = 0; i < instr->def.num_components; i++)
          bld.MOV(offset(reg, bld, i), brw_imm_d(instr->value.i32[i]));




More information about the mesa-commit mailing list