• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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