diff options
Diffstat (limited to 'src/video_core')
| -rw-r--r-- | src/video_core/engines/shader_bytecode.h | 2 | ||||
| -rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.h | 2 | ||||
| -rw-r--r-- | src/video_core/renderer_opengl/gl_shader_manager.cpp | 2 | ||||
| -rw-r--r-- | src/video_core/renderer_opengl/gl_shader_manager.h | 3 | 
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 { | 
