summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2018-12-26 02:08:32 -0300
committerGravatar ReinUsesLisp2019-01-15 17:54:53 -0300
commitdf74ff3c8be9e9c6cf214affa15412b5bd108a4f (patch)
treed1d1830e4aa190100bff1cc7ba744092fba70c5d /src
parentvideo_core: Rename glsl_decompiler to gl_shader_decompiler (diff)
downloadyuzu-df74ff3c8be9e9c6cf214affa15412b5bd108a4f.tar.gz
yuzu-df74ff3c8be9e9c6cf214affa15412b5bd108a4f.tar.xz
yuzu-df74ff3c8be9e9c6cf214affa15412b5bd108a4f.zip
gl_shader_gen: Fixup code formatting
Diffstat (limited to 'src')
-rw-r--r--src/video_core/renderer_opengl/gl_shader_decompiler.cpp2
-rw-r--r--src/video_core/renderer_opengl/gl_shader_gen.cpp38
2 files changed, 22 insertions, 18 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
index 4ded51074..bff6b0b0e 100644
--- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
@@ -1531,7 +1531,7 @@ std::string GetCommonDeclarations() {
1531 "}\n\n" 1531 "}\n\n"
1532 "vec2 toHalf2(float value) {\n" 1532 "vec2 toHalf2(float value) {\n"
1533 " return unpackHalf2x16(ftou(value));\n" 1533 " return unpackHalf2x16(ftou(value));\n"
1534 "}\n\n"; 1534 "}\n";
1535} 1535}
1536 1536
1537ProgramResult Decompile(const ShaderIR& ir, Maxwell::ShaderStage stage, const std::string& suffix) { 1537ProgramResult Decompile(const ShaderIR& ir, Maxwell::ShaderStage stage, const std::string& suffix) {
diff --git a/src/video_core/renderer_opengl/gl_shader_gen.cpp b/src/video_core/renderer_opengl/gl_shader_gen.cpp
index a3f39152c..446d1a93f 100644
--- a/src/video_core/renderer_opengl/gl_shader_gen.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_gen.cpp
@@ -21,8 +21,8 @@ ProgramResult GenerateVertexShader(const ShaderSetup& setup) {
21 const std::string id = fmt::format("{:016x}", setup.program.unique_identifier); 21 const std::string id = fmt::format("{:016x}", setup.program.unique_identifier);
22 22
23 std::string out = "#version 430 core\n"; 23 std::string out = "#version 430 core\n";
24 out += "// Shader Unique Id: VS" + id + '\n'; 24 out += "#extension GL_ARB_separate_shader_objects : enable\n\n";
25 out += "#extension GL_ARB_separate_shader_objects : enable\n"; 25 out += "// Shader Unique Id: VS" + id + "\n\n";
26 out += GetCommonDeclarations(); 26 out += GetCommonDeclarations();
27 27
28 out += R"( 28 out += R"(
@@ -33,6 +33,7 @@ layout(std140) uniform vs_config {
33 uvec4 config_pack; // instance_id, flip_stage, y_direction, padding 33 uvec4 config_pack; // instance_id, flip_stage, y_direction, padding
34 uvec4 alpha_test; 34 uvec4 alpha_test;
35}; 35};
36
36)"; 37)";
37 ShaderIR program_ir(setup.program.code, PROGRAM_OFFSET); 38 ShaderIR program_ir(setup.program.code, PROGRAM_OFFSET);
38 ProgramResult program = Decompile(program_ir, Maxwell3D::Regs::ShaderStage::Vertex, "vertex"); 39 ProgramResult program = Decompile(program_ir, Maxwell3D::Regs::ShaderStage::Vertex, "vertex");
@@ -80,11 +81,12 @@ ProgramResult GenerateGeometryShader(const ShaderSetup& setup) {
80 // Version is intentionally skipped in shader generation, it's added by the lazy compilation. 81 // Version is intentionally skipped in shader generation, it's added by the lazy compilation.
81 const std::string id = fmt::format("{:016x}", setup.program.unique_identifier); 82 const std::string id = fmt::format("{:016x}", setup.program.unique_identifier);
82 83
83 std::string out = "// Shader Unique Id: GS" + id + '\n'; 84 std::string out = "#extension GL_ARB_separate_shader_objects : enable\n\n";
84 out += "#extension GL_ARB_separate_shader_objects : enable\n"; 85 out += "// Shader Unique Id: GS" + id + "\n\n";
85 out += GetCommonDeclarations(); 86 out += GetCommonDeclarations();
86 87
87 out += R"(layout (location = 0) in vec4 gs_position[]; 88 out += R"(
89layout (location = 0) in vec4 gs_position[];
88layout (location = 0) out vec4 position; 90layout (location = 0) out vec4 position;
89 91
90layout (std140) uniform gs_config { 92layout (std140) uniform gs_config {
@@ -92,8 +94,8 @@ layout (std140) uniform gs_config {
92 uvec4 config_pack; // instance_id, flip_stage, y_direction, padding 94 uvec4 config_pack; // instance_id, flip_stage, y_direction, padding
93 uvec4 alpha_test; 95 uvec4 alpha_test;
94}; 96};
95)";
96 97
98)";
97 ShaderIR program_ir(setup.program.code, PROGRAM_OFFSET); 99 ShaderIR program_ir(setup.program.code, PROGRAM_OFFSET);
98 ProgramResult program = 100 ProgramResult program =
99 Decompile(program_ir, Maxwell3D::Regs::ShaderStage::Geometry, "geometry"); 101 Decompile(program_ir, Maxwell3D::Regs::ShaderStage::Geometry, "geometry");
@@ -111,19 +113,19 @@ ProgramResult GenerateFragmentShader(const ShaderSetup& setup) {
111 const std::string id = fmt::format("{:016x}", setup.program.unique_identifier); 113 const std::string id = fmt::format("{:016x}", setup.program.unique_identifier);
112 114
113 std::string out = "#version 430 core\n"; 115 std::string out = "#version 430 core\n";
114 out += "// Shader Unique Id: FS" + id + '\n'; 116 out += "#extension GL_ARB_separate_shader_objects : enable\n\n";
115 out += "#extension GL_ARB_separate_shader_objects : enable\n"; 117 out += "// Shader Unique Id: FS" + id + "\n\n";
116 out += GetCommonDeclarations(); 118 out += GetCommonDeclarations();
117 119
118 out += R"( 120 out += R"(
119layout(location = 0) out vec4 FragColor0; 121layout (location = 0) out vec4 FragColor0;
120layout(location = 1) out vec4 FragColor1; 122layout (location = 1) out vec4 FragColor1;
121layout(location = 2) out vec4 FragColor2; 123layout (location = 2) out vec4 FragColor2;
122layout(location = 3) out vec4 FragColor3; 124layout (location = 3) out vec4 FragColor3;
123layout(location = 4) out vec4 FragColor4; 125layout (location = 4) out vec4 FragColor4;
124layout(location = 5) out vec4 FragColor5; 126layout (location = 5) out vec4 FragColor5;
125layout(location = 6) out vec4 FragColor6; 127layout (location = 6) out vec4 FragColor6;
126layout(location = 7) out vec4 FragColor7; 128layout (location = 7) out vec4 FragColor7;
127 129
128layout (location = 0) in vec4 position; 130layout (location = 0) in vec4 position;
129 131
@@ -155,8 +157,9 @@ bool AlphaFunc(in float value) {
155 default: 157 default:
156 return false; 158 return false;
157 } 159 }
158})"; 160}
159 161
162)";
160 ShaderIR program_ir(setup.program.code, PROGRAM_OFFSET); 163 ShaderIR program_ir(setup.program.code, PROGRAM_OFFSET);
161 ProgramResult program = 164 ProgramResult program =
162 Decompile(program_ir, Maxwell3D::Regs::ShaderStage::Fragment, "fragment"); 165 Decompile(program_ir, Maxwell3D::Regs::ShaderStage::Fragment, "fragment");
@@ -171,4 +174,5 @@ void main() {
171)"; 174)";
172 return {out, program.second}; 175 return {out, program.second};
173} 176}
177
174} // namespace OpenGL::GLShader \ No newline at end of file 178} // namespace OpenGL::GLShader \ No newline at end of file