summaryrefslogtreecommitdiff
path: root/src/gpu/texture_readback.cc
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-03-12 17:14:57 +0100
committerskal <pascal.massimino@gmail.com>2026-03-12 17:14:57 +0100
commitefad11008616d30f685752fc70aa05be524c1a78 (patch)
tree3a2dad4e054749af900c03800b3868d7a26a7678 /src/gpu/texture_readback.cc
parentce032eb25a480c086edcd7bbfa4a742e5e44a6a7 (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/gpu/texture_readback.cc')
-rw-r--r--src/gpu/texture_readback.cc26
1 files changed, 1 insertions, 25 deletions
diff --git a/src/gpu/texture_readback.cc b/src/gpu/texture_readback.cc
index e512428..e7f2729 100644
--- a/src/gpu/texture_readback.cc
+++ b/src/gpu/texture_readback.cc
@@ -71,19 +71,7 @@ std::vector<uint8_t> read_texture_pixels(WGPUInstance instance,
// Wait for copy to complete before mapping
wgpuDevicePoll(device, true, nullptr);
- // Map buffer for reading (API differs between Win32 and native)
-#if defined(DEMO_CROSS_COMPILE_WIN32)
- // Win32: Old callback API
- MapState map_state = {};
- auto map_cb = [](WGPUBufferMapAsyncStatus status, void* userdata) {
- MapState* state = (MapState*)(userdata);
- state->status = status;
- state->done = true;
- };
- wgpuBufferMapAsync(staging, WGPUMapMode_Read, 0, buffer_size, map_cb,
- &map_state);
-#else
- // Native: New callback info API
+ // Map buffer for reading
MapState map_state = {};
auto map_cb = [](WGPUMapAsyncStatus status, WGPUStringView message,
void* userdata, void* user2) {
@@ -99,7 +87,6 @@ std::vector<uint8_t> read_texture_pixels(WGPUInstance instance,
map_info.callback = map_cb;
map_info.userdata1 = &map_state;
wgpuBufferMapAsync(staging, WGPUMapMode_Read, 0, buffer_size, map_info);
-#endif
// Wait for mapping to complete (synchronous blocking)
for (int i = 0; i < 100 && !map_state.done; ++i) {
@@ -221,16 +208,6 @@ std::vector<uint8_t> texture_readback_fp16_to_u8(WGPUDevice device,
wgpuDevicePoll(device, true, nullptr);
// Map buffer
-#if defined(DEMO_CROSS_COMPILE_WIN32)
- MapState map_state = {};
- auto map_cb = [](WGPUBufferMapAsyncStatus status, void* userdata) {
- MapState* state = (MapState*)(userdata);
- state->status = status;
- state->done = true;
- };
- wgpuBufferMapAsync(staging, WGPUMapMode_Read, 0, buffer_size, map_cb,
- &map_state);
-#else
MapState map_state = {};
auto map_cb = [](WGPUMapAsyncStatus status, WGPUStringView message,
void* userdata, void* user2) {
@@ -245,7 +222,6 @@ std::vector<uint8_t> texture_readback_fp16_to_u8(WGPUDevice device,
map_info.callback = map_cb;
map_info.userdata1 = &map_state;
wgpuBufferMapAsync(staging, WGPUMapMode_Read, 0, buffer_size, map_info);
-#endif
for (int i = 0; i < 100 && !map_state.done; ++i) {
wgpuDevicePoll(device, true, nullptr);