From 6232e0abd378fb42e491773fea095f9da315cdca Mon Sep 17 00:00:00 2001 From: twinaphex Date: Tue, 3 Mar 2020 11:08:16 +0100 Subject: [PATCH] Buildfix --- gfx/drivers_shader/glslang.cpp | 3 ++- gfx/drivers_shader/glslang.hpp | 2 +- gfx/drivers_shader/glslang_util_cxx.cpp | 8 ++------ 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/gfx/drivers_shader/glslang.cpp b/gfx/drivers_shader/glslang.cpp index bc22b68439..7c96dd48b0 100644 --- a/gfx/drivers_shader/glslang.cpp +++ b/gfx/drivers_shader/glslang.cpp @@ -361,7 +361,7 @@ SlangProcess::SlangProcess() } } -bool glslang::compile_spirv(const char *src, Stage stage, +bool glslang::compile_spirv(const string &source, Stage stage, std::vector *spirv) { string msg; @@ -395,6 +395,7 @@ bool glslang::compile_spirv(const char *src, Stage stage, } TShader shader(language); + const char *src = source.c_str(); shader.setStrings(&src, 1); EShMessages messages = static_cast(EShMsgDefault | EShMsgVulkanRules | EShMsgSpvRules); diff --git a/gfx/drivers_shader/glslang.hpp b/gfx/drivers_shader/glslang.hpp index 0d13c9d31f..4cc8bab812 100644 --- a/gfx/drivers_shader/glslang.hpp +++ b/gfx/drivers_shader/glslang.hpp @@ -17,7 +17,7 @@ namespace glslang StageCompute }; - bool compile_spirv(const char *src, Stage stage, std::vector *spirv); + bool compile_spirv(const std::string &source, Stage stage, std::vector *spirv); } #endif diff --git a/gfx/drivers_shader/glslang_util_cxx.cpp b/gfx/drivers_shader/glslang_util_cxx.cpp index 80d4d5c5f2..ffb65dcfd3 100644 --- a/gfx/drivers_shader/glslang_util_cxx.cpp +++ b/gfx/drivers_shader/glslang_util_cxx.cpp @@ -215,7 +215,6 @@ bool glslang_parse_meta(const struct string_list *lines, glslang_meta *meta) bool glslang_compile_shader(const char *shader_path, glslang_output *output) { #if defined(HAVE_GLSLANG) - const char *v_src, *f_src; struct string_list *lines = string_list_new(); if (!lines) @@ -229,17 +228,14 @@ bool glslang_compile_shader(const char *shader_path, glslang_output *output) if (!glslang_parse_meta(lines, &output->meta)) goto error; - v_src = build_stage_source(lines, "vertex").c_str(); - f_src = build_stage_source(lines, "fragment").c_str(); - - if (!glslang::compile_spirv(v_src, + if (!glslang::compile_spirv(build_stage_source(lines, "vertex"), glslang::StageVertex, &output->vertex)) { RARCH_ERR("Failed to compile vertex shader stage.\n"); goto error; } - if (!glslang::compile_spirv(f_src, + if (!glslang::compile_spirv(build_stage_source(lines, "fragment"), glslang::StageFragment, &output->fragment)) { RARCH_ERR("Failed to compile fragment shader stage.\n");