diff options
Diffstat (limited to 'src/gpu/gpu.h')
| -rw-r--r-- | src/gpu/gpu.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/gpu/gpu.h b/src/gpu/gpu.h index c7ee89f..b52d6ab 100644 --- a/src/gpu/gpu.h +++ b/src/gpu/gpu.h @@ -82,8 +82,23 @@ inline void gpu_init_color_attachment(WGPURenderPassColorAttachment& attachment, #endif } +// Texture creation helper +struct TextureWithView { + WGPUTexture texture; + WGPUTextureView view; +}; + GpuBuffer gpu_create_buffer(WGPUDevice device, size_t size, uint32_t usage, const void* data = nullptr); +TextureWithView gpu_create_texture_2d(WGPUDevice device, uint32_t width, + uint32_t height, WGPUTextureFormat format, + WGPUTextureUsage usage, + uint32_t mip_levels = 1); +TextureWithView gpu_create_storage_texture_2d(WGPUDevice device, uint32_t width, + uint32_t height, + WGPUTextureFormat format); +WGPUTextureView gpu_create_mip_view(WGPUTexture texture, + WGPUTextureFormat format, uint32_t mip_level); ComputePass gpu_create_compute_pass(WGPUDevice device, const char* shader_code, ResourceBinding* bindings, int num_bindings); |
