diff options
author | Patrick Elsässer <paddy334@web.de> | 2018-09-08 08:59:59 +0200 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2018-09-08 08:59:59 +0200 |
commit | a8974f0556885857e2c0cd7509de0a80d5525983 (patch) | |
tree | 60aa72e61fbb2ec1c6a832d566ea537ac9c59fba /src/video_core/renderer_opengl/gl_rasterizer.cpp | |
parent | Merge pull request #1257 from lioncash/process (diff) | |
download | yuzu-a8974f0556885857e2c0cd7509de0a80d5525983.tar yuzu-a8974f0556885857e2c0cd7509de0a80d5525983.tar.gz yuzu-a8974f0556885857e2c0cd7509de0a80d5525983.tar.bz2 yuzu-a8974f0556885857e2c0cd7509de0a80d5525983.tar.lz yuzu-a8974f0556885857e2c0cd7509de0a80d5525983.tar.xz yuzu-a8974f0556885857e2c0cd7509de0a80d5525983.tar.zst yuzu-a8974f0556885857e2c0cd7509de0a80d5525983.zip |
Diffstat (limited to '')
-rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index 6e89fa6e3..19399fab8 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp @@ -152,13 +152,13 @@ void RasterizerOpenGL::SetupVertexArrays() { const Tegra::GPUVAddr end = regs.vertex_array_limit[index].LimitAddress(); if (regs.instanced_arrays.IsInstancingEnabled(index) && vertex_array.divisor != 0) { - start += vertex_array.stride * (gpu.state.current_instance / vertex_array.divisor); + start += static_cast<Tegra::GPUVAddr>(vertex_array.stride) * + (gpu.state.current_instance / vertex_array.divisor); } ASSERT(end > start); - u64 size = end - start + 1; - - GLintptr vertex_buffer_offset = buffer_cache.UploadMemory(start, size); + const u64 size = end - start + 1; + const GLintptr vertex_buffer_offset = buffer_cache.UploadMemory(start, size); // Bind the vertex array to the buffer at the current offset. glBindVertexBuffer(index, buffer_cache.GetHandle(), vertex_buffer_offset, @@ -178,7 +178,7 @@ void RasterizerOpenGL::SetupVertexArrays() { void RasterizerOpenGL::SetupShaders() { MICROPROFILE_SCOPE(OpenGL_Shader); - auto& gpu = Core::System::GetInstance().GPU().Maxwell3D(); + const auto& gpu = Core::System::GetInstance().GPU().Maxwell3D(); // Next available bindpoints to use when uploading the const buffers and textures to the GLSL // shaders. The constbuffer bindpoint starts after the shader stage configuration bind points. @@ -186,7 +186,7 @@ void RasterizerOpenGL::SetupShaders() { u32 current_texture_bindpoint = 0; for (size_t index = 0; index < Maxwell::MaxShaderProgram; ++index) { - auto& shader_config = gpu.regs.shader_config[index]; + const auto& shader_config = gpu.regs.shader_config[index]; const Maxwell::ShaderProgram program{static_cast<Maxwell::ShaderProgram>(index)}; // Skip stages that are not enabled @@ -198,7 +198,7 @@ void RasterizerOpenGL::SetupShaders() { GLShader::MaxwellUniformData ubo{}; ubo.SetFromRegs(gpu.state.shader_stages[stage]); - GLintptr offset = buffer_cache.UploadHostMemory( + const GLintptr offset = buffer_cache.UploadHostMemory( &ubo, sizeof(ubo), static_cast<size_t>(uniform_buffer_alignment)); // Bind the buffer @@ -436,7 +436,7 @@ void RasterizerOpenGL::DrawArrays() { ScopeAcquireGLContext acquire_context{emu_window}; - auto [dirty_color_surface, dirty_depth_surface] = + const auto [dirty_color_surface, dirty_depth_surface] = ConfigureFramebuffers(true, regs.zeta.Address() != 0 && regs.zeta_enable != 0, true); SyncDepthTestState(); @@ -450,7 +450,8 @@ void RasterizerOpenGL::DrawArrays() { // Draw the vertex batch const bool is_indexed = accelerate_draw == AccelDraw::Indexed; - const u64 index_buffer_size{regs.index_array.count * regs.index_array.FormatSizeInBytes()}; + const u64 index_buffer_size{static_cast<u64>(regs.index_array.count) * + static_cast<u64>(regs.index_array.FormatSizeInBytes())}; state.draw.vertex_buffer = buffer_cache.GetHandle(); state.Apply(); @@ -493,7 +494,8 @@ void RasterizerOpenGL::DrawArrays() { const GLint base_vertex{static_cast<GLint>(regs.vb_element_base)}; // Adjust the index buffer offset so it points to the first desired index. - index_buffer_offset += regs.index_array.first * regs.index_array.FormatSizeInBytes(); + index_buffer_offset += static_cast<GLintptr>(regs.index_array.first) * + static_cast<GLintptr>(regs.index_array.FormatSizeInBytes()); glDrawElementsBaseVertex(primitive_mode, regs.index_array.count, MaxwellToGL::IndexFormat(regs.index_array.format), @@ -588,7 +590,7 @@ void RasterizerOpenGL::SamplerInfo::Create() { } void RasterizerOpenGL::SamplerInfo::SyncWithConfig(const Tegra::Texture::TSCEntry& config) { - GLuint s = sampler.handle; + const GLuint s = sampler.handle; if (mag_filter != config.mag_filter) { mag_filter = config.mag_filter; @@ -682,7 +684,7 @@ u32 RasterizerOpenGL::SetupTextures(Maxwell::ShaderStage stage, Shader& shader, for (u32 bindpoint = 0; bindpoint < entries.size(); ++bindpoint) { const auto& entry = entries[bindpoint]; - u32 current_bindpoint = current_unit + bindpoint; + const u32 current_bindpoint = current_unit + bindpoint; // Bind the uniform to the sampler. |