bevy/crates
Robert Swain ef5c8e83ad bevy_render: Support overriding wgpu features and limits (#3912)
# Objective

- Support overriding wgpu features and limits that were calculated from default values or queried from the adapter/backend.
- Fixes #3686

## Solution

- Add `disabled_features: Option<wgpu::Features>` to `WgpuOptions`
- Add `constrained_limits: Option<wgpu::Limits>` to `WgpuOptions`
- After maybe obtaining updated features and limits from the adapter/backend in the case of `WgpuOptionsPriority::Functionality`, enable the `WgpuOptions` `features`, disable the `disabled_features`, and constrain the `limits` by `constrained_limits`.
  - Note that constraining the limits means for `wgpu::Limits` members named `max_.*` we take the minimum of that which was configured/queried for the backend/adapter and the specified constrained limit value. This means the configured/queried value is used if the constrained limit is larger as that is as much as the device/API supports, or the constrained limit value is used if it is smaller as we are imposing an artificial constraint. For members named `min_.*` we take the maximum instead. For example, a minimum stride might be 256 but we set constrained limit value of 1024, then 1024 is the more conservative value. If the constrained limit value were 16, then 256 would be the more conservative.
2022-02-12 20:40:23 -08:00
..
bevy_app Release 0.6.0 (#3587) 2022-01-08 10:18:22 +00:00
bevy_asset Release 0.6.0 (#3587) 2022-01-08 10:18:22 +00:00
bevy_audio Release 0.6.0 (#3587) 2022-01-08 10:18:22 +00:00
bevy_core Release 0.6.0 (#3587) 2022-01-08 10:18:22 +00:00
bevy_core_pipeline Add headless mode (#3439) 2022-01-08 10:39:43 +00:00
bevy_crevice bevy_crevice: Fix incorrect iterator usage in WriteStd430 impl for [T] (#3591) 2022-02-12 20:34:44 -08:00
bevy_derive Release 0.6.0 (#3587) 2022-01-08 10:18:22 +00:00
bevy_diagnostic Release 0.6.0 (#3587) 2022-01-08 10:18:22 +00:00
bevy_dylib Release 0.6.0 (#3587) 2022-01-08 10:18:22 +00:00
bevy_dynamic_plugin Release 0.6.0 (#3587) 2022-01-08 10:18:22 +00:00
bevy_ecs fix unreachable macro calls for rust 2021 (#3889) 2022-02-12 20:36:29 -08:00
bevy_ecs_compile_fail_tests Release 0.6.0 (#3587) 2022-01-08 10:18:22 +00:00
bevy_gilrs Release 0.6.0 (#3587) 2022-01-08 10:18:22 +00:00
bevy_gltf Release 0.6.0 (#3587) 2022-01-08 10:18:22 +00:00
bevy_input Release 0.6.0 (#3587) 2022-01-08 10:18:22 +00:00
bevy_internal Release 0.6.0 (#3587) 2022-01-08 10:18:22 +00:00
bevy_log Release 0.6.0 (#3587) 2022-01-08 10:18:22 +00:00
bevy_macro_utils Release 0.6.0 (#3587) 2022-01-08 10:18:22 +00:00
bevy_math Release 0.6.0 (#3587) 2022-01-08 10:18:22 +00:00
bevy_pbr bevy_pbr: Do not panic when more than 256 point lights are added the scene (#3697) 2022-02-12 20:35:53 -08:00
bevy_reflect Release 0.6.0 (#3587) 2022-01-08 10:18:22 +00:00
bevy_render bevy_render: Support overriding wgpu features and limits (#3912) 2022-02-12 20:40:23 -08:00
bevy_scene Release 0.6.0 (#3587) 2022-01-08 10:18:22 +00:00
bevy_sprite Add headless mode (#3439) 2022-01-08 10:39:43 +00:00
bevy_tasks Release 0.6.0 (#3587) 2022-01-08 10:18:22 +00:00
bevy_text Add headless mode (#3439) 2022-01-08 10:39:43 +00:00
bevy_transform Release 0.6.0 (#3587) 2022-01-08 10:18:22 +00:00
bevy_ui Fix ui interactions when cursor disappears suddenly (#3926) 2022-02-12 20:36:43 -08:00
bevy_utils Release 0.6.0 (#3587) 2022-01-08 10:18:22 +00:00
bevy_window Release 0.6.0 (#3587) 2022-01-08 10:18:22 +00:00
bevy_winit do not set cursor grab on window creation if not asked for (#3617) 2022-02-12 20:35:19 -08:00