-
Notifications
You must be signed in to change notification settings - Fork 335
Add depth16unorm to WebGPU SPEC #508
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This patch adds "depth16unorm" to WebGPU SPEC as it can be supported on D3D12 (feature level 11_0), Metal (all Metal devices) and Vulkan (required in Vulkan SPEC).
@Kangz PTAL, thanks! |
LGTM as mentioned offline, but we need other browsers to take a look too. |
@Jiawei-Shao if you did the research, please provide the links to save us time verifying it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can confirm it's supported everywhere.
Just trying to remember what stopped us from including it to start with... given how much we talked about the depth formats at the F2F.
One interesting note from the Metal tables: depth16unorm is always filterable, unlike depth32float. I wonder if that's something we can guarantee across apis. |
@kvark sorry about that. Let me attach my investigations here. Depth16Unorm can be supported on D3D feature level 11_0 (item No. 55) , all Metal feature sets (Page 9 of 11) and all Vulkan devices according to Vulkan SPEC (Table 48) . In addition, it is a depth format that is required to support "Filter" on Metal and VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT on Vulkan (on D3D12 we can create a texture with the typeless format R16_TYPELESS and create an SRV on it with the format R16_UNORM and a DSV with D16_UNORM). |
Sorry for my fault that I realized I referred a wrong document when writing this patch. Although |
Good candidate for an extensions then. |
I'd like to reconsider adding this to core as the min iOS version is probably acceptable. So we need to decide whether we want to support macOS 10.11 (most importantly, hardware that didn't get updates to 10.12). |
I would be surprised if we can otherwise-support that ten year old hardware. We should strongly consider leaving it behind. |
There is a not insignificant portion of Chrome users on macOS on 10.11 (and even 10.10 which stays the |
Do you trust those first-gen metal drivers? :) It would be nice to support them but I suppose I'm inclined to write them off as likely too hard to support. I suppose we can add it later, but we have to make the call whether leaving that door open for now is worth whatever sacrifices it forces us to make to our spec. I would like to skate towards where the puck is going, here. (but I also don't feel strongly about it) |
Discussed at the 2020-08-24 meeting. |
Resolution: Approved! macOS 10.11 is EOL in Nov 2018 and not expected to receive Safari feature updates - would be limited to Chrome/Firefox. We agreed this format is valuable, especially for memory usage on lower end devices, and copyability. |
Resolves issue gpuweb#508.
I don't remember why it was a new PR but this was fixed in #1026. |
This patch adds "depth16unorm" to WebGPU SPEC as it can be supported
on D3D12 (required in feature level 11_0), Metal (all Metal feature sets) and
Vulkan (required in Vulkan SPEC).
Preview | Diff