diff options
author | bunnei <bunneidev@gmail.com> | 2019-11-06 16:08:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-06 16:08:55 +0100 |
commit | 468576284d8e102f84f456a7d4ab3701c3e0280a (patch) | |
tree | d0530d0795ca205447fabe757c4e8f057daf16c9 /src/video_core/renderer_opengl/gl_rasterizer.cpp | |
parent | Merge pull request #3076 from DarkLordZach/telem-names (diff) | |
parent | gl_rasterizer: Re-enable stream buffer memory due to global memory (diff) | |
download | yuzu-468576284d8e102f84f456a7d4ab3701c3e0280a.tar yuzu-468576284d8e102f84f456a7d4ab3701c3e0280a.tar.gz yuzu-468576284d8e102f84f456a7d4ab3701c3e0280a.tar.bz2 yuzu-468576284d8e102f84f456a7d4ab3701c3e0280a.tar.lz yuzu-468576284d8e102f84f456a7d4ab3701c3e0280a.tar.xz yuzu-468576284d8e102f84f456a7d4ab3701c3e0280a.tar.zst yuzu-468576284d8e102f84f456a7d4ab3701c3e0280a.zip |
Diffstat (limited to '')
-rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index d1e147db8..e560d70d5 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp @@ -67,7 +67,7 @@ static std::size_t GetConstBufferSize(const Tegra::Engines::ConstBufferInfo& buf RasterizerOpenGL::RasterizerOpenGL(Core::System& system, Core::Frontend::EmuWindow& emu_window, ScreenInfo& info) : texture_cache{system, *this, device}, shader_cache{*this, system, emu_window, device}, - system{system}, screen_info{info}, buffer_cache{*this, system, STREAM_BUFFER_SIZE} { + system{system}, screen_info{info}, buffer_cache{*this, system, device, STREAM_BUFFER_SIZE} { shader_program_manager = std::make_unique<GLShader::ProgramManager>(); state.draw.shader_program = 0; state.Apply(); @@ -558,6 +558,8 @@ void RasterizerOpenGL::DrawPrelude() { SyncPolygonOffset(); SyncAlphaTest(); + buffer_cache.Acquire(); + // Draw the vertex batch const bool is_indexed = accelerate_draw == AccelDraw::Indexed; @@ -879,7 +881,8 @@ void RasterizerOpenGL::SetupConstBuffer(const Tegra::Engines::ConstBufferInfo& b const std::size_t size = Common::AlignUp(GetConstBufferSize(buffer, entry), sizeof(GLvec4)); const auto alignment = device.GetUniformBufferAlignment(); - const auto [cbuf, offset] = buffer_cache.UploadMemory(buffer.address, size, alignment); + const auto [cbuf, offset] = buffer_cache.UploadMemory(buffer.address, size, alignment, false, + device.HasFastBufferSubData()); bind_ubo_pushbuffer.Push(cbuf, offset, size); } |