gpu: translate simple webgpu.h fields

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
Stephen Gutekanst 2022-07-15 00:58:05 -07:00 committed by Stephen Gutekanst
parent 71ed3ad6f7
commit 6bca2107fd

View file

@ -1,47 +1,47 @@
typedef struct WGPUBufferDescriptor { typedef struct WGPUBufferDescriptor {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
char const * label; // nullable label: ?[*:0]const u8 = null,
WGPUBufferUsageFlags usage; WGPUBufferUsageFlags usage;
uint64_t size; size: u64,
bool mappedAtCreation; mapped_at_creation: bool,
} WGPUBufferDescriptor; } WGPUBufferDescriptor;
typedef struct WGPUCommandBufferDescriptor { typedef struct WGPUCommandBufferDescriptor {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
char const * label; // nullable label: ?[*:0]const u8 = null,
} WGPUCommandBufferDescriptor; } WGPUCommandBufferDescriptor;
typedef struct WGPUCommandEncoderDescriptor { typedef struct WGPUCommandEncoderDescriptor {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
char const * label; // nullable label: ?[*:0]const u8 = null,
} WGPUCommandEncoderDescriptor; } WGPUCommandEncoderDescriptor;
typedef struct WGPUCompilationMessage { typedef struct WGPUCompilationMessage {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
char const * message; // nullable char const * message; // nullable
WGPUCompilationMessageType type; WGPUCompilationMessageType type;
uint64_t lineNum; line_num: u64,
uint64_t linePos; line_pos: u64,
uint64_t offset; offset: u64,
uint64_t length; length: u64,
} WGPUCompilationMessage; } WGPUCompilationMessage;
typedef struct WGPUComputePassTimestampWrite { typedef struct WGPUComputePassTimestampWrite {
WGPUQuerySet querySet; WGPUQuerySet querySet;
uint32_t queryIndex; query_index: u32,
WGPUComputePassTimestampLocation location; WGPUComputePassTimestampLocation location;
} WGPUComputePassTimestampWrite; } WGPUComputePassTimestampWrite;
typedef struct WGPUConstantEntry { typedef struct WGPUConstantEntry {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
char const * key; char const * key;
double value; value: f64,
} WGPUConstantEntry; } WGPUConstantEntry;
typedef struct WGPUCopyTextureForBrowserOptions { typedef struct WGPUCopyTextureForBrowserOptions {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
bool flipY; flip_y: bool,
bool needsColorSpaceConversion; needs_color_space_conversion: bool,
WGPUAlphaMode srcAlphaMode; WGPUAlphaMode srcAlphaMode;
float const * srcTransferFunctionParameters; // nullable float const * srcTransferFunctionParameters; // nullable
float const * conversionMatrix; // nullable float const * conversionMatrix; // nullable
@ -56,7 +56,7 @@ typedef struct WGPUDawnCacheDeviceDescriptor {
typedef struct WGPUDawnEncoderInternalUsageDescriptor { typedef struct WGPUDawnEncoderInternalUsageDescriptor {
WGPUChainedStruct chain; WGPUChainedStruct chain;
bool useInternalUsages; use_internal_usages: bool,
} WGPUDawnEncoderInternalUsageDescriptor; } WGPUDawnEncoderInternalUsageDescriptor;
typedef struct WGPUDawnInstanceDescriptor { typedef struct WGPUDawnInstanceDescriptor {
@ -79,9 +79,9 @@ typedef struct WGPUDawnTogglesDeviceDescriptor {
} WGPUDawnTogglesDeviceDescriptor; } WGPUDawnTogglesDeviceDescriptor;
typedef struct WGPUExtent3D { typedef struct WGPUExtent3D {
uint32_t width; width: u32,
uint32_t height; height: u32,
uint32_t depthOrArrayLayers; depth_or_array_layers: u32,
} WGPUExtent3D; } WGPUExtent3D;
typedef struct WGPUExternalTextureBindingEntry { typedef struct WGPUExternalTextureBindingEntry {
@ -94,11 +94,11 @@ typedef struct WGPUExternalTextureBindingLayout {
} WGPUExternalTextureBindingLayout; } WGPUExternalTextureBindingLayout;
typedef struct WGPUExternalTextureDescriptor { typedef struct WGPUExternalTextureDescriptor {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
char const * label; // nullable label: ?[*:0]const u8 = null,
WGPUTextureView plane0; WGPUTextureView plane0;
WGPUTextureView plane1; // nullable WGPUTextureView plane1; // nullable
bool doYuvToRgbConversionOnly; do_yuv_to_rgb_conversion_only: bool,
float const * yuvToRgbConversionMatrix; // nullable float const * yuvToRgbConversionMatrix; // nullable
float const * srcTransferFunctionParameters; float const * srcTransferFunctionParameters;
float const * dstTransferFunctionParameters; float const * dstTransferFunctionParameters;
@ -106,7 +106,7 @@ typedef struct WGPUExternalTextureDescriptor {
} WGPUExternalTextureDescriptor; } WGPUExternalTextureDescriptor;
typedef struct WGPUInstanceDescriptor { typedef struct WGPUInstanceDescriptor {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
} WGPUInstanceDescriptor; } WGPUInstanceDescriptor;
typedef struct WGPULimits { typedef struct WGPULimits {
@ -141,37 +141,37 @@ typedef struct WGPULimits {
} WGPULimits; } WGPULimits;
typedef struct WGPUMultisampleState { typedef struct WGPUMultisampleState {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
uint32_t count; count: u32,
uint32_t mask; mask: u32,
bool alphaToCoverageEnabled; alpha_to_coverage_enabled: bool,
} WGPUMultisampleState; } WGPUMultisampleState;
typedef struct WGPUOrigin3D { typedef struct WGPUOrigin3D {
uint32_t x; x: u32,
uint32_t y; y: u32,
uint32_t z; z: u32,
} WGPUOrigin3D; } WGPUOrigin3D;
typedef struct WGPUPipelineLayoutDescriptor { typedef struct WGPUPipelineLayoutDescriptor {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
char const * label; // nullable label: ?[*:0]const u8 = null,
uint32_t bindGroupLayoutCount; uint32_t bindGroupLayoutCount;
WGPUBindGroupLayout const * bindGroupLayouts; WGPUBindGroupLayout const * bindGroupLayouts;
} WGPUPipelineLayoutDescriptor; } WGPUPipelineLayoutDescriptor;
typedef struct WGPUPrimitiveDepthClampingState { typedef struct WGPUPrimitiveDepthClampingState {
WGPUChainedStruct chain; WGPUChainedStruct chain;
bool clampDepth; clamp_depth: bool,
} WGPUPrimitiveDepthClampingState; } WGPUPrimitiveDepthClampingState;
typedef struct WGPUPrimitiveDepthClipControl { typedef struct WGPUPrimitiveDepthClipControl {
WGPUChainedStruct chain; WGPUChainedStruct chain;
bool unclippedDepth; unclipped_depth: bool,
} WGPUPrimitiveDepthClipControl; } WGPUPrimitiveDepthClipControl;
typedef struct WGPUPrimitiveState { typedef struct WGPUPrimitiveState {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
WGPUPrimitiveTopology topology; WGPUPrimitiveTopology topology;
WGPUIndexFormat stripIndexFormat; WGPUIndexFormat stripIndexFormat;
WGPUFrontFace frontFace; WGPUFrontFace frontFace;
@ -179,8 +179,8 @@ typedef struct WGPUPrimitiveState {
} WGPUPrimitiveState; } WGPUPrimitiveState;
typedef struct WGPUQuerySetDescriptor { typedef struct WGPUQuerySetDescriptor {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
char const * label; // nullable label: ?[*:0]const u8 = null,
WGPUQueryType type; WGPUQueryType type;
uint32_t count; uint32_t count;
WGPUPipelineStatisticName const * pipelineStatistics; WGPUPipelineStatisticName const * pipelineStatistics;
@ -188,81 +188,81 @@ typedef struct WGPUQuerySetDescriptor {
} WGPUQuerySetDescriptor; } WGPUQuerySetDescriptor;
typedef struct WGPUQueueDescriptor { typedef struct WGPUQueueDescriptor {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
char const * label; // nullable label: ?[*:0]const u8 = null,
} WGPUQueueDescriptor; } WGPUQueueDescriptor;
typedef struct WGPURenderBundleDescriptor { typedef struct WGPURenderBundleDescriptor {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
char const * label; // nullable label: ?[*:0]const u8 = null,
} WGPURenderBundleDescriptor; } WGPURenderBundleDescriptor;
typedef struct WGPURenderBundleEncoderDescriptor { typedef struct WGPURenderBundleEncoderDescriptor {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
char const * label; // nullable label: ?[*:0]const u8 = null,
uint32_t colorFormatsCount; uint32_t colorFormatsCount;
WGPUTextureFormat const * colorFormats; WGPUTextureFormat const * colorFormats;
WGPUTextureFormat depthStencilFormat; WGPUTextureFormat depthStencilFormat;
uint32_t sampleCount; sample_count: u32,
bool depthReadOnly; depth_read_only: bool,
bool stencilReadOnly; stencil_read_only: bool,
} WGPURenderBundleEncoderDescriptor; } WGPURenderBundleEncoderDescriptor;
typedef struct WGPURenderPassDepthStencilAttachment { typedef struct WGPURenderPassDepthStencilAttachment {
WGPUTextureView view; WGPUTextureView view;
WGPULoadOp depthLoadOp; WGPULoadOp depthLoadOp;
WGPUStoreOp depthStoreOp; WGPUStoreOp depthStoreOp;
float clearDepth; clear_depth: f32,
float depthClearValue; depth_clear_value: f32,
bool depthReadOnly; depth_read_only: bool,
WGPULoadOp stencilLoadOp; WGPULoadOp stencilLoadOp;
WGPUStoreOp stencilStoreOp; WGPUStoreOp stencilStoreOp;
uint32_t clearStencil; clear_stencil: u32,
uint32_t stencilClearValue; stencil_clear_value: u32,
bool stencilReadOnly; stencil_read_only: bool,
} WGPURenderPassDepthStencilAttachment; } WGPURenderPassDepthStencilAttachment;
typedef struct WGPURenderPassDescriptorMaxDrawCount { typedef struct WGPURenderPassDescriptorMaxDrawCount {
WGPUChainedStruct chain; WGPUChainedStruct chain;
uint64_t maxDrawCount; max_draw_count: u64,
} WGPURenderPassDescriptorMaxDrawCount; } WGPURenderPassDescriptorMaxDrawCount;
typedef struct WGPURenderPassTimestampWrite { typedef struct WGPURenderPassTimestampWrite {
WGPUQuerySet querySet; WGPUQuerySet querySet;
uint32_t queryIndex; query_index: u32,
WGPURenderPassTimestampLocation location; WGPURenderPassTimestampLocation location;
} WGPURenderPassTimestampWrite; } WGPURenderPassTimestampWrite;
typedef struct WGPURequestAdapterOptions { typedef struct WGPURequestAdapterOptions {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
WGPUSurface compatibleSurface; // nullable WGPUSurface compatibleSurface; // nullable
WGPUPowerPreference powerPreference; WGPUPowerPreference powerPreference;
bool forceFallbackAdapter; force_fallback_adapter: bool,
} WGPURequestAdapterOptions; } WGPURequestAdapterOptions;
typedef struct WGPUSamplerBindingLayout { typedef struct WGPUSamplerBindingLayout {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
WGPUSamplerBindingType type; WGPUSamplerBindingType type;
} WGPUSamplerBindingLayout; } WGPUSamplerBindingLayout;
typedef struct WGPUSamplerDescriptor { typedef struct WGPUSamplerDescriptor {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
char const * label; // nullable label: ?[*:0]const u8 = null,
WGPUAddressMode addressModeU; WGPUAddressMode addressModeU;
WGPUAddressMode addressModeV; WGPUAddressMode addressModeV;
WGPUAddressMode addressModeW; WGPUAddressMode addressModeW;
WGPUFilterMode magFilter; WGPUFilterMode magFilter;
WGPUFilterMode minFilter; WGPUFilterMode minFilter;
WGPUFilterMode mipmapFilter; WGPUFilterMode mipmapFilter;
float lodMinClamp; lod_min_clamp: f32,
float lodMaxClamp; lod_max_clamp: f32,
WGPUCompareFunction compare; WGPUCompareFunction compare;
uint16_t maxAnisotropy; max_anisotropy: u16,
} WGPUSamplerDescriptor; } WGPUSamplerDescriptor;
typedef struct WGPUShaderModuleDescriptor { typedef struct WGPUShaderModuleDescriptor {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
char const * label; // nullable label: ?[*:0]const u8 = null,
} WGPUShaderModuleDescriptor; } WGPUShaderModuleDescriptor;
typedef struct WGPUShaderModuleSPIRVDescriptor { typedef struct WGPUShaderModuleSPIRVDescriptor {
@ -284,15 +284,15 @@ typedef struct WGPUStencilFaceState {
} WGPUStencilFaceState; } WGPUStencilFaceState;
typedef struct WGPUStorageTextureBindingLayout { typedef struct WGPUStorageTextureBindingLayout {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
WGPUStorageTextureAccess access; WGPUStorageTextureAccess access;
WGPUTextureFormat format; WGPUTextureFormat format;
WGPUTextureViewDimension viewDimension; WGPUTextureViewDimension viewDimension;
} WGPUStorageTextureBindingLayout; } WGPUStorageTextureBindingLayout;
typedef struct WGPUSurfaceDescriptor { typedef struct WGPUSurfaceDescriptor {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
char const * label; // nullable label: ?[*:0]const u8 = null,
} WGPUSurfaceDescriptor; } WGPUSurfaceDescriptor;
typedef struct WGPUSurfaceDescriptorFromAndroidNativeWindow { typedef struct WGPUSurfaceDescriptorFromAndroidNativeWindow {
@ -339,59 +339,59 @@ typedef struct WGPUSurfaceDescriptorFromXlibWindow {
} WGPUSurfaceDescriptorFromXlibWindow; } WGPUSurfaceDescriptorFromXlibWindow;
typedef struct WGPUSwapChainDescriptor { typedef struct WGPUSwapChainDescriptor {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
char const * label; // nullable label: ?[*:0]const u8 = null,
WGPUTextureUsageFlags usage; WGPUTextureUsageFlags usage;
WGPUTextureFormat format; WGPUTextureFormat format;
uint32_t width; width: u32,
uint32_t height; height: u32,
WGPUPresentMode presentMode; WGPUPresentMode presentMode;
uint64_t implementation; implementation: u64,
} WGPUSwapChainDescriptor; } WGPUSwapChainDescriptor;
typedef struct WGPUTextureBindingLayout { typedef struct WGPUTextureBindingLayout {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
WGPUTextureSampleType sampleType; WGPUTextureSampleType sampleType;
WGPUTextureViewDimension viewDimension; WGPUTextureViewDimension viewDimension;
bool multisampled; multisampled: bool,
} WGPUTextureBindingLayout; } WGPUTextureBindingLayout;
typedef struct WGPUTextureDataLayout { typedef struct WGPUTextureDataLayout {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
uint64_t offset; offset: u64,
uint32_t bytesPerRow; bytes_per_row: u32,
uint32_t rowsPerImage; rows_per_image: u32,
} WGPUTextureDataLayout; } WGPUTextureDataLayout;
typedef struct WGPUTextureViewDescriptor { typedef struct WGPUTextureViewDescriptor {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
char const * label; // nullable label: ?[*:0]const u8 = null,
WGPUTextureFormat format; WGPUTextureFormat format;
WGPUTextureViewDimension dimension; WGPUTextureViewDimension dimension;
uint32_t baseMipLevel; base_mip_level: u32,
uint32_t mipLevelCount; mip_level_count: u32,
uint32_t baseArrayLayer; base_array_layer: u32,
uint32_t arrayLayerCount; array_layer_count: u32,
WGPUTextureAspect aspect; WGPUTextureAspect aspect;
} WGPUTextureViewDescriptor; } WGPUTextureViewDescriptor;
typedef struct WGPUVertexAttribute { typedef struct WGPUVertexAttribute {
WGPUVertexFormat format; WGPUVertexFormat format;
uint64_t offset; offset: u64,
uint32_t shaderLocation; shader_location: u32,
} WGPUVertexAttribute; } WGPUVertexAttribute;
typedef struct WGPUBindGroupDescriptor { typedef struct WGPUBindGroupDescriptor {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
char const * label; // nullable label: ?[*:0]const u8 = null,
WGPUBindGroupLayout layout; WGPUBindGroupLayout layout;
uint32_t entryCount; uint32_t entryCount;
WGPUBindGroupEntry const * entries; WGPUBindGroupEntry const * entries;
} WGPUBindGroupDescriptor; } WGPUBindGroupDescriptor;
typedef struct WGPUBindGroupLayoutEntry { typedef struct WGPUBindGroupLayoutEntry {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
uint32_t binding; binding: u32,
WGPUShaderStageFlags visibility; WGPUShaderStageFlags visibility;
WGPUBufferBindingLayout buffer; WGPUBufferBindingLayout buffer;
WGPUSamplerBindingLayout sampler; WGPUSamplerBindingLayout sampler;
@ -405,48 +405,48 @@ typedef struct WGPUBlendState {
} WGPUBlendState; } WGPUBlendState;
typedef struct WGPUCompilationInfo { typedef struct WGPUCompilationInfo {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
uint32_t messageCount; uint32_t messageCount;
WGPUCompilationMessage const * messages; WGPUCompilationMessage const * messages;
} WGPUCompilationInfo; } WGPUCompilationInfo;
typedef struct WGPUComputePassDescriptor { typedef struct WGPUComputePassDescriptor {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
char const * label; // nullable label: ?[*:0]const u8 = null,
uint32_t timestampWriteCount; uint32_t timestampWriteCount;
WGPUComputePassTimestampWrite const * timestampWrites; WGPUComputePassTimestampWrite const * timestampWrites;
} WGPUComputePassDescriptor; } WGPUComputePassDescriptor;
typedef struct WGPUDepthStencilState { typedef struct WGPUDepthStencilState {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
WGPUTextureFormat format; WGPUTextureFormat format;
bool depthWriteEnabled; depth_write_enabled: bool,
WGPUCompareFunction depthCompare; WGPUCompareFunction depthCompare;
WGPUStencilFaceState stencilFront; WGPUStencilFaceState stencilFront;
WGPUStencilFaceState stencilBack; WGPUStencilFaceState stencilBack;
uint32_t stencilReadMask; stencil_read_mask: u32,
uint32_t stencilWriteMask; stencil_write_mask: u32,
int32_t depthBias; depth_bias: i32,
float depthBiasSlopeScale; depth_bias_slope_scale: f32,
float depthBiasClamp; depth_bias_clamp: f32,
} WGPUDepthStencilState; } WGPUDepthStencilState;
typedef struct WGPUImageCopyBuffer { typedef struct WGPUImageCopyBuffer {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
WGPUTextureDataLayout layout; WGPUTextureDataLayout layout;
WGPUBuffer buffer; WGPUBuffer buffer;
} WGPUImageCopyBuffer; } WGPUImageCopyBuffer;
typedef struct WGPUImageCopyTexture { typedef struct WGPUImageCopyTexture {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
WGPUTexture texture; WGPUTexture texture;
uint32_t mipLevel; mip_level: u32,
WGPUOrigin3D origin; WGPUOrigin3D origin;
WGPUTextureAspect aspect; WGPUTextureAspect aspect;
} WGPUImageCopyTexture; } WGPUImageCopyTexture;
typedef struct WGPUProgrammableStageDescriptor { typedef struct WGPUProgrammableStageDescriptor {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
WGPUShaderModule module; WGPUShaderModule module;
char const * entryPoint; char const * entryPoint;
uint32_t constantCount; uint32_t constantCount;
@ -463,7 +463,7 @@ typedef struct WGPURenderPassColorAttachment {
} WGPURenderPassColorAttachment; } WGPURenderPassColorAttachment;
typedef struct WGPURequiredLimits { typedef struct WGPURequiredLimits {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
WGPULimits limits; WGPULimits limits;
} WGPURequiredLimits; } WGPURequiredLimits;
@ -473,14 +473,14 @@ typedef struct WGPUSupportedLimits {
} WGPUSupportedLimits; } WGPUSupportedLimits;
typedef struct WGPUTextureDescriptor { typedef struct WGPUTextureDescriptor {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
char const * label; // nullable label: ?[*:0]const u8 = null,
WGPUTextureUsageFlags usage; WGPUTextureUsageFlags usage;
WGPUTextureDimension dimension; WGPUTextureDimension dimension;
WGPUExtent3D size; WGPUExtent3D size;
WGPUTextureFormat format; WGPUTextureFormat format;
uint32_t mipLevelCount; mip_level_count: u32,
uint32_t sampleCount; sample_count: u32,
uint32_t viewFormatCount; uint32_t viewFormatCount;
WGPUTextureFormat const * viewFormats; WGPUTextureFormat const * viewFormats;
} WGPUTextureDescriptor; } WGPUTextureDescriptor;
@ -493,29 +493,29 @@ typedef struct WGPUVertexBufferLayout {
} WGPUVertexBufferLayout; } WGPUVertexBufferLayout;
typedef struct WGPUBindGroupLayoutDescriptor { typedef struct WGPUBindGroupLayoutDescriptor {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
char const * label; // nullable label: ?[*:0]const u8 = null,
uint32_t entryCount; uint32_t entryCount;
WGPUBindGroupLayoutEntry const * entries; WGPUBindGroupLayoutEntry const * entries;
} WGPUBindGroupLayoutDescriptor; } WGPUBindGroupLayoutDescriptor;
typedef struct WGPUColorTargetState { typedef struct WGPUColorTargetState {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
WGPUTextureFormat format; WGPUTextureFormat format;
WGPUBlendState const * blend; // nullable WGPUBlendState const * blend; // nullable
WGPUColorWriteMaskFlags writeMask; WGPUColorWriteMaskFlags writeMask;
} WGPUColorTargetState; } WGPUColorTargetState;
typedef struct WGPUComputePipelineDescriptor { typedef struct WGPUComputePipelineDescriptor {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
char const * label; // nullable label: ?[*:0]const u8 = null,
WGPUPipelineLayout layout; // nullable WGPUPipelineLayout layout; // nullable
WGPUProgrammableStageDescriptor compute; WGPUProgrammableStageDescriptor compute;
} WGPUComputePipelineDescriptor; } WGPUComputePipelineDescriptor;
typedef struct WGPUDeviceDescriptor { typedef struct WGPUDeviceDescriptor {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
char const * label; // nullable label: ?[*:0]const u8 = null,
uint32_t requiredFeaturesCount; uint32_t requiredFeaturesCount;
WGPUFeatureName const * requiredFeatures; WGPUFeatureName const * requiredFeatures;
WGPURequiredLimits const * requiredLimits; // nullable WGPURequiredLimits const * requiredLimits; // nullable
@ -523,8 +523,8 @@ typedef struct WGPUDeviceDescriptor {
} WGPUDeviceDescriptor; } WGPUDeviceDescriptor;
typedef struct WGPURenderPassDescriptor { typedef struct WGPURenderPassDescriptor {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
char const * label; // nullable label: ?[*:0]const u8 = null,
uint32_t colorAttachmentCount; uint32_t colorAttachmentCount;
WGPURenderPassColorAttachment const * colorAttachments; WGPURenderPassColorAttachment const * colorAttachments;
WGPURenderPassDepthStencilAttachment const * depthStencilAttachment; // nullable WGPURenderPassDepthStencilAttachment const * depthStencilAttachment; // nullable
@ -534,7 +534,7 @@ typedef struct WGPURenderPassDescriptor {
} WGPURenderPassDescriptor; } WGPURenderPassDescriptor;
typedef struct WGPUVertexState { typedef struct WGPUVertexState {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
WGPUShaderModule module; WGPUShaderModule module;
char const * entryPoint; char const * entryPoint;
uint32_t constantCount; uint32_t constantCount;
@ -544,7 +544,7 @@ typedef struct WGPUVertexState {
} WGPUVertexState; } WGPUVertexState;
typedef struct WGPUFragmentState { typedef struct WGPUFragmentState {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
WGPUShaderModule module; WGPUShaderModule module;
char const * entryPoint; char const * entryPoint;
uint32_t constantCount; uint32_t constantCount;
@ -554,8 +554,8 @@ typedef struct WGPUFragmentState {
} WGPUFragmentState; } WGPUFragmentState;
typedef struct WGPURenderPipelineDescriptor { typedef struct WGPURenderPipelineDescriptor {
WGPUChainedStruct const * nextInChain; next_in_chain: *const ChainedStruct,
char const * label; // nullable label: ?[*:0]const u8 = null,
WGPUPipelineLayout layout; // nullable WGPUPipelineLayout layout; // nullable
WGPUVertexState vertex; WGPUVertexState vertex;
WGPUPrimitiveState primitive; WGPUPrimitiveState primitive;