mach/gpu/src/TODO
Stephen Gutekanst 38535c7b5f gpu: implement Device.createComputePipelineAsync
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00

71 lines
2.7 KiB
Text

// 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;