aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndre Weissflog <floooh@gmail.com>2025-08-23 18:32:44 +0200
committerAndre Weissflog <floooh@gmail.com>2025-08-23 18:32:44 +0200
commitfd6cc149c84a8fc0d657ae2385ae62ac2fcac926 (patch)
tree5b767367af51c5dd1409cf1be218dc5cf9e4da1a
parent0afc6f6cc42c35b5bd8a07eb3d39b8a5da551bf5 (diff)
sokol_gfx.h: fix image vs view id confusion in attachment vs bindings validation (oopsie)
-rw-r--r--sokol_gfx.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/sokol_gfx.h b/sokol_gfx.h
index 3dc58945..052f749e 100644
--- a/sokol_gfx.h
+++ b/sokol_gfx.h
@@ -19606,10 +19606,19 @@ _SOKOL_PRIVATE bool _sg_validate_apply_bindings(const sg_bindings* bindings) {
if (tex_view) {
const uint32_t img_id = tex_view->cmn.img.ref.sref.id;
if (!_sg_attachments_empty(&_sg.cur_pass.atts)) {
- _SG_VALIDATE(img_id != _sg.cur_pass.atts.depth_stencil.id, VALIDATE_ABND_TEXTURE_BINDING_VS_DEPTHSTENCIL_ATTACHMENT);
+ const _sg_view_t* ds_view = _sg_lookup_view(_sg.cur_pass.atts.depth_stencil.id);
+ if (ds_view) {
+ _SG_VALIDATE(img_id != ds_view->cmn.img.ref.sref.id, VALIDATE_ABND_TEXTURE_BINDING_VS_DEPTHSTENCIL_ATTACHMENT);
+ }
for (size_t att_idx = 0; att_idx < SG_MAX_COLOR_ATTACHMENTS; att_idx++) {
- _SG_VALIDATE(img_id != _sg.cur_pass.atts.colors[att_idx].id, VALIDATE_ABND_TEXTURE_BINDING_VS_COLOR_ATTACHMENT);
- _SG_VALIDATE(img_id != _sg.cur_pass.atts.resolves[att_idx].id, VALIDATE_ABND_TEXTURE_BINDING_VS_RESOLVE_ATTACHMENT);
+ const _sg_view_t* color_view = _sg_lookup_view(_sg.cur_pass.atts.colors[att_idx].id);
+ if (color_view) {
+ _SG_VALIDATE(img_id != color_view->cmn.img.ref.sref.id, VALIDATE_ABND_TEXTURE_BINDING_VS_COLOR_ATTACHMENT);
+ }
+ const _sg_view_t* resolve_view = _sg_lookup_view(_sg.cur_pass.atts.resolves[att_idx].id);
+ if (resolve_view) {
+ _SG_VALIDATE(img_id != resolve_view->cmn.img.ref.sref.id, VALIDATE_ABND_TEXTURE_BINDING_VS_RESOLVE_ATTACHMENT);
+ }
}
}
for (size_t simg_view_idx = 0; simg_view_idx < SG_MAX_VIEW_BINDSLOTS; simg_view_idx++) {
@@ -19619,7 +19628,7 @@ _SOKOL_PRIVATE bool _sg_validate_apply_bindings(const sg_bindings* bindings) {
}
const _sg_view_t* simg_view = _sg_lookup_view(bindings->views[simg_view_idx].id);
if (simg_view) {
- _SG_VALIDATE(simg_view->cmn.img.ref.sref.id != img_id, VALIDATE_ABND_TEXTURE_VS_STORAGEIMAGE_BINDING);
+ _SG_VALIDATE(img_id != simg_view->cmn.img.ref.sref.id, VALIDATE_ABND_TEXTURE_VS_STORAGEIMAGE_BINDING);
}
}
}