diff options
author | Lioncash <mathew1800@gmail.com> | 2018-07-20 01:04:32 -0400 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2018-07-20 01:11:20 -0400 |
commit | e6b3d3a9ead9a6bafc2a91caf917d58df49ef091 (patch) | |
tree | 7bf2f3a0bdda269adf3b981dc94f1ac20852773a /src | |
parent | d3cfaf95c883512691df01e90d8ab7e8873c2c3d (diff) |
gl_state: Get rid of mismatched sign conversions
While we're at it, amend the loop variable type to be the same width as
that returned by the .size() call.
Diffstat (limited to 'src')
-rw-r--r-- | src/video_core/renderer_opengl/gl_state.cpp | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/src/video_core/renderer_opengl/gl_state.cpp b/src/video_core/renderer_opengl/gl_state.cpp index 2e8a422a8..8eced0480 100644 --- a/src/video_core/renderer_opengl/gl_state.cpp +++ b/src/video_core/renderer_opengl/gl_state.cpp @@ -181,28 +181,31 @@ void OpenGLState::Apply() const { } // Textures - for (int i = 0; i < std::size(texture_units); ++i) { - if (texture_units[i].texture_2d != cur_state.texture_units[i].texture_2d) { - glActiveTexture(TextureUnits::MaxwellTexture(i).Enum()); - glBindTexture(GL_TEXTURE_2D, texture_units[i].texture_2d); + for (std::size_t i = 0; i < std::size(texture_units); ++i) { + const auto& texture_unit = texture_units[i]; + const auto& cur_state_texture_unit = cur_state.texture_units[i]; + + if (texture_unit.texture_2d != cur_state_texture_unit.texture_2d) { + glActiveTexture(TextureUnits::MaxwellTexture(static_cast<int>(i)).Enum()); + glBindTexture(GL_TEXTURE_2D, texture_unit.texture_2d); } - if (texture_units[i].sampler != cur_state.texture_units[i].sampler) { - glBindSampler(static_cast<GLuint>(i), texture_units[i].sampler); + if (texture_unit.sampler != cur_state_texture_unit.sampler) { + glBindSampler(static_cast<GLuint>(i), texture_unit.sampler); } // Update the texture swizzle - if (texture_units[i].swizzle.r != cur_state.texture_units[i].swizzle.r || - texture_units[i].swizzle.g != cur_state.texture_units[i].swizzle.g || - texture_units[i].swizzle.b != cur_state.texture_units[i].swizzle.b || - texture_units[i].swizzle.a != cur_state.texture_units[i].swizzle.a) { - std::array<GLint, 4> mask = {texture_units[i].swizzle.r, texture_units[i].swizzle.g, - texture_units[i].swizzle.b, texture_units[i].swizzle.a}; + if (texture_unit.swizzle.r != cur_state_texture_unit.swizzle.r || + texture_unit.swizzle.g != cur_state_texture_unit.swizzle.g || + texture_unit.swizzle.b != cur_state_texture_unit.swizzle.b || + texture_unit.swizzle.a != cur_state_texture_unit.swizzle.a) { + std::array<GLint, 4> mask = {texture_unit.swizzle.r, texture_unit.swizzle.g, + texture_unit.swizzle.b, texture_unit.swizzle.a}; glTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_RGBA, mask.data()); } } // Constbuffers - for (u32 stage = 0; stage < draw.const_buffers.size(); ++stage) { - for (u32 buffer_id = 0; buffer_id < draw.const_buffers[stage].size(); ++buffer_id) { + for (std::size_t stage = 0; stage < draw.const_buffers.size(); ++stage) { + for (std::size_t buffer_id = 0; buffer_id < draw.const_buffers[stage].size(); ++buffer_id) { auto& current = cur_state.draw.const_buffers[stage][buffer_id]; auto& new_state = draw.const_buffers[stage][buffer_id]; if (current.enabled != new_state.enabled || current.bindpoint != new_state.bindpoint || |