summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend/glsl/emit_glsl.cpp
diff options
context:
space:
mode:
authorGravatar ameerj2021-05-27 20:37:56 -0400
committerGravatar ameerj2021-07-22 21:51:36 -0400
commit6674637853009115833e132efce19c8e210f0471 (patch)
treeb939ceb280ef380a645c8d0099f12ec66d36d9de /src/shader_recompiler/backend/glsl/emit_glsl.cpp
parentglsl: Implement derivatives and YDirection (diff)
downloadyuzu-6674637853009115833e132efce19c8e210f0471.tar.gz
yuzu-6674637853009115833e132efce19c8e210f0471.tar.xz
yuzu-6674637853009115833e132efce19c8e210f0471.zip
glsl: remove unused headers
Diffstat (limited to 'src/shader_recompiler/backend/glsl/emit_glsl.cpp')
-rw-r--r--src/shader_recompiler/backend/glsl/emit_glsl.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/shader_recompiler/backend/glsl/emit_glsl.cpp b/src/shader_recompiler/backend/glsl/emit_glsl.cpp
index 644da43f4..56738bcc5 100644
--- a/src/shader_recompiler/backend/glsl/emit_glsl.cpp
+++ b/src/shader_recompiler/backend/glsl/emit_glsl.cpp
@@ -4,17 +4,12 @@
4 4
5#include <ranges> 5#include <ranges>
6#include <string> 6#include <string>
7#include <tuple>
8 7
9#include "shader_recompiler/backend/bindings.h"
10#include "shader_recompiler/backend/glsl/emit_context.h" 8#include "shader_recompiler/backend/glsl/emit_context.h"
11#include "shader_recompiler/backend/glsl/emit_glsl.h" 9#include "shader_recompiler/backend/glsl/emit_glsl.h"
12#include "shader_recompiler/backend/glsl/emit_glsl_instructions.h" 10#include "shader_recompiler/backend/glsl/emit_glsl_instructions.h"
13#include "shader_recompiler/frontend/ir/ir_emitter.h" 11#include "shader_recompiler/frontend/ir/ir_emitter.h"
14#include "shader_recompiler/frontend/ir/program.h"
15#include "shader_recompiler/profile.h"
16 12
17#pragma optimize("", off)
18namespace Shader::Backend::GLSL { 13namespace Shader::Backend::GLSL {
19namespace { 14namespace {
20template <class Func> 15template <class Func>
@@ -173,13 +168,21 @@ void EmitCode(EmitContext& ctx, const IR::Program& program) {
173 } 168 }
174} 169}
175 170
171std::string GlslVersionSpecifier(const EmitContext& ctx) {
172 if (ctx.uses_y_direction) {
173 return " compatibility";
174 }
175 return "";
176}
176} // Anonymous namespace 177} // Anonymous namespace
177 178
178std::string EmitGLSL(const Profile& profile, const RuntimeInfo&, IR::Program& program, 179std::string EmitGLSL(const Profile& profile, const RuntimeInfo& runtime_info, IR::Program& program,
179 Bindings& bindings) { 180 Bindings& bindings) {
180 EmitContext ctx{program, bindings, profile}; 181 EmitContext ctx{program, bindings, profile, runtime_info};
181 Precolor(program); 182 Precolor(program);
182 EmitCode(ctx, program); 183 EmitCode(ctx, program);
184 const std::string version{fmt::format("#version 450{}\n", GlslVersionSpecifier(ctx))};
185 ctx.code.insert(0, version);
183 ctx.code += "}"; 186 ctx.code += "}";
184 fmt::print("\n{}\n", ctx.code); 187 fmt::print("\n{}\n", ctx.code);
185 return ctx.code; 188 return ctx.code;