bevy/crates
Robert Swain 803e8cdf80 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-13 04:24:52 +00:00
..
bevy_app Implement init_resource for Commands and World (#3079) 2022-02-08 23:04:19 +00:00
bevy_asset Useful error message when two assets have the save UUID (#3739) 2022-02-12 19:41:35 +00:00
bevy_audio Update rodio 0.15 (#3846) 2022-02-03 04:25:44 +00:00
bevy_core Deprecate .system (#3302) 2022-02-08 04:00:58 +00:00
bevy_core_pipeline Update ClearColor Resource docs (#3842) 2022-02-02 21:29:48 +00:00
bevy_crevice Don't panic in macro shape validation (#3647) 2022-01-15 22:14:43 +00:00
bevy_derive Don't panic in macro shape validation (#3647) 2022-01-15 22:14:43 +00:00
bevy_diagnostic reverse how diagnostic values are saved (#3056) 2022-02-07 21:50:52 +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 Implement init_resource for Commands and World (#3079) 2022-02-08 23:04:19 +00: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 Add TransformBundle (#3054) 2022-02-06 01:07:55 +00:00
bevy_input derive clone for Input (#3569) 2022-02-04 02:42:59 +00:00
bevy_internal Enable the doc_markdown clippy lint (#3457) 2022-01-09 23:20:13 +00:00
bevy_log Implement init_resource for Commands and World (#3079) 2022-02-08 23:04:19 +00:00
bevy_macro_utils Don't panic in macro shape validation (#3647) 2022-01-15 22:14:43 +00:00
bevy_math Release 0.6.0 (#3587) 2022-01-08 10:18:22 +00:00
bevy_pbr Add view transform to view uniform (#3885) 2022-02-08 04:14:34 +00:00
bevy_reflect document more of bevy_reflect (#3655) 2022-01-14 19:09:44 +00:00
bevy_render bevy_render: Support overriding wgpu features and limits (#3912) 2022-02-13 04:24:52 +00:00
bevy_scene Increment last event count on next instead of iter (#2382) 2022-02-02 02:29:33 +00:00
bevy_sprite only use unique type UUIDs (#3579) 2022-02-12 19:58:02 +00:00
bevy_tasks Document bevy_tasks and enable #![warn(missing_docs)] (#3509) 2022-01-16 04:53:22 +00:00
bevy_text Update docstrings for text_system and text2d_system (#3732) 2022-01-20 19:32:16 +00:00
bevy_transform Add TransformBundle (#3054) 2022-02-06 01:07:55 +00:00
bevy_ui Fix ui interactions when cursor disappears suddenly (#3926) 2022-02-13 01:49:34 +00:00
bevy_utils Release 0.6.0 (#3587) 2022-01-08 10:18:22 +00:00
bevy_window Replace VSync with PresentMode (#3812) 2022-02-04 03:37:44 +00:00
bevy_winit Implement init_resource for Commands and World (#3079) 2022-02-08 23:04:19 +00:00