1/* WARNING: This is auto-generated file. Do not modify, since changes will 2 * be lost! Modify the generating script instead. 3 * This file was generated by /scripts/gen_framework.py 4 */ 5 6#include "tcuCommandLine.hpp" 7#include "vktTestCase.hpp" 8#include "vkPlatform.hpp" 9#include "vkDeviceUtil.hpp" 10#include "vkQueryUtil.hpp" 11#include "vktCustomInstancesDevices.hpp" 12#include "vktTestCase.hpp" 13#include "vktTestCaseUtil.hpp" 14 15namespace vkt 16{ 17 18using namespace vk; 19 20tcu::TestStatus testGetDeviceProcAddr (Context& context) 21{ 22 tcu::TestLog& log (context.getTestContext().getLog()); 23 const PlatformInterface& platformInterface = context.getPlatformInterface(); 24 const auto validationEnabled = context.getTestContext().getCommandLine().isValidationEnabled(); 25 const CustomInstance instance (createCustomInstanceFromContext(context)); 26 const InstanceDriver& instanceDriver = instance.getDriver(); 27 const VkPhysicalDevice physicalDevice = chooseDevice(instanceDriver, instance, context.getTestContext().getCommandLine()); 28 const deUint32 queueFamilyIndex = 0; 29 const deUint32 queueCount = 1; 30 const float queuePriority = 1.0f; 31 const std::vector<VkQueueFamilyProperties> queueFamilyProperties = getPhysicalDeviceQueueFamilyProperties(instanceDriver, physicalDevice); 32 33 const VkDeviceQueueCreateInfo deviceQueueCreateInfo = 34 { 35 VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO, // VkStructureType sType; 36 DE_NULL, // const void* pNext; 37 (VkDeviceQueueCreateFlags)0u, // VkDeviceQueueCreateFlags flags; 38 queueFamilyIndex, // deUint32 queueFamilyIndex; 39 queueCount, // deUint32 queueCount; 40 &queuePriority, // const float* pQueuePriorities; 41 }; 42 43 const VkDeviceCreateInfo deviceCreateInfo = 44 { 45 VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO, // VkStructureType sType; 46 DE_NULL, // const void* pNext; 47 (VkDeviceCreateFlags)0u, // VkDeviceCreateFlags flags; 48 1u, // deUint32 queueCreateInfoCount; 49 &deviceQueueCreateInfo, // const VkDeviceQueueCreateInfo* pQueueCreateInfos; 50 0u, // deUint32 enabledLayerCount; 51 DE_NULL, // const char* const* ppEnabledLayerNames; 52 0u, // deUint32 enabledExtensionCount; 53 DE_NULL, // const char* const* ppEnabledExtensionNames; 54 DE_NULL, // const VkPhysicalDeviceFeatures* pEnabledFeatures; 55 }; 56 const Unique<VkDevice> device (createCustomDevice(validationEnabled, platformInterface, instance, instanceDriver, physicalDevice, &deviceCreateInfo)); 57 const DeviceDriver deviceDriver (platformInterface, instance, device.get(), context.getUsedApiVersion()); 58 59 const std::vector<std::string> loaderExceptions{ 60 "vkSetDebugUtilsObjectNameEXT", 61 "vkSetDebugUtilsObjectTagEXT", 62 "vkQueueBeginDebugUtilsLabelEXT", 63 "vkQueueEndDebugUtilsLabelEXT", 64 "vkQueueInsertDebugUtilsLabelEXT", 65 "vkCmdBeginDebugUtilsLabelEXT", 66 "vkCmdEndDebugUtilsLabelEXT", 67 "vkCmdInsertDebugUtilsLabelEXT", 68 }; 69 70 const std::vector<std::string> functions{ 71 "vkDestroySurfaceKHR", 72 "vkGetPhysicalDeviceSurfaceSupportKHR", 73 "vkGetPhysicalDeviceSurfaceCapabilitiesKHR", 74 "vkGetPhysicalDeviceSurfaceFormatsKHR", 75 "vkGetPhysicalDeviceSurfacePresentModesKHR", 76 "vkCreateSwapchainKHR", 77 "vkDestroySwapchainKHR", 78 "vkGetSwapchainImagesKHR", 79 "vkAcquireNextImageKHR", 80 "vkQueuePresentKHR", 81 "vkGetDeviceGroupPresentCapabilitiesKHR", 82 "vkGetDeviceGroupSurfacePresentModesKHR", 83 "vkGetPhysicalDevicePresentRectanglesKHR", 84 "vkAcquireNextImage2KHR", 85 "vkGetPhysicalDeviceDisplayPropertiesKHR", 86 "vkGetPhysicalDeviceDisplayPlanePropertiesKHR", 87 "vkGetDisplayPlaneSupportedDisplaysKHR", 88 "vkGetDisplayModePropertiesKHR", 89 "vkCreateDisplayModeKHR", 90 "vkGetDisplayPlaneCapabilitiesKHR", 91 "vkCreateDisplayPlaneSurfaceKHR", 92 "vkCreateSharedSwapchainsKHR", 93 "vkGetMemoryFdKHR", 94 "vkGetMemoryFdPropertiesKHR", 95 "vkImportSemaphoreFdKHR", 96 "vkGetSemaphoreFdKHR", 97 "vkReleaseDisplayEXT", 98 "vkGetPhysicalDeviceSurfaceCapabilities2EXT", 99 "vkDisplayPowerControlEXT", 100 "vkRegisterDeviceEventEXT", 101 "vkRegisterDisplayEventEXT", 102 "vkGetSwapchainCounterEXT", 103 "vkCmdSetDiscardRectangleEXT", 104 "vkCmdSetDiscardRectangleEnableEXT", 105 "vkCmdSetDiscardRectangleModeEXT", 106 "vkSetHdrMetadataEXT", 107 "vkGetSwapchainStatusKHR", 108 "vkImportFenceFdKHR", 109 "vkGetFenceFdKHR", 110 "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR", 111 "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR", 112 "vkAcquireProfilingLockKHR", 113 "vkReleaseProfilingLockKHR", 114 "vkGetPhysicalDeviceSurfaceCapabilities2KHR", 115 "vkGetPhysicalDeviceSurfaceFormats2KHR", 116 "vkGetPhysicalDeviceDisplayProperties2KHR", 117 "vkGetPhysicalDeviceDisplayPlaneProperties2KHR", 118 "vkGetDisplayModeProperties2KHR", 119 "vkGetDisplayPlaneCapabilities2KHR", 120 "vkSetDebugUtilsObjectNameEXT", 121 "vkSetDebugUtilsObjectTagEXT", 122 "vkQueueBeginDebugUtilsLabelEXT", 123 "vkQueueEndDebugUtilsLabelEXT", 124 "vkQueueInsertDebugUtilsLabelEXT", 125 "vkCmdBeginDebugUtilsLabelEXT", 126 "vkCmdEndDebugUtilsLabelEXT", 127 "vkCmdInsertDebugUtilsLabelEXT", 128 "vkCreateDebugUtilsMessengerEXT", 129 "vkDestroyDebugUtilsMessengerEXT", 130 "vkSubmitDebugUtilsMessageEXT", 131 "vkCmdSetSampleLocationsEXT", 132 "vkGetPhysicalDeviceMultisamplePropertiesEXT", 133 "vkGetImageDrmFormatModifierPropertiesEXT", 134 "vkGetMemoryHostPointerPropertiesEXT", 135 "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT", 136 "vkGetCalibratedTimestampsEXT", 137 "vkGetPhysicalDeviceFragmentShadingRatesKHR", 138 "vkCmdSetFragmentShadingRateKHR", 139 "vkCreateHeadlessSurfaceEXT", 140 "vkCmdSetLineStippleEXT", 141 "vkCmdSetCullModeEXT", 142 "vkCmdSetFrontFaceEXT", 143 "vkCmdSetPrimitiveTopologyEXT", 144 "vkCmdSetViewportWithCountEXT", 145 "vkCmdSetScissorWithCountEXT", 146 "vkCmdBindVertexBuffers2EXT", 147 "vkCmdSetDepthTestEnableEXT", 148 "vkCmdSetDepthWriteEnableEXT", 149 "vkCmdSetDepthCompareOpEXT", 150 "vkCmdSetDepthBoundsTestEnableEXT", 151 "vkCmdSetStencilTestEnableEXT", 152 "vkCmdSetStencilOpEXT", 153 "vkCmdRefreshObjectsKHR", 154 "vkGetPhysicalDeviceRefreshableObjectTypesKHR", 155 "vkCmdSetEvent2KHR", 156 "vkCmdResetEvent2KHR", 157 "vkCmdWaitEvents2KHR", 158 "vkCmdPipelineBarrier2KHR", 159 "vkCmdWriteTimestamp2KHR", 160 "vkQueueSubmit2KHR", 161 "vkCmdWriteBufferMarker2AMD", 162 "vkGetQueueCheckpointData2NV", 163 "vkCmdCopyBuffer2KHR", 164 "vkCmdCopyImage2KHR", 165 "vkCmdCopyBufferToImage2KHR", 166 "vkCmdCopyImageToBuffer2KHR", 167 "vkCmdBlitImage2KHR", 168 "vkCmdResolveImage2KHR", 169 "vkCmdSetVertexInputEXT", 170 "vkGetFenceSciSyncFenceNV", 171 "vkGetFenceSciSyncObjNV", 172 "vkImportFenceSciSyncFenceNV", 173 "vkImportFenceSciSyncObjNV", 174 "vkGetPhysicalDeviceSciSyncAttributesNV", 175 "vkGetSemaphoreSciSyncObjNV", 176 "vkImportSemaphoreSciSyncObjNV", 177 "vkGetMemorySciBufNV", 178 "vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV", 179 "vkGetPhysicalDeviceSciBufAttributesNV", 180 "vkCmdSetPatchControlPointsEXT", 181 "vkCmdSetRasterizerDiscardEnableEXT", 182 "vkCmdSetDepthBiasEnableEXT", 183 "vkCmdSetLogicOpEXT", 184 "vkCmdSetPrimitiveRestartEnableEXT", 185 "vkCmdSetColorWriteEnableEXT", 186 "vkCreateSemaphoreSciSyncPoolNV", 187 "vkDestroySemaphoreSciSyncPoolNV", 188 "vkGetFenceSciSyncFenceNV", 189 "vkGetFenceSciSyncObjNV", 190 "vkImportFenceSciSyncFenceNV", 191 "vkImportFenceSciSyncObjNV", 192 "vkGetPhysicalDeviceSciSyncAttributesNV", 193 "vkGetScreenBufferPropertiesQNX", 194 "vkCmdSetCheckpointNV", 195 "vkGetQueueCheckpointDataNV", 196 }; 197 198 bool fail = false; 199 for (const auto& function : functions) 200 { 201 if (std::find(loaderExceptions.begin(), loaderExceptions.end(), function) != loaderExceptions.end()) 202 { 203 continue; 204 } 205 if (deviceDriver.getDeviceProcAddr(device.get(), function.c_str()) != DE_NULL) 206 { 207 fail = true; 208 log << tcu::TestLog::Message << "Function " << function << " is not NULL" << tcu::TestLog::EndMessage; 209 } 210 } 211 if (fail) 212 return tcu::TestStatus::fail("Fail"); 213 return tcu::TestStatus::pass("All functions are NULL"); 214} 215 216void addGetDeviceProcAddrTests (tcu::TestCaseGroup* testGroup) 217{ 218 addFunctionCase(testGroup, "non_enabled", testGetDeviceProcAddr); 219} 220 221} 222 223