I find there are two contradictions among the validation rules of copyTextureToTexture() and "Depth/stencil formats". I think we should update the validation rules of copyTextureToTexture() to cover these special rules on depth/stencil formats.
The validation rules of copyTextureToTexture() says
- source.texture.format is equal to destination. texture.format".
- If source.texture.format is a depth-stencil format: source.aspect and destination.aspect must both refer to all aspects of source.texture.format and destination.texture.format, respectively.
While "Depth/stencil formats" says:
Copies between depth textures can only happen within the following sets of formats:
- stencil8, depth24plus-stencil8 (stencil component), r8uint
- depth16unorm, r16uint
- depth24plus, depth24plus-stencil8 (depth aspect)
From #1692:
The "within the following sets of formats" section is wrong.
From #1479:
- Consider explicitly documenting that T2T copies with matching format is always valid (all formats, not just D/S)
I find there are two contradictions among the validation rules of copyTextureToTexture() and "Depth/stencil formats". I think we should update the validation rules of copyTextureToTexture() to cover these special rules on depth/stencil formats.
The validation rules of copyTextureToTexture() says
While "Depth/stencil formats" says:
Copies between depth textures can only happen within the following sets of formats:
From #1692:
The "within the following sets of formats" section is wrong.
From #1479: