Add minmax-sampling feature by kvark · Pull Request #1283 · gpuweb/gpuweb
Navigation Menu
{{ message }}
- Notifications You must be signed in to change notification settings
- Fork 368
Draft
Conversation
Copy link
Contributor
Closes #1267
This is useful for building hierarchical depth bounds, as one example.
Hardware support:
- Vulkan:
VK_EXT_sampler_filter_minmaxis present on around 50% desktops and 25% Android devices. There is a set of formats supporting min/max sampling, enabled by filterMinmaxSingleComponentFormats property. It's hard to grasp the support surface for the others. - D3D12: apparently gated by TILED_RESOURCES_TIER_2, but I don't know how to find the stats on how widely it's supported, and whether or not all the formats support it (@RafaelCintron ?)
- D3D11: MinMaxFiltering flag, nice documentation in https://docs.microsoft.com/en-us/windows/win32/direct3d11/tiled-resources-texture-sampling-features
- Metal: not seeing anything for this
Note: min/max sampling shouldn't be considered "filtering" for the purpose of validation.
TODO:
- figure out which formats support this, potentially add a column to our format table.
- determine if it's a filter mode, or something entirely different. Can a sampler be linearly magnifying but minmaxing the minification? In D3D12 it can, it seems, but maybe we don't need that.
- determine if a separate sampler binding type is needed
Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment