diff --git a/spec/index.bs b/spec/index.bs index 1a1f4a1ce5..cf2b3ca81a 100644 --- a/spec/index.bs +++ b/spec/index.bs @@ -6621,11 +6621,13 @@ pipeline, and have the following members: [=Device timeline=] |initialization steps|: 1. Let |limits| be |this|.{{GPUObjectBase/[[device]]}}.{{device/[[limits]]}}. - 1. Let |bindGroupLayouts| be a copy of |descriptor|.{{GPUPipelineLayoutDescriptor/bindGroupLayouts}}. - 1. For each |i| in the [=list/get the indices|indices=] of |bindGroupLayouts|: - 1. If |bindGroupLayouts|[|i|] is not `null` and - |bindGroupLayouts|[|i|].{{GPUBindGroupLayout/[[descriptor]]}}.{{GPUBindGroupLayoutDescriptor/entries}} - is [=list/empty=], set |bindGroupLayouts|[|i|] to `null`. + 1. Let |bindGroupLayouts| be a [=list=] of `null` {{GPUBindGroupLayout}}s with [=list/size=] + equal to |limits|.{{supported limits/maxBindGroups}}. + 1. [=list/For each=] |bindGroupLayout| at index |i| in |descriptor|.{{GPUPipelineLayoutDescriptor/bindGroupLayouts}}: + 1. If |bindGroupLayout| is not `null` and + |bindGroupLayout|.{{GPUBindGroupLayout/[[descriptor]]}}.{{GPUBindGroupLayoutDescriptor/entries}} + is not [=list/empty=]: + 1. Set |bindGroupLayouts|[|i|] to |bindGroupLayout|. 1. Let |allEntries| be the result of concatenating |bgl|.{{GPUBindGroupLayout/[[descriptor]]}}.{{GPUBindGroupLayoutDescriptor/entries}} for all non-`null` |bgl| in |bindGroupLayouts|. @@ -7256,13 +7258,13 @@ interface mixin GPUPipelineBase {
[=Device timeline=] |initialization steps|: + 1. Let |limits| be |this|.{{GPUObjectBase/[[device]]}}.{{device/[[limits]]}}. 1. If any of the following conditions are unsatisfied [$generate a validation error$], [$invalidate$] |layout| and return.
- |this| must be [$valid$]. - - |index| < the [=list/size=] of - |this|.{{GPUPipelineBase/[[layout]]}}.{{GPUPipelineLayout/[[bindGroupLayouts]]}} + - |index| < |limits|.{{supported limits/maxBindGroups}}.
1. Initialize |layout| so it is a copy of