aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndre Weissflog <floooh@gmail.com>2024-02-18 14:59:29 +0100
committerAndre Weissflog <floooh@gmail.com>2024-02-18 14:59:29 +0100
commitd773c7ebbda4257d26eef19acab1015c12e52faf (patch)
tree820212cac1aa8b94a29396b6bfa153386569f608
parentd2b206ca358f8499db2fd9c7cb6f3a60ae32b54f (diff)
sokol_gfx.h: only fix swapchain pass defaults when it's actually a swapchain pass
-rw-r--r--sokol_gfx.h21
1 files changed, 12 insertions, 9 deletions
diff --git a/sokol_gfx.h b/sokol_gfx.h
index 86c43338..93d5f28e 100644
--- a/sokol_gfx.h
+++ b/sokol_gfx.h
@@ -16872,15 +16872,18 @@ _SOKOL_PRIVATE sg_desc _sg_desc_defaults(const sg_desc* desc) {
_SOKOL_PRIVATE sg_pass _sg_pass_defaults(const sg_pass* pass) {
sg_pass res = *pass;
- res.swapchain.sample_count = _sg_def(res.swapchain.sample_count, 1);
- #if defined(SOKOL_WGPU)
- SOKOL_ASSERT(SG_PIXELFORMAT_NONE < res.swapchain.color_format);
- #elif (defined(SOKOL_METAL) || defined(SOKOL_D3D11))
- res.swapchain.color_format = _sg_def(res.swapchain.color_format, SG_PIXELFORMAT_BGRA8);
- #else
- res.swapchain.color_format = _sg_def(res.swapchain.color_format, SG_PIXELFORMAT_RGBA8);
- #endif
- res.swapchain.depth_format = _sg_def(res.swapchain.depth_format, SG_PIXELFORMAT_DEPTH_STENCIL);
+ if (res.attachments.id == SG_INVALID_ID) {
+ // this is a swapchain-pass
+ res.swapchain.sample_count = _sg_def(res.swapchain.sample_count, 1);
+ #if defined(SOKOL_WGPU)
+ SOKOL_ASSERT(SG_PIXELFORMAT_NONE < res.swapchain.color_format);
+ #elif (defined(SOKOL_METAL) || defined(SOKOL_D3D11))
+ res.swapchain.color_format = _sg_def(res.swapchain.color_format, SG_PIXELFORMAT_BGRA8);
+ #else
+ res.swapchain.color_format = _sg_def(res.swapchain.color_format, SG_PIXELFORMAT_RGBA8);
+ #endif
+ res.swapchain.depth_format = _sg_def(res.swapchain.depth_format, SG_PIXELFORMAT_DEPTH_STENCIL);
+ }
res.action = _sg_pass_action_defaults(&res.action);
return res;
}