Revert submission Reason for revert: Didn't update a build file, which broke the build and commit queue. Bug: b/139528538 Change-Id: I45cd93a01d984175c2dba5351a4cdd1154e50f31 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38528 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by: Alexis Hétu <sugoi@google.com> Tested-by: Alexis Hétu <sugoi@google.com>
diff --git a/src/Vulkan/VkDebug.cpp b/src/Vulkan/VkDebug.cpp index 37beb7a..262f700 100644 --- a/src/Vulkan/VkDebug.cpp +++ b/src/Vulkan/VkDebug.cpp
@@ -15,76 +15,8 @@ #include "VkDebug.hpp" #include <string> -#include <atomic> #include <stdarg.h> -#if defined(__unix__) -#define PTRACE -#include <sys/types.h> -#include <sys/ptrace.h> -#elif defined(_WIN32) || defined(_WIN64) -#include <windows.h> -#elif defined(__APPLE__) || defined(__MACH__) -#include <unistd.h> -#include <sys/sysctl.h> -#endif - -namespace { - -bool IsUnderDebugger() -{ -#if defined(PTRACE) && !defined(__APPLE__) && !defined(__MACH__) - static bool checked = false; - static bool res = false; - - if (!checked) - { - // If a debugger is attached then we're already being ptraced and ptrace - // will return a non-zero value. - checked = true; - if (ptrace(PTRACE_TRACEME, 0, 1, 0) != 0) - { - res = true; - } - else - { - ptrace(PTRACE_DETACH, 0, 1, 0); - } - } - - return res; -#elif defined(_WIN32) || defined(_WIN64) - return IsDebuggerPresent() != 0; -#elif defined(__APPLE__) || defined(__MACH__) - // Code comes from the Apple Technical Q&A QA1361 - - // Tell sysctl what info we're requestion. Specifically we're asking for - // info about this our PID. - int res = 0; - int request[4] = { - CTL_KERN, - KERN_PROC, - KERN_PROC_PID, - getpid() - }; - struct kinfo_proc info; - size_t size = sizeof(info); - - info.kp_proc.p_flag = 0; - - // Get the info we're requesting, if sysctl fails then info.kp_proc.p_flag will remain 0. - res = sysctl(request, sizeof(request) / sizeof(*request), &info, &size, NULL, 0); - ASSERT_MSG(res == 0, "syscl returned %d", res); - - // We're being debugged if the P_TRACED flag is set - return ((info.kp_proc.p_flag & P_TRACED) != 0); -#else - return false; -#endif -} - -} - namespace vk { @@ -139,29 +71,4 @@ ::abort(); } -void trace_assert(const char *format, ...) -{ - static std::atomic<bool> asserted = {false}; - va_list vararg; - va_start(vararg, format); - - if (IsUnderDebugger() && !asserted.exchange(true)) - { - // Abort after tracing and printing to stderr - tracev(format, vararg); - va_end(vararg); - - va_start(vararg, format); - vfprintf(stderr, format, vararg); - va_end(vararg); - - ::abort(); - } - else if (!asserted) - { - tracev(format, vararg); - va_end(vararg); - } -} - }
diff --git a/src/Vulkan/VkDebug.hpp b/src/Vulkan/VkDebug.hpp index 95b4ff9..31d62b2 100644 --- a/src/Vulkan/VkDebug.hpp +++ b/src/Vulkan/VkDebug.hpp
@@ -20,7 +20,6 @@ #include <stdlib.h> #include <assert.h> #include <stdio.h> -#include <string> #if !defined(TRACE_OUTPUT_FILE) #define TRACE_OUTPUT_FILE "debug.txt" @@ -44,19 +43,14 @@ // Outputs the message to the debugging log and stderr, and calls abort(). void abort(const char *format, ...) CHECK_PRINTF_ARGS; - - // Outputs text to the debugging log, and asserts once if a debugger is attached. - void trace_assert(const char *format, ...) CHECK_PRINTF_ARGS; } // A macro to output a trace of a function call and its arguments to the // debugging log. Disabled if SWIFTSHADER_DISABLE_TRACE is defined. #if defined(SWIFTSHADER_DISABLE_TRACE) #define TRACE(message, ...) (void(0)) -#define TRACE_ASSERT(message, ...) (void(0)) #else #define TRACE(message, ...) vk::trace("%s:%d TRACE: " message "\n", __FILE__, __LINE__, ##__VA_ARGS__) -#define TRACE_ASSERT(message, ...) vk::trace_assert("%s:%d %s TRACE_ASSERT: " message "\n", __FILE__, __LINE__, __func__, ##__VA_ARGS__) #endif // A macro to print a warning message to the debugging log and stderr to denote
diff --git a/src/Vulkan/VkStringify.cpp b/src/Vulkan/VkStringify.cpp deleted file mode 100644 index 5fb4a2b..0000000 --- a/src/Vulkan/VkStringify.cpp +++ /dev/null
@@ -1,474 +0,0 @@ -// Copyright 2019 The SwiftShader Authors. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -#include "VkStringify.hpp" -#include "VkDebug.hpp" -#include "vulkan/vk_ext_provoking_vertex.h" - -#include <iostream> -#include <map> -#include <string> - -namespace vk { - -const char *Stringify(VkStructureType value) -{ -#ifndef NDEBUG - // Since C++ hasn't given us introspection on enums, we can't just "get" an - // enum name from an enum value (at least not without some crazy header - // file hacks). So I copied the entire list of VK_STRUCTURE_TYPE defined in - // vulkan/vulkan_core.h. - // - // If vulkan_core.h is updated to include new structure types, and this list - // becomes out of date, then this function will throw a warning if someone - // tries to stringify that enum value. - static const std::map<VkStructureType, const char *> strings = { -#define INSERT_ELEMENT(p) std::make_pair(p, #p) - INSERT_ELEMENT(VK_STRUCTURE_TYPE_APPLICATION_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SUBMIT_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_BIND_SPARSE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_FENCE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_EVENT_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_MEMORY_BARRIER), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PRESENT_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_HDR_METADATA_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SUBPASS_END_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_GEOMETRY_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_BEGIN_RANGE), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_END_RANGE), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_RANGE_SIZE), - INSERT_ELEMENT(VK_STRUCTURE_TYPE_MAX_ENUM) -#undef INSERT_ELEMENT - }; - auto it = strings.find(value); - if (it != strings.end()) - { - return it->second; - } - else - { - WARN("Stringify(VkStructureType v) is out of date. Please update it to match vulkan/vulkan_core.h"); - return std::to_string(value).c_str(); - } -#else // if not debug: - return std::to_string(value).c_str(); -#endif -} - -}
diff --git a/src/Vulkan/VkStringify.hpp b/src/Vulkan/VkStringify.hpp deleted file mode 100644 index 247310f..0000000 --- a/src/Vulkan/VkStringify.hpp +++ /dev/null
@@ -1,29 +0,0 @@ -// Copyright 2019 The SwiftShader Authors. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// VkStringify.hpp: Utilities to turn Vulkan enums into strings - -#ifndef VK_STRINGIFY_HPP_ -#define VK_STRINGIFY_HPP_ - -#include <vulkan/vulkan.h> -#include <string> - -namespace vk { - -const char *Stringify(VkStructureType value); - -} - -#endif
diff --git a/src/Vulkan/libVulkan.cpp b/src/Vulkan/libVulkan.cpp index a04209c..16784ce 100644 --- a/src/Vulkan/libVulkan.cpp +++ b/src/Vulkan/libVulkan.cpp
@@ -40,7 +40,6 @@ #include "VkSampler.hpp" #include "VkSemaphore.hpp" #include "VkShaderModule.hpp" -#include "VkStringify.hpp" #include "VkRenderPass.hpp" #if defined(VK_USE_PLATFORM_METAL_EXT) || defined(VK_USE_PLATFORM_MACOS_MVK) @@ -638,7 +637,7 @@ break; default: // "the [driver] must skip over, without processing (other than reading the sType and pNext members) any structures in the chain with sType values not defined by [supported extenions]" - TRACE_ASSERT("Unimplemented extensionCreateInfo->sType = %s", vk::Stringify(extensionCreateInfo->sType)); + UNIMPLEMENTED("extensionCreateInfo->sType %d", int(extensionCreateInfo->sType)); // TODO(b/119321052): UNIMPLEMENTED() should be used only for features that must still be implemented. Use a more informational macro here. break; } @@ -823,7 +822,7 @@ } #endif default: - TRACE_ASSERT("Unimplemented allocationInfo->sType = %s", vk::Stringify(allocationInfo->sType)); + UNIMPLEMENTED("allocationInfo->sType %u", allocationInfo->sType); break; }
diff --git a/tests/VulkanUnitTests/Device.hpp b/tests/VulkanUnitTests/Device.hpp index 96b91dc..ec582a7 100644 --- a/tests/VulkanUnitTests/Device.hpp +++ b/tests/VulkanUnitTests/Device.hpp
@@ -136,6 +136,9 @@ // complete. VkResult QueueSubmitAndWait(VkCommandBuffer commandBuffer) const; +private: + Device(Driver const *driver, VkDevice device, VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex); + static VkResult GetPhysicalDevices( Driver const *driver, VkInstance instance, std::vector<VkPhysicalDevice> &out); @@ -143,10 +146,6 @@ static int GetComputeQueueFamilyIndex( Driver const *driver, VkPhysicalDevice device); -private: - Device(Driver const *driver, VkDevice device, VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex); - - static std::vector<VkQueueFamilyProperties> GetPhysicalDeviceQueueFamilyProperties( Driver const *driver, VkPhysicalDevice device);
diff --git a/tests/VulkanUnitTests/unittests.cpp b/tests/VulkanUnitTests/unittests.cpp index 64eadbb..1203a50 100644 --- a/tests/VulkanUnitTests/unittests.cpp +++ b/tests/VulkanUnitTests/unittests.cpp
@@ -117,79 +117,6 @@ driver.vkDestroyInstance(instance, nullptr); } -TEST_F(SwiftShaderVulkanTest, UnsupportedDeviceExtension) -{ - Driver driver; - ASSERT_TRUE(driver.loadSwiftShader()); - - uint32_t apiVersion = 0; - VkResult result = driver.vkEnumerateInstanceVersion(&apiVersion); - EXPECT_EQ(apiVersion, (uint32_t)VK_API_VERSION_1_1); - - const VkInstanceCreateInfo createInfo = { - VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO, // sType - nullptr, // pNext - 0, // flags - nullptr, // pApplicationInfo - 0, // enabledLayerCount - nullptr, // ppEnabledLayerNames - 0, // enabledExtensionCount - nullptr, // ppEnabledExtensionNames - }; - VkInstance instance = VK_NULL_HANDLE; - result = driver.vkCreateInstance(&createInfo, nullptr, &instance); - EXPECT_EQ(result, VK_SUCCESS); - - ASSERT_TRUE(driver.resolve(instance)); - - VkBaseInStructure unsupportedExt = { VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT, nullptr }; - - // Gather all physical devices - std::vector<VkPhysicalDevice> physicalDevices; - result = Device::GetPhysicalDevices(&driver, instance, physicalDevices); - EXPECT_EQ(result, VK_SUCCESS); - - // Inspect each physical device's queue families for compute support. - for (auto physicalDevice : physicalDevices) - { - int queueFamilyIndex = Device::GetComputeQueueFamilyIndex(&driver, physicalDevice); - if (queueFamilyIndex < 0) - { - continue; - } - - const float queuePrioritory = 1.0f; - const VkDeviceQueueCreateInfo deviceQueueCreateInfo = { - VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO, // sType - nullptr, // pNext - 0, // flags - (uint32_t)queueFamilyIndex, // queueFamilyIndex - 1, // queueCount - &queuePrioritory, // pQueuePriorities - }; - - const VkDeviceCreateInfo deviceCreateInfo = { - VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO, // sType - &unsupportedExt, // pNext - 0, // flags - 1, // queueCreateInfoCount - &deviceQueueCreateInfo, // pQueueCreateInfos - 0, // enabledLayerCount - nullptr, // ppEnabledLayerNames - 0, // enabledExtensionCount - nullptr, // ppEnabledExtensionNames - nullptr, // pEnabledFeatures - }; - - VkDevice device; - result = driver.vkCreateDevice(physicalDevice, &deviceCreateInfo, nullptr, &device); - EXPECT_EQ(result, VK_SUCCESS); - driver.vkDestroyDevice(device, nullptr); - } - - driver.vkDestroyInstance(instance, nullptr); -} - std::vector<uint32_t> compileSpirv(const char* assembly) { spvtools::SpirvTools core(SPV_ENV_VULKAN_1_0);