]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/module.cpp
Reflect builtin decorators from SPIR-V modules
[libs/gl.git] / source / core / module.cpp
index eaed8a45c7b7ed04003e996d28bcd7c85b99e68c..2326a5e7fd3dcf73c8a9f4e73ba191cd2a0acda3 100644 (file)
@@ -37,6 +37,7 @@ enum SpirVConstants
        DECO_SPEC_ID = 1,
        DECO_ARRAY_STRIDE = 6,
        DECO_MATRIX_STRIDE = 7,
+       DECO_BUILTIN = 11,
        DECO_LOCATION = 30,
        DECO_BINDING = 33,
        DECO_DESCRIPTOR_SET = 34,
@@ -504,6 +505,9 @@ void SpirVModule::Reflection::reflect_decorate(CodeIterator op)
        case DECO_ARRAY_STRIDE:
                types[id].array_stride = *op;
                break;
+       case DECO_BUILTIN:
+               variables[id].builtin = static_cast<BuiltinSemantic>(*op);
+               break;
        case DECO_LOCATION:
                variables[id].location = *op;
                break;
@@ -531,6 +535,9 @@ void SpirVModule::Reflection::reflect_member_decorate(CodeIterator op)
        case DECO_MATRIX_STRIDE:
                member.matrix_stride = *op;
                break;
+       case DECO_BUILTIN:
+               member.builtin = static_cast<BuiltinSemantic>(*op);
+               break;
        case DECO_OFFSET:
                member.offset = *op;
                break;