diff options
| -rw-r--r-- | src/video_core/renderer_opengl/util_shaders.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/video_core/renderer_opengl/util_shaders.cpp b/src/video_core/renderer_opengl/util_shaders.cpp index 7e32f49ca..abaf1ee6a 100644 --- a/src/video_core/renderer_opengl/util_shaders.cpp +++ b/src/video_core/renderer_opengl/util_shaders.cpp | |||
| @@ -118,7 +118,12 @@ void UtilShaders::ASTCDecode(Image& image, const ImageBufferMap& map, | |||
| 118 | 118 | ||
| 119 | glDispatchCompute(num_dispatches_x, num_dispatches_y, image.info.resources.layers); | 119 | glDispatchCompute(num_dispatches_x, num_dispatches_y, image.info.resources.layers); |
| 120 | } | 120 | } |
| 121 | glMemoryBarrier(GL_ALL_BARRIER_BITS); | 121 | // Precautionary barrier to ensure the compute shader is done decoding prior to texture access. |
| 122 | // GL_TEXTURE_FETCH_BARRIER_BIT and GL_SHADER_IMAGE_ACCESS_BARRIER_BIT are used in a separate | ||
| 123 | // glMemoryBarrier call by the texture cache runtime | ||
| 124 | glMemoryBarrier(GL_UNIFORM_BARRIER_BIT | GL_COMMAND_BARRIER_BIT | GL_PIXEL_BUFFER_BARRIER_BIT | | ||
| 125 | GL_TEXTURE_UPDATE_BARRIER_BIT | GL_BUFFER_UPDATE_BARRIER_BIT | | ||
| 126 | GL_SHADER_STORAGE_BARRIER_BIT | GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT); | ||
| 122 | program_manager.RestoreGuestCompute(); | 127 | program_manager.RestoreGuestCompute(); |
| 123 | } | 128 | } |
| 124 | 129 | ||