summaryrefslogtreecommitdiff
path: root/src/gpu/texture_readback.h
blob: 1bf770f7cbf08b1accd125397120bd302bfd1864 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// GPU texture readback utility for offline processing
// Synchronous blocking operation (waits for GPU completion)

#pragma once

// Protected with STRIP_ALL: only needed for dev tools, not final release
#if !defined(STRIP_ALL)

#include "platform/platform.h"
#include <vector>
#include <cstdint>

// Read texture pixels to CPU memory (synchronous, blocking)
// Format: BGRA8Unorm (4 bytes per pixel)
// Returns: width * height * 4 bytes
std::vector<uint8_t> read_texture_pixels(
    WGPUInstance instance,
    WGPUDevice device,
    WGPUTexture texture,
    int width,
    int height);

#endif // !defined(STRIP_ALL)