mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Validate copybuffertobuffer() + some spec update
The spec update includes renaming bindings to entries and adding CommandEncoderState.
This commit is contained in:
parent
e1cc38bea8
commit
1aeae47299
11 changed files with 136 additions and 45 deletions
|
@ -10,14 +10,12 @@ GPUBindGroup includes GPUObjectBase;
|
|||
|
||||
dictionary GPUBindGroupDescriptor : GPUObjectDescriptorBase {
|
||||
required GPUBindGroupLayout layout;
|
||||
required sequence<GPUBindGroupBindings> bindings;
|
||||
required sequence<GPUBindGroupEntry> entries;
|
||||
};
|
||||
|
||||
typedef /*(GPUSampler or GPUTextureView or*/ GPUBufferBindings/*)*/ GPUBindingResource;
|
||||
|
||||
// Note: Servo codegen doesn't like the name `GPUBindGroupBinding` because it's already occupied
|
||||
// dictionary GPUBindGroupBinding {
|
||||
dictionary GPUBindGroupBindings {
|
||||
dictionary GPUBindGroupEntry {
|
||||
required unsigned long binding;
|
||||
required GPUBindingResource resource;
|
||||
};
|
||||
|
@ -26,6 +24,6 @@ dictionary GPUBindGroupBindings {
|
|||
// dictionary GPUBufferBinding {
|
||||
dictionary GPUBufferBindings {
|
||||
required GPUBuffer buffer;
|
||||
GPUBufferSize offset = 0;
|
||||
GPUBufferSize size;
|
||||
GPUSize64 offset = 0;
|
||||
GPUSize64 size;
|
||||
};
|
||||
|
|
|
@ -9,12 +9,10 @@ interface GPUBindGroupLayout {
|
|||
GPUBindGroupLayout includes GPUObjectBase;
|
||||
|
||||
dictionary GPUBindGroupLayoutDescriptor : GPUObjectDescriptorBase {
|
||||
required sequence<GPUBindGroupLayoutBindings> bindings;
|
||||
required sequence<GPUBindGroupLayoutEntry> entries;
|
||||
};
|
||||
|
||||
// Note: Servo codegen doesn't like the name `GPUBindGroupLayoutBinding` because it's already occupied
|
||||
// dictionary GPUBindGroupLayoutBinding {
|
||||
dictionary GPUBindGroupLayoutBindings {
|
||||
dictionary GPUBindGroupLayoutEntry {
|
||||
required unsigned long binding;
|
||||
required GPUShaderStageFlags visibility;
|
||||
required GPUBindingType type;
|
||||
|
|
|
@ -14,11 +14,11 @@ interface GPUBuffer {
|
|||
GPUBuffer includes GPUObjectBase;
|
||||
|
||||
dictionary GPUBufferDescriptor : GPUObjectDescriptorBase {
|
||||
required GPUBufferSize size;
|
||||
required GPUSize64 size;
|
||||
required GPUBufferUsageFlags usage;
|
||||
};
|
||||
|
||||
typedef unsigned long long GPUBufferSize;
|
||||
typedef unsigned long long GPUSize64;
|
||||
|
||||
typedef unsigned long GPUBufferUsageFlags;
|
||||
|
||||
|
|
|
@ -10,10 +10,10 @@ interface GPUCommandEncoder {
|
|||
|
||||
void copyBufferToBuffer(
|
||||
GPUBuffer source,
|
||||
GPUBufferSize sourceOffset,
|
||||
GPUSize64 sourceOffset,
|
||||
GPUBuffer destination,
|
||||
GPUBufferSize destinationOffset,
|
||||
GPUBufferSize size);
|
||||
GPUSize64 destinationOffset,
|
||||
GPUSize64 size);
|
||||
|
||||
// void copyBufferToTexture(
|
||||
// GPUBufferCopyView source,
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
interface GPUComputePassEncoder {
|
||||
void setPipeline(GPUComputePipeline pipeline);
|
||||
void dispatch(GPUSize32 x, optional GPUSize32 y = 1, optional GPUSize32 z = 1);
|
||||
// void dispatchIndirect(GPUBuffer indirectBuffer, GPUBufferSize indirectOffset);
|
||||
// void dispatchIndirect(GPUBuffer indirectBuffer, GPUSize64 indirectOffset);
|
||||
|
||||
void endPass();
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue