Add Limits::max_buffers_and_acceleration_structures_per_shader_stage#9709
Add Limits::max_buffers_and_acceleration_structures_per_shader_stage#9709teoxoy wants to merge 3 commits into
Limits::max_buffers_and_acceleration_structures_per_shader_stage#9709Conversation
|
I'm not sure why but llvmpipe doesn't say it has Presence of |
|
The workflow that builds llvmpipe sets platforms to an empty string so none of the defines that would enable the extension are set (ref). This is probably on purpose since CI is headless? Idk if you can still get swapchains on headless. Given that |
Yeah I don't think you can. We should change that check so that if no swapchain extensions are available, we shouldn't gate that downlevel flag on it. |
|
I'm not sure we should change the definition of compliant - as users will expect surface_view_format support on a compliant adapter - what I meant is to only gate |
…swapchain` is not available
|
I changed the last commit and based it off wgpu/wgpu-hal/src/vulkan/adapter.rs Lines 2421 to 2423 in 47cce25 We just log unsupported but required features, that doesn't seem right at all. |
Connections
Fixes #9287.
Description
Adds a new combined limit for all buffer types (storage, uniform, vertex buffers, and acceleration structures) that share Metal's buffer argument table. On Metal without
InstanceFlags::STRICT_WEBGPU_COMPLIANCEset, the new limit and the individual per-type limits (max_storage_buffers_per_shader_stage,max_uniform_buffers_per_shader_stage,max_vertex_buffers,max_acceleration_structures_per_shader_stage) are set to 29. IfInstanceFlags::STRICT_WEBGPU_COMPLIANCEis set,max_buffers_and_acceleration_structures_per_shader_stageis set tou32::MAX, so the behavior is the same as without this PR.Testing
Added new tests.
Squash or Rebase?
n/a
Checklist
wgpumay be affected behaviorally.CHANGELOG.mdentries for the user-facing effects of this change are present.