diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/renderer_opengl/gl_buffer_cache.cpp | 3 | ||||
| -rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 1 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_rasterizer.cpp | 2 |
3 files changed, 2 insertions, 4 deletions
diff --git a/src/video_core/renderer_opengl/gl_buffer_cache.cpp b/src/video_core/renderer_opengl/gl_buffer_cache.cpp index cb5792407..4efce0de7 100644 --- a/src/video_core/renderer_opengl/gl_buffer_cache.cpp +++ b/src/video_core/renderer_opengl/gl_buffer_cache.cpp | |||
| @@ -52,7 +52,7 @@ Buffer OGLBufferCache::CreateBlock(VAddr cpu_addr, std::size_t size) { | |||
| 52 | } | 52 | } |
| 53 | 53 | ||
| 54 | void OGLBufferCache::WriteBarrier() { | 54 | void OGLBufferCache::WriteBarrier() { |
| 55 | glMemoryBarrier(GL_ALL_BARRIER_BITS); | 55 | glMemoryBarrier(GL_SHADER_STORAGE_BARRIER_BIT); |
| 56 | } | 56 | } |
| 57 | 57 | ||
| 58 | GLuint OGLBufferCache::ToHandle(const Buffer& buffer) { | 58 | GLuint OGLBufferCache::ToHandle(const Buffer& buffer) { |
| @@ -72,6 +72,7 @@ void OGLBufferCache::UploadBlockData(const Buffer& buffer, std::size_t offset, s | |||
| 72 | void OGLBufferCache::DownloadBlockData(const Buffer& buffer, std::size_t offset, std::size_t size, | 72 | void OGLBufferCache::DownloadBlockData(const Buffer& buffer, std::size_t offset, std::size_t size, |
| 73 | u8* data) { | 73 | u8* data) { |
| 74 | MICROPROFILE_SCOPE(OpenGL_Buffer_Download); | 74 | MICROPROFILE_SCOPE(OpenGL_Buffer_Download); |
| 75 | glMemoryBarrier(GL_BUFFER_UPDATE_BARRIER_BIT); | ||
| 75 | glGetNamedBufferSubData(buffer->GetHandle(), static_cast<GLintptr>(offset), | 76 | glGetNamedBufferSubData(buffer->GetHandle(), static_cast<GLintptr>(offset), |
| 76 | static_cast<GLsizeiptr>(size), data); | 77 | static_cast<GLsizeiptr>(size), data); |
| 77 | } | 78 | } |
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index fbd81b895..bc57d396e 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp | |||
| @@ -630,7 +630,6 @@ void RasterizerOpenGL::DispatchCompute(GPUVAddr code_addr) { | |||
| 630 | const auto& launch_desc = system.GPU().KeplerCompute().launch_description; | 630 | const auto& launch_desc = system.GPU().KeplerCompute().launch_description; |
| 631 | glDispatchCompute(launch_desc.grid_dim_x, launch_desc.grid_dim_y, launch_desc.grid_dim_z); | 631 | glDispatchCompute(launch_desc.grid_dim_x, launch_desc.grid_dim_y, launch_desc.grid_dim_z); |
| 632 | ++num_queued_commands; | 632 | ++num_queued_commands; |
| 633 | system.GPU().TickWork(); | ||
| 634 | } | 633 | } |
| 635 | 634 | ||
| 636 | void RasterizerOpenGL::ResetCounter(VideoCore::QueryType type) { | 635 | void RasterizerOpenGL::ResetCounter(VideoCore::QueryType type) { |
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp index 926ecf38e..f8b5a5a92 100644 --- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp +++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp | |||
| @@ -494,8 +494,6 @@ void RasterizerVulkan::DispatchCompute(GPUVAddr code_addr) { | |||
| 494 | descriptor_set, {}); | 494 | descriptor_set, {}); |
| 495 | cmdbuf.Dispatch(grid_x, grid_y, grid_z); | 495 | cmdbuf.Dispatch(grid_x, grid_y, grid_z); |
| 496 | }); | 496 | }); |
| 497 | |||
| 498 | system.GPU().TickWork(); | ||
| 499 | } | 497 | } |
| 500 | 498 | ||
| 501 | void RasterizerVulkan::ResetCounter(VideoCore::QueryType type) { | 499 | void RasterizerVulkan::ResetCounter(VideoCore::QueryType type) { |