-
Notifications
You must be signed in to change notification settings - Fork 415
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
stateless: Refactor pNext, flag and enum checking utils #9220
base: main
Are you sure you want to change the base?
stateless: Refactor pNext, flag and enum checking utils #9220
Conversation
CI Vulkan-ValidationLayers build queued with queue ID 345243. |
CI Vulkan-ValidationLayers build # 18660 running. |
CI Vulkan-ValidationLayers build # 18660 failed. |
797f6a0
to
e37de73
Compare
CI Vulkan-ValidationLayers build queued with queue ID 345271. |
CI Vulkan-ValidationLayers build # 18661 running. |
CI Vulkan-ValidationLayers build # 18661 failed. |
e37de73
to
dedaac5
Compare
CI Vulkan-ValidationLayers build queued with queue ID 345894. |
CI Vulkan-ValidationLayers build # 18676 running. |
dedaac5
to
8eac219
Compare
CI Vulkan-ValidationLayers build queued with queue ID 345912. |
CI Vulkan-ValidationLayers build # 18677 running. |
8eac219
to
be91296
Compare
CI Vulkan-ValidationLayers build queued with queue ID 345965. |
CI Vulkan-ValidationLayers build # 18678 running. |
CI Vulkan-ValidationLayers build # 18678 failed. |
be91296
to
a12276c
Compare
CI Vulkan-ValidationLayers build queued with queue ID 346103. |
CI Vulkan-ValidationLayers build # 18682 running. |
CI Vulkan-ValidationLayers build # 18682 failed. |
a12276c
to
7572d51
Compare
CI Vulkan-ValidationLayers build queued with queue ID 346151. |
CI Vulkan-ValidationLayers build # 18684 running. |
CI Vulkan-ValidationLayers build # 18684 passed. |
7572d51
to
a71d272
Compare
CI Vulkan-ValidationLayers build queued with queue ID 346227. |
CI Vulkan-ValidationLayers build # 18686 running. |
a71d272
to
abf381e
Compare
CI Vulkan-ValidationLayers build queued with queue ID 346261. |
CI Vulkan-ValidationLayers build # 18688 running. |
CI Vulkan-ValidationLayers build # 18688 passed. |
abf381e
to
0f4f347
Compare
CI Vulkan-ValidationLayers build queued with queue ID 346564. |
CI Vulkan-ValidationLayers build # 18689 running. |
CI Vulkan-ValidationLayers build # 18689 passed. |
Move most of the low level checking methods into a separate class. These checks are used with in the pNext checks and in many cases require knowledge about which extensions are enabled in the VkInstance, VkPhysicalDevice or VkDevice. The new separate object can be set up to use the correct DeviceExtensions object and then the extension checks within the rest of the code become much simpler.
DeviceExtensions has always inherited from InstanceExtensions, so having separate device_extension and instance_extension members in ValidationObject was redundant. There's now a single extensions member and there are 3 use cases: 1) In vvl::dispatch::Instance and ValidationObjects representing a VkInstance, extensions represents what was in VkInstanceCreateInfo 2) In vvl::dispatch::Device and ValidationObjects representing a VkDevice, extensions represents what was in VkDeviceCreateInfo for device extensions, as well as what is in the VkInstance 3) In StatelessValidation objects representing VkInstances, the physical_device_extensions map represents the supported extensions for all physical devices.
0f4f347
to
91bb8c0
Compare
CI Vulkan-ValidationLayers build queued with queue ID 347148. |
CI Vulkan-ValidationLayers build # 18699 running. |
CI Vulkan-ValidationLayers build # 18699 failed. |
Move most of the low level checking methods into a separate class. These checks are used with in the pNext checks and in many cases require knowledge about which extensions are enabled in the VkInstance, VkPhysicalDevice or VkDevice. The new separate object can be set up to use the correct DeviceExtensions object and then the extension checks within the rest of the code become much simpler.
DeviceExtensions has always inherited from InstanceExtensions, so having separate device_extension and instance_extension members in ValidationObject was redundant. There's now a single extensions member and there are 3 use cases: