diff options
| author | skal <pascal.massimino@gmail.com> | 2026-03-12 17:14:57 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-03-12 17:14:57 +0100 |
| commit | efad11008616d30f685752fc70aa05be524c1a78 (patch) | |
| tree | 3a2dad4e054749af900c03800b3868d7a26a7678 /src/3d | |
| parent | ce032eb25a480c086edcd7bbfa4a742e5e44a6a7 (diff) | |
fix(win): update wgpu-native to v27, unify Windows/macOS API paths
- fetch_win_deps.sh: update wgpu-native v0.19.4.1 → v27.0.4.0 (same as macOS)
- platform.h: remove v0.19 compat shims, Windows now uses WGPUStringView API
- gpu.cc/gpu.h: remove DEMO_CROSS_COMPILE_WIN32 old-API branches
- texture_readback.cc, visual_debug.cc, hybrid3d_effect.cc: same cleanup
- rotating_cube_effect.cc: remove #ifdef guard for depthSlice
- glfw3webgpu.c: remove old WGPUSurfaceDescriptorFromWindowsHWND branch
- asset_manager.cc: fix DEMO_STRIP_ALL→STRIP_ALL guard (vs_main was missing
in STRIP_ALL Windows builds because disk-loading path ran on embedded data)
- tracker.cc: skip MP3 assets gracefully in STRIP_ALL builds instead of fatal
handoff(Gemini): Windows .exe now runs under Wine. demo64k.exe renders frames
and progresses through audio timeline. Pre-existing test failures unchanged.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'src/3d')
| -rw-r--r-- | src/3d/renderer_pipelines.cc | 6 | ||||
| -rw-r--r-- | src/3d/visual_debug.cc | 18 |
2 files changed, 8 insertions, 16 deletions
diff --git a/src/3d/renderer_pipelines.cc b/src/3d/renderer_pipelines.cc index 2950a7f..3abc3bd 100644 --- a/src/3d/renderer_pipelines.cc +++ b/src/3d/renderer_pipelines.cc @@ -102,6 +102,8 @@ WGPURenderPipeline Renderer3D::create_pipeline_impl(bool use_bvh) { depth_stencil.format = WGPUTextureFormat_Depth24Plus; depth_stencil.depthWriteEnabled = WGPUOptionalBool_True; depth_stencil.depthCompare = WGPUCompareFunction_Less; + depth_stencil.stencilFront.compare = WGPUCompareFunction_Always; + depth_stencil.stencilBack.compare = WGPUCompareFunction_Always; WGPUColorTargetState color_target = {}; color_target.format = format_; @@ -214,6 +216,8 @@ void Renderer3D::create_mesh_pipeline() { depth_stencil.format = WGPUTextureFormat_Depth24Plus; depth_stencil.depthWriteEnabled = WGPUOptionalBool_True; depth_stencil.depthCompare = WGPUCompareFunction_Less; + depth_stencil.stencilFront.compare = WGPUCompareFunction_Always; + depth_stencil.stencilBack.compare = WGPUCompareFunction_Always; WGPUColorTargetState color_target = {}; color_target.format = format_; @@ -305,6 +309,8 @@ void Renderer3D::create_skybox_pipeline() { depth_stencil.format = WGPUTextureFormat_Depth24Plus; depth_stencil.depthWriteEnabled = WGPUOptionalBool_False; depth_stencil.depthCompare = WGPUCompareFunction_Always; + depth_stencil.stencilFront.compare = WGPUCompareFunction_Always; + depth_stencil.stencilBack.compare = WGPUCompareFunction_Always; WGPUColorTargetState color_target = {}; color_target.format = format_; diff --git a/src/3d/visual_debug.cc b/src/3d/visual_debug.cc index f6796d5..036d6ce 100644 --- a/src/3d/visual_debug.cc +++ b/src/3d/visual_debug.cc @@ -68,19 +68,11 @@ void VisualDebug::create_pipeline(WGPUTextureFormat format) { const char* shader_code = (const char*)GetAsset(AssetId::ASSET_SHADER_VISUAL_DEBUG, &shader_len); -#if defined(DEMO_CROSS_COMPILE_WIN32) - WGPUShaderModuleWGSLDescriptor wgsl_desc = {}; - wgsl_desc.chain.sType = WGPUSType_ShaderModuleWGSLDescriptor; - wgsl_desc.code = shader_code; - WGPUShaderModuleDescriptor shader_desc = {}; - shader_desc.nextInChain = (const WGPUChainedStruct*)&wgsl_desc.chain; -#else WGPUShaderSourceWGSL wgsl_desc = {}; wgsl_desc.chain.sType = WGPUSType_ShaderSourceWGSL; wgsl_desc.code = {shader_code, shader_len}; WGPUShaderModuleDescriptor shader_desc = {}; shader_desc.nextInChain = (const WGPUChainedStruct*)&wgsl_desc.chain; -#endif WGPUShaderModule shader_module = wgpuDeviceCreateShaderModule(device_, &shader_desc); @@ -105,21 +97,13 @@ void VisualDebug::create_pipeline(WGPUTextureFormat format) { WGPURenderPipelineDescriptor pipeline_desc = {}; pipeline_desc.layout = pipeline_layout; pipeline_desc.vertex.module = shader_module; -#if defined(DEMO_CROSS_COMPILE_WIN32) - pipeline_desc.vertex.entryPoint = "vs_main"; -#else pipeline_desc.vertex.entryPoint = str_view("vs_main"); -#endif pipeline_desc.vertex.bufferCount = 1; pipeline_desc.vertex.buffers = &vertex_layout; WGPUFragmentState fragment_state = {}; fragment_state.module = shader_module; -#if defined(DEMO_CROSS_COMPILE_WIN32) - fragment_state.entryPoint = "fs_main"; -#else fragment_state.entryPoint = str_view("fs_main"); -#endif fragment_state.targetCount = 1; WGPUColorTargetState color_target = {}; @@ -138,6 +122,8 @@ void VisualDebug::create_pipeline(WGPUTextureFormat format) { depth_stencil.depthWriteEnabled = WGPUOptionalBool_False; // Don't write depth depth_stencil.depthCompare = WGPUCompareFunction_Less; // But do test against it + depth_stencil.stencilFront.compare = WGPUCompareFunction_Always; + depth_stencil.stencilBack.compare = WGPUCompareFunction_Always; pipeline_desc.depthStencil = &depth_stencil; pipeline_desc.multisample.count = 1; |
