[Mesa-dev] [PATCH 05/18] spirv/nir: add offset at vtn_variable

Alejandro PiƱeiro apinheiro at igalia.com
Fri Jun 29 14:28:51 UTC 2018


Also initialize it on var_decoration_cb

This is equivalent to nir_variable.offset, used to store the location
an atomic counter is stored at.
---
 src/compiler/spirv/vtn_private.h   | 1 +
 src/compiler/spirv/vtn_variables.c | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/src/compiler/spirv/vtn_private.h b/src/compiler/spirv/vtn_private.h
index 21ddacd8d2e..b5199bda633 100644
--- a/src/compiler/spirv/vtn_private.h
+++ b/src/compiler/spirv/vtn_private.h
@@ -465,6 +465,7 @@ struct vtn_variable {
    unsigned descriptor_set;
    unsigned binding;
    bool explicit_binding;
+   unsigned offset;
    unsigned input_attachment_index;
    bool patch;
 
diff --git a/src/compiler/spirv/vtn_variables.c b/src/compiler/spirv/vtn_variables.c
index 6a2144ceabb..c56d74d683b 100644
--- a/src/compiler/spirv/vtn_variables.c
+++ b/src/compiler/spirv/vtn_variables.c
@@ -1346,6 +1346,9 @@ var_decoration_cb(struct vtn_builder *b, struct vtn_value *val, int member,
    case SpvDecorationPatch:
       vtn_var->patch = true;
       break;
+   case SpvDecorationOffset:
+      vtn_var->offset = dec->literals[0];
+      break;
    default:
       break;
    }
-- 
2.14.1



More information about the mesa-dev mailing list