mirror of
https://github.com/Kbz-8/Pulse.git
synced 2026-01-11 07:23:35 +00:00
36 lines
1.0 KiB
C
36 lines
1.0 KiB
C
// Copyright (C) 2025 kanel
|
|
// This file is part of "Pulse"
|
|
// For conditions of distribution and use, see copyright notice in LICENSE
|
|
|
|
#include <Pulse.h>
|
|
|
|
#ifdef PULSE_ENABLE_WEBGPU_BACKEND
|
|
|
|
#ifndef PULSE_WEBGPU_H_
|
|
#define PULSE_WEBGPU_H_
|
|
|
|
#ifdef __STDC_NO_ATOMICS__
|
|
#error "Atomic support is not present"
|
|
#endif
|
|
|
|
#include <webgpu/webgpu.h>
|
|
|
|
#define WEBGPU_RETRIEVE_DRIVER_DATA_AS(handle, cast) ((cast)handle->driver_data)
|
|
|
|
typedef struct WebGPUDriverData
|
|
{
|
|
WGPUInstance instance;
|
|
} WebGPUDriverData;
|
|
|
|
PulseBackendFlags WebGPUCheckSupport(PulseBackendFlags candidates, PulseShaderFormatsFlags shader_formats_used); // Return PULSE_BACKEND_WEBGPU in case of success and PULSE_BACKEND_INVALID otherwise
|
|
void WebGPUDeviceTick(PulseDevice device);
|
|
|
|
uint32_t WebGPUBytesPerRow(int32_t width, PulseImageFormat format);
|
|
uint32_t WebGPUImageFormatTexelBlockSize(PulseImageFormat format);
|
|
int32_t WebGPUGetImageBlockHeight(PulseImageFormat format);
|
|
int32_t WebGPUGetImageBlockWidth(PulseImageFormat format);
|
|
|
|
#endif // PULSE_WEBGPU_H_
|
|
|
|
#endif // PULSE_ENABLE_WEBGPU_BACKEND
|