2 /* { dg-additional-options "-fno-strict-aliasing" } */
4 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT,
5 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR
6 } typedef VkPhysicalDeviceSparseProperties;
7 struct VkPhysicalDeviceProperties {
9 VkPhysicalDeviceSparseProperties sparseProperties;
12 VkStructureType sType;
13 int *pPhysicalDevices;
14 } VkPhysicalDeviceFeatures2;
15 typedef struct VkPhysicalDeviceProperties2 {
16 VkStructureType sType;
18 } VkPhysicalDeviceMemoryProperties2;
19 struct VulkanVersion {
24 int make_vulkan_version_version;
25 VulkanVersion make_vulkan_version() {
26 return {make_vulkan_version_version, make_vulkan_version_version,
27 make_vulkan_version_version};
32 int *phys_device = nullptr;
33 VulkanVersion api_version{};
34 VkPhysicalDeviceProperties props{};
35 VkPhysicalDeviceProperties2 props2{};
37 VkPhysicalDeviceMemoryProperties2 memory_props2{};
39 VkPhysicalDeviceFeatures2 features2{};
41 int enabled_features{};
42 int AppGpu_phys_device;
44 AppGpu() : inst(AppGpu_inst), id() {
45 api_version = make_vulkan_version();
46 props2.sType = memory_props2.sType = features2.sType =
47 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR;
51 main() { AppGpu(); return 0; }