aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndre Weissflog <floooh@gmail.com>2025-05-04 19:12:23 +0200
committerAndre Weissflog <floooh@gmail.com>2025-05-04 19:12:23 +0200
commit4bd3433188b6ee0549cb522d20d2efa32e9cd2c1 (patch)
tree9e1bc1ea52f352681d1fe93b9d20637f0ce8d7d0
parente9214dbd78559131d44004b82291890effb583c5 (diff)
sokol_gfx.h gl: fix pipeline state cache problem in compute passes with storage attachments
-rw-r--r--sokol_gfx.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/sokol_gfx.h b/sokol_gfx.h
index f28085e9..c1fcb549 100644
--- a/sokol_gfx.h
+++ b/sokol_gfx.h
@@ -9773,6 +9773,11 @@ _SOKOL_PRIVATE void _sg_gl_begin_pass(const sg_pass* pass) {
// early out if this a compute pass
if (pass->compute) {
+ // first pipeline in pass needs to re-apply storage attachments
+ if (_sg.cur_pass.atts && _sg.cur_pass.atts->cmn.has_storage_attachments) {
+ _sg.gl.cache.cur_pipeline = 0;
+ _sg.gl.cache.cur_pipeline_id.id = SG_INVALID_ID;
+ }
return;
}