diff --git a/glslang/CInterface/glslang_c_interface.cpp b/glslang/CInterface/glslang_c_interface.cpp index 302efadc..02a3171a 100644 --- a/glslang/CInterface/glslang_c_interface.cpp +++ b/glslang/CInterface/glslang_c_interface.cpp @@ -394,6 +394,11 @@ void glslang_program_SPIRV_get(glslang_program_t* program, unsigned int* out) memcpy(out, program->spirv.data(), program->spirv.size() * sizeof(unsigned int)); } +unsigned int* glslang_program_SPIRV_get_ptr(glslang_program_t* program) +{ + return program->spirv.data(); +} + const char* glslang_program_SPIRV_get_messages(glslang_program_t* program) { return program->loggerMessages.empty() ? nullptr : program->loggerMessages.c_str(); diff --git a/glslang/Include/glslang_c_interface.h b/glslang/Include/glslang_c_interface.h index 2521fb20..eeff408b 100644 --- a/glslang/Include/glslang_c_interface.h +++ b/glslang/Include/glslang_c_interface.h @@ -107,6 +107,7 @@ int glslang_program_link(glslang_program_t* program, int messages); // glslang_m void glslang_program_SPIRV_generate(glslang_program_t* program, glslang_stage_t stage); size_t glslang_program_SPIRV_get_size(glslang_program_t* program); void glslang_program_SPIRV_get(glslang_program_t* program, unsigned int*); +unsigned int* glslang_program_SPIRV_get_ptr(glslang_program_t* program); const char* glslang_program_SPIRV_get_messages(glslang_program_t* program); const char* glslang_program_get_info_log(glslang_program_t* program); const char* glslang_program_get_info_debug_log(glslang_program_t* program);