summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-04-15 00:50:06 +0200
committerbunnei <bunneidev@gmail.com>2018-04-15 00:50:06 +0200
commit1b41b875dcd24c662b947731f48f4d1c7131fa0b (patch)
tree57b8c1f1952c53d54a0c14b00543dd21302d661b
parentshaders: Address PR review feedback. (diff)
downloadyuzu-1b41b875dcd24c662b947731f48f4d1c7131fa0b.tar
yuzu-1b41b875dcd24c662b947731f48f4d1c7131fa0b.tar.gz
yuzu-1b41b875dcd24c662b947731f48f4d1c7131fa0b.tar.bz2
yuzu-1b41b875dcd24c662b947731f48f4d1c7131fa0b.tar.lz
yuzu-1b41b875dcd24c662b947731f48f4d1c7131fa0b.tar.xz
yuzu-1b41b875dcd24c662b947731f48f4d1c7131fa0b.tar.zst
yuzu-1b41b875dcd24c662b947731f48f4d1c7131fa0b.zip
-rw-r--r--src/video_core/engines/shader_bytecode.h2
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.h2
-rw-r--r--src/video_core/renderer_opengl/gl_shader_manager.cpp2
-rw-r--r--src/video_core/renderer_opengl/gl_shader_manager.h3
4 files changed, 5 insertions, 4 deletions
diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h
index 98af381df..eff0c35a1 100644
--- a/src/video_core/engines/shader_bytecode.h
+++ b/src/video_core/engines/shader_bytecode.h
@@ -323,7 +323,5 @@ static_assert(sizeof(Instruction) == 0x8, "Incorrect structure size");
static_assert(std::is_standard_layout<Instruction>::value,
"Structure does not have standard layout");
-#pragma pack()
-
} // namespace Shader
} // namespace Tegra
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.h b/src/video_core/renderer_opengl/gl_rasterizer.h
index 32b897eb2..71c21c69b 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.h
+++ b/src/video_core/renderer_opengl/gl_rasterizer.h
@@ -128,7 +128,7 @@ private:
OGLVertexArray hw_vao;
std::array<bool, 16> hw_vao_enabled_attributes;
- std::array<SamplerInfo, 32> texture_samplers;
+ std::array<SamplerInfo, GLShader::NumTextureSamplers> texture_samplers;
static constexpr size_t VERTEX_BUFFER_SIZE = 128 * 1024 * 1024;
std::unique_ptr<OGLStreamBuffer> vertex_buffer;
OGLBuffer uniform_buffer;
diff --git a/src/video_core/renderer_opengl/gl_shader_manager.cpp b/src/video_core/renderer_opengl/gl_shader_manager.cpp
index 67f2be056..7fceedce8 100644
--- a/src/video_core/renderer_opengl/gl_shader_manager.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_manager.cpp
@@ -38,7 +38,7 @@ void SetShaderSamplerBindings(GLuint shader) {
cur_state.Apply();
// Set the texture samplers to correspond to different texture units
- for (u32 texture = 0; texture < 32; ++texture) {
+ for (u32 texture = 0; texture < NumTextureSamplers; ++texture) {
// Set the texture samplers to correspond to different texture units
std::string uniform_name = "tex[" + std::to_string(texture) + "]";
GLint uniform_tex = glGetUniformLocation(shader, uniform_name.c_str());
diff --git a/src/video_core/renderer_opengl/gl_shader_manager.h b/src/video_core/renderer_opengl/gl_shader_manager.h
index b5a7b2a18..5c8560cf5 100644
--- a/src/video_core/renderer_opengl/gl_shader_manager.h
+++ b/src/video_core/renderer_opengl/gl_shader_manager.h
@@ -14,6 +14,9 @@
namespace GLShader {
+/// Number of OpenGL texture samplers that can be used in the fragment shader
+static constexpr size_t NumTextureSamplers = 32;
+
using Tegra::Engines::Maxwell3D;
namespace Impl {