diff --git a/spec/index.bs b/spec/index.bs index 0279e03e4b..db2323163e 100644 --- a/spec/index.bs +++ b/spec/index.bs @@ -630,7 +630,8 @@ Textures may consist of separate [=mipmap levels=] and [=array layers=], which can be used differently at any given time. Each such texture subresource is uniquely identified by a [=texture=], [=mipmap level=], and -(for {{GPUTextureDimension/2d}} textures only) [=array layer=]. +(for {{GPUTextureDimension/2d}} textures only) [=array layer=], +and [=aspect=]. We define subresource to be either a whole buffer, or a [=texture subresource=]. @@ -638,10 +639,9 @@ We define subresource to be either a whole buffer, or a [=texture Some [=internal usage=]s are compatible with others. A [=subresource=] can be in a state that combines multiple usages together. We consider a list |U| to be a compatible usage list if (and only if) it satisfies any of the following rules: - - Each usage in |U| is [=internal usage/input=], [=internal usage/constant=], or [=internal usage/storage-read=]. + - Each usage in |U| is [=internal usage/input=], [=internal usage/constant=], [=internal usage/storage-read=], or [=internal usage/attachment-read=]. - Each usage in |U| is [=internal usage/storage=] or [=internal usage/storage-read=]. - Each usage in |U| is [=internal usage/storage-write=]. - - Each usage in |U| is [=internal usage/attachment-read=], [=internal usage/storage-read=], or [=internal usage/constant=]. - |U| contains exactly one element: [=internal usage/attachment=]. @@ -664,6 +664,8 @@ For example, binding the same buffer for [=internal usage/storage=] as well as f as well as the owning {{GPUCommandEncoder}} into the error state. This combination of usages does not make a [=compatible usage list=]. +Note: race condition of multiple writable storage buffer/texture usages in a single [=usage scope=] is allowed. + The [=subresources=] of textures included in the views provided to {{GPURenderPassColorAttachmentDescriptor/attachment|GPURenderPassColorAttachmentDescriptor.attachment}} and {{GPURenderPassColorAttachmentDescriptor/resolveTarget|GPURenderPassColorAttachmentDescriptor.resolveTarget}} @@ -1729,7 +1731,7 @@ interface GPUMapMode { Issue: define texture (internal object) -Issue: define mipmap level, array layer, slice (concepts) +Issue: define mipmap level, array layer, aspect, slice (concepts) ## GPUTexture ## {#texture-interface}