diff options
| author | skal <pascal.massimino@gmail.com> | 2026-03-12 21:08:36 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-03-12 21:08:36 +0100 |
| commit | ba5154165378b0097a8dbc57cb3a2c74b17b271c (patch) | |
| tree | ec242e6b8cafb6514ce433015238d47e41293253 | |
| parent | 67c6f166748a4012122a6e978f2f7dbdaee503cc (diff) | |
fix(win): accept SuccessSuboptimal in surface texture status check
Wine/Vulkan returns WGPUSurfaceGetCurrentTextureStatus_SuccessSuboptimal
instead of SuccessOptimal, causing the blit pass to be skipped entirely
and the window to stay black.
Fixed in seq_compiler.py (the source template); regenerated timeline.cc.
Tests: 35/35.
handoff(Gemini): Wine black screen fixed — root cause was status code
check rejecting suboptimal swapchain; exe now renders on Wine.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
| -rwxr-xr-x | tools/seq_compiler.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/tools/seq_compiler.py b/tools/seq_compiler.py index e3f93af..dfd2ea4 100755 --- a/tools/seq_compiler.py +++ b/tools/seq_compiler.py @@ -663,7 +663,8 @@ void RenderTimeline(WGPUSurface surface, float time, int width, int height, WGPUSurfaceTexture surface_texture; wgpuSurfaceGetCurrentTexture(surface, &surface_texture); - if (surface_texture.status == WGPUSurfaceGetCurrentTextureStatus_SuccessOptimal) { + if (surface_texture.status == WGPUSurfaceGetCurrentTextureStatus_SuccessOptimal || + surface_texture.status == WGPUSurfaceGetCurrentTextureStatus_SuccessSuboptimal) { WGPURenderPassColorAttachment blit_attach = {}; WGPUTextureView blit_view = surface_texture.texture ? wgpuTextureCreateView(surface_texture.texture, nullptr) |
