From ba5154165378b0097a8dbc57cb3a2c74b17b271c Mon Sep 17 00:00:00 2001 From: skal Date: Thu, 12 Mar 2026 21:08:36 +0100 Subject: fix(win): accept SuccessSuboptimal in surface texture status check MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- tools/seq_compiler.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'tools/seq_compiler.py') 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) -- cgit v1.2.3