// TODO: Dawn specific typedef struct WGPUDawnCacheDeviceDescriptor { WGPUChainedStruct chain; char const * isolationKey; } WGPUDawnCacheDeviceDescriptor; // TODO: Dawn specific typedef struct WGPUDawnEncoderInternalUsageDescriptor { WGPUChainedStruct chain; bool useInternalUsages; } WGPUDawnEncoderInternalUsageDescriptor; // TODO: Dawn specific typedef struct WGPUDawnInstanceDescriptor { WGPUChainedStruct chain; uint32_t additionalRuntimeSearchPathsCount; const char* const * additionalRuntimeSearchPaths; } WGPUDawnInstanceDescriptor; // TODO: Dawn specific typedef struct WGPUDawnTextureInternalUsageDescriptor { WGPUChainedStruct chain; WGPUTextureUsageFlags internalUsage; } WGPUDawnTextureInternalUsageDescriptor; // TODO: Dawn specific typedef struct WGPUDawnTogglesDeviceDescriptor { WGPUChainedStruct chain; uint32_t forceEnabledTogglesCount; const char* const * forceEnabledToggles; uint32_t forceDisabledTogglesCount; const char* const * forceDisabledToggles; } WGPUDawnTogglesDeviceDescriptor; // TODO: Dawn-specific? typedef struct WGPUCopyTextureForBrowserOptions { WGPUChainedStruct const * nextInChain; bool flipY; bool needsColorSpaceConversion; WGPUAlphaMode srcAlphaMode; float const * srcTransferFunctionParameters; float const * conversionMatrix; float const * dstTransferFunctionParameters; WGPUAlphaMode dstAlphaMode; } WGPUCopyTextureForBrowserOptions; typedef void (*WGPUCreateRenderPipelineAsyncCallback)(WGPUCreatePipelineAsyncStatus status, WGPURenderPipeline pipeline, char const * message, void * userdata); typedef void (*WGPUDeviceLostCallback)(WGPUDeviceLostReason reason, char const * message, void * userdata); typedef void (*WGPUErrorCallback)(WGPUErrorType type, char const * message, void * userdata); typedef void (*WGPULoggingCallback)(WGPULoggingType type, char const * message, void * userdata); typedef void (*WGPUProc)(); typedef enum WGPUSType { // webgpu.h upstream: WGPUSType_Invalid = 0x00000000, WGPUSType_PrimitiveDepthClipControl = 0x00000007, WGPUSType_SurfaceDescriptorFromWaylandSurface = 0x00000008, WGPUSType_SurfaceDescriptorFromAndroidNativeWindow = 0x00000009, // webgpu.h dawn: WGPUSType_ExternalTextureBindingEntry = 0x00000009, WGPUSType_ExternalTextureBindingLayout = 0x0000000A, WGPUSType_DawnTextureInternalUsageDescriptor = 0x000003E8, WGPUSType_PrimitiveDepthClampingState = 0x000003E9, WGPUSType_DawnTogglesDeviceDescriptor = 0x000003EA, WGPUSType_DawnEncoderInternalUsageDescriptor = 0x000003EB, WGPUSType_DawnInstanceDescriptor = 0x000003EC, WGPUSType_DawnCacheDeviceDescriptor = 0x000003ED, } WGPUSType;