summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar ameerj2021-06-19 11:16:25 -0400
committerGravatar ameerj2021-06-19 11:16:25 -0400
commit851c76233db1d6fab507b0ab3423284a79829ede (patch)
tree04c6cd99b7209987e86640d89f95603f00dd9314
parentastc_decoder.comp: Remove unnecessary LUT SSBOs (diff)
downloadyuzu-851c76233db1d6fab507b0ab3423284a79829ede.tar.gz
yuzu-851c76233db1d6fab507b0ab3423284a79829ede.tar.xz
yuzu-851c76233db1d6fab507b0ab3423284a79829ede.zip
util_shaders: Specify ASTC decoder memory barrier bits
Diffstat (limited to '')
-rw-r--r--src/video_core/renderer_opengl/util_shaders.cpp7
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