From ca51bc7d1325cbfd66cd52f1f0898e5311d9120e Mon Sep 17 00:00:00 2001 From: "Richard S. Wright Jr" Date: Wed, 6 Jan 2021 13:03:18 -0500 Subject: vkcube: Updated to support portability extension properly --- cube/cube.c | 22 ++++++++++++++-------- cube/cube.cpp | 7 ++++++- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/cube/cube.c b/cube/cube.c index 975f8a85..ec430478 100644 --- a/cube/cube.c +++ b/cube/cube.c @@ -1364,10 +1364,10 @@ static void demo_prepare_buffers(struct demo *demo) { .format = demo->format, .components = { - .r = VK_COMPONENT_SWIZZLE_R, - .g = VK_COMPONENT_SWIZZLE_G, - .b = VK_COMPONENT_SWIZZLE_B, - .a = VK_COMPONENT_SWIZZLE_A, + .r = VK_COMPONENT_SWIZZLE_IDENTITY, + .g = VK_COMPONENT_SWIZZLE_IDENTITY, + .b = VK_COMPONENT_SWIZZLE_IDENTITY, + .a = VK_COMPONENT_SWIZZLE_IDENTITY, }, .subresourceRange = {.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT, .baseMipLevel = 0, .levelCount = 1, .baseArrayLayer = 0, .layerCount = 1}, @@ -1729,10 +1729,10 @@ static void demo_prepare_textures(struct demo *demo) { .format = tex_format, .components = { - VK_COMPONENT_SWIZZLE_R, - VK_COMPONENT_SWIZZLE_G, - VK_COMPONENT_SWIZZLE_B, - VK_COMPONENT_SWIZZLE_A, + VK_COMPONENT_SWIZZLE_IDENTITY, + VK_COMPONENT_SWIZZLE_IDENTITY, + VK_COMPONENT_SWIZZLE_IDENTITY, + VK_COMPONENT_SWIZZLE_IDENTITY, }, .subresourceRange = {VK_IMAGE_ASPECT_COLOR_BIT, 0, 1, 0, 1}, .flags = 0, @@ -3136,6 +3136,9 @@ static void demo_init_vk(struct demo *demo) { demo->extension_names[demo->enabled_extension_count++] = VK_EXT_METAL_SURFACE_EXTENSION_NAME; } #endif + if (!strcmp(VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME, instance_extensions[i].extensionName)) { + demo->extension_names[demo->enabled_extension_count++] = VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME; + } if (!strcmp(VK_EXT_DEBUG_UTILS_EXTENSION_NAME, instance_extensions[i].extensionName)) { if (demo->validate) { demo->extension_names[demo->enabled_extension_count++] = VK_EXT_DEBUG_UTILS_EXTENSION_NAME; @@ -3308,6 +3311,9 @@ static void demo_init_vk(struct demo *demo) { swapchainExtFound = 1; demo->extension_names[demo->enabled_extension_count++] = VK_KHR_SWAPCHAIN_EXTENSION_NAME; } + if (!strcmp(VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME, device_extensions[i].extensionName)) { + demo->extension_names[demo->enabled_extension_count++] = VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME; + } assert(demo->enabled_extension_count < 64); } diff --git a/cube/cube.cpp b/cube/cube.cpp index e9f17757..4f66253e 100644 --- a/cube/cube.cpp +++ b/cube/cube.cpp @@ -1110,6 +1110,9 @@ void Demo::init_vk() { VERIFY(result == vk::Result::eSuccess); for (uint32_t i = 0; i < instance_extension_count; i++) { + if (!strcmp(VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME, instance_extensions[i].extensionName)) { + extension_names[enabled_extension_count++] = VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME; + } if (!strcmp(VK_KHR_SURFACE_EXTENSION_NAME, instance_extensions[i].extensionName)) { surfaceExtFound = 1; extension_names[enabled_extension_count++] = VK_KHR_SURFACE_EXTENSION_NAME; @@ -1149,7 +1152,6 @@ void Demo::init_vk() { platformSurfaceExtFound = 1; extension_names[enabled_extension_count++] = VK_EXT_METAL_SURFACE_EXTENSION_NAME; } - #endif assert(enabled_extension_count < 64); } @@ -1284,6 +1286,9 @@ void Demo::init_vk() { swapchainExtFound = 1; extension_names[enabled_extension_count++] = VK_KHR_SWAPCHAIN_EXTENSION_NAME; } + if (!strcmp(VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME, device_extensions[i].extensionName)) { + extension_names[enabled_extension_count++] = VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME; + } assert(enabled_extension_count < 64); } } -- cgit v1.2.3