diff --git a/design/sketch.webidl b/design/sketch.webidl index 50a5e159b4..901233fb12 100644 --- a/design/sketch.webidl +++ b/design/sketch.webidl @@ -1,6 +1,7 @@ typedef long i32; typedef unsigned long u32; typedef unsigned long long u64; +typedef u32 GPUShaderAttributeLocation; dictionary GPUColor { float r; @@ -404,7 +405,7 @@ dictionary GPUDepthStencilStateDescriptor { u32 stencilWriteMask; }; -// InputState +// Vertex Input enum GPUIndexFormat { "uint16", @@ -484,23 +485,20 @@ enum GPUInputStepMode { }; dictionary GPUVertexAttributeDescriptor { - u32 shaderLocation; - u32 inputSlot; u64 offset; GPUVertexFormat format; + GPUShaderAttributeLocation shaderLocation; }; -dictionary GPUVertexInputDescriptor { - u32 inputSlot; +dictionary GPUVertexBufferDescriptor { u64 stride; GPUInputStepMode stepMode; + sequence attributes; }; -dictionary GPUInputStateDescriptor { +dictionary GPUVertexInputDescriptor { GPUIndexFormat indexFormat; - - sequence attributes; - sequence inputs; + sequence vertexBuffers; }; // ShaderModule @@ -552,7 +550,7 @@ dictionary GPURenderPipelineDescriptor : GPUPipelineDescriptorBase { GPURasterizationStateDescriptor rasterizationState; sequence colorStates; GPUDepthStencilStateDescriptor? depthStencilState; - GPUInputStateDescriptor inputState; + GPUVertexInputDescriptor vertexInput; // Number of MSAA samples u32 sampleCount;