diff --git a/spirv_cross.cpp b/spirv_cross.cpp index f08b228c5..724cb8546 100644 --- a/spirv_cross.cpp +++ b/spirv_cross.cpp @@ -1227,7 +1227,7 @@ const SPIRType &Compiler::get_pointee_type(uint32_t type_id) const uint32_t Compiler::get_variable_data_type_id(const SPIRVariable &var) const { - if (var.phi_variable) + if (var.phi_variable || var.storage == spv::StorageClass::StorageClassAtomicCounter) return var.basetype; return get_pointee_type_id(var.basetype); } diff --git a/spirv_glsl.cpp b/spirv_glsl.cpp index 0d37ba2e8..45cfce1d0 100644 --- a/spirv_glsl.cpp +++ b/spirv_glsl.cpp @@ -2568,7 +2568,7 @@ const char *CompilerGLSL::to_storage_qualifiers_glsl(const SPIRVariable &var) return var.storage == StorageClassInput ? "in " : "out "; } else if (var.storage == StorageClassUniformConstant || var.storage == StorageClassUniform || - var.storage == StorageClassPushConstant) + var.storage == StorageClassPushConstant || var.storage == StorageClassAtomicCounter) { return "uniform "; }