dawn-cmake/include/dawn/native
Zhaoming Jiang 63b777b552 Dawn: Refactor device toggles
This CL refactor the logic adapter creating device toggles set when
creating device and the way device holding its toggles. This CL also
introduce the concept "toggle stage", currently "device stage" only but
in future will add "instance stage" and "adapter stage" for instance and
adapter toggles. No changes on Dawn API.
More details:
1. Introduce `TogglesState` objects that represent the complete toggles
   state of a device (and will used for instance and adapter in future).
2. When creating a device, adapter set up a TogglesState object for it
   in `AdapterBase::CreateDeviceInternal` and
   `Adapter::SetupBackendDeviceToggles`, no other place would change
   the device's toggles state. This change simplify the logic.
3. Introduce the `ToggleStage` enum for every toggle and `TogglesState`
   object. Currently we only have `Device` toggle stage, but in future
   will have `Instance` and `Adapter` for instance and adapter toggles.

Bug: dawn:1495
Change-Id: Ifafac6a6a075b5b9a733159574ae5b6d4f3ebde9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/118030
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com>
2023-02-10 01:43:55 +00:00
..
D3D12Backend.h d3d12: External image import using multiple wait fences and signal fence 2022-09-07 19:48:45 +00:00
DawnNative.h Dawn: Refactor device toggles 2023-02-10 01:43:55 +00:00
MetalBackend.h Metal: Implement begin/end access synchronization with MTLSharedEvent 2022-11-04 22:06:20 +00:00
NullBackend.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00
OpenGLBackend.h GL: implement EGL context creation in Dawn native. 2022-06-29 15:29:41 +00:00
VulkanBackend.h vulkan: Validate that exporting a texture uses VK_IMAGE_LAYOUT_UNDEFINED 2022-10-04 17:27:21 +00:00
dawn_native_export.h Consistent formatting for Dawn/Tint. 2022-05-01 14:40:55 +00:00