Mesa (master): nir/search: Include 8 and 16-bit support in construct_value

Jason Ekstrand jekstrand at kemper.freedesktop.org
Thu Mar 1 18:20:46 UTC 2018


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

Author: Jose Maria Casanova Crespo <jmcasanova at igalia.com>
Date:   Thu Mar  1 18:06:52 2018 +0100

nir/search: Include 8 and 16-bit support in construct_value

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

---

 src/compiler/nir/nir_search.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/src/compiler/nir/nir_search.c b/src/compiler/nir/nir_search.c
index c7c52ae320..28b36b2b86 100644
--- a/src/compiler/nir/nir_search.c
+++ b/src/compiler/nir/nir_search.c
@@ -525,6 +525,9 @@ construct_value(const nir_search_value *value,
       case nir_type_float:
          load->def.name = ralloc_asprintf(load, "%f", c->data.d);
          switch (bitsize->dest_size) {
+         case 16:
+            load->value.u16[0] = _mesa_float_to_half(c->data.d);
+            break;
          case 32:
             load->value.f32[0] = c->data.d;
             break;
@@ -539,6 +542,12 @@ construct_value(const nir_search_value *value,
       case nir_type_int:
          load->def.name = ralloc_asprintf(load, "%" PRIi64, c->data.i);
          switch (bitsize->dest_size) {
+         case 8:
+            load->value.i8[0] = c->data.i;
+            break;
+         case 16:
+            load->value.i16[0] = c->data.i;
+            break;
          case 32:
             load->value.i32[0] = c->data.i;
             break;
@@ -553,6 +562,12 @@ construct_value(const nir_search_value *value,
       case nir_type_uint:
          load->def.name = ralloc_asprintf(load, "%" PRIu64, c->data.u);
          switch (bitsize->dest_size) {
+         case 8:
+            load->value.u8[0] = c->data.u;
+            break;
+         case 16:
+            load->value.u16[0] = c->data.u;
+            break;
          case 32:
             load->value.u32[0] = c->data.u;
             break;




More information about the mesa-commit mailing list