#define VK_WHOLE_SIZE (static_cast<vk::VkDeviceSize> ((~0ULL)))
#define VK_TRUE (static_cast<vk::VkBool32> (1))
#define VK_FALSE (static_cast<vk::VkBool32> (0))
+ #define VK_API_MAX_FRAMEWORK_VERSION VK_API_VERSION_1_1
-VK_DEFINE_HANDLE (VkInstance, HANDLE_TYPE_INSTANCE);
-VK_DEFINE_HANDLE (VkPhysicalDevice, HANDLE_TYPE_PHYSICAL_DEVICE);
-VK_DEFINE_HANDLE (VkDevice, HANDLE_TYPE_DEVICE);
-VK_DEFINE_HANDLE (VkQueue, HANDLE_TYPE_QUEUE);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkSemaphore, HANDLE_TYPE_SEMAPHORE);
-VK_DEFINE_HANDLE (VkCommandBuffer, HANDLE_TYPE_COMMAND_BUFFER);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkFence, HANDLE_TYPE_FENCE);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDeviceMemory, HANDLE_TYPE_DEVICE_MEMORY);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkBuffer, HANDLE_TYPE_BUFFER);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkImage, HANDLE_TYPE_IMAGE);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkEvent, HANDLE_TYPE_EVENT);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkQueryPool, HANDLE_TYPE_QUERY_POOL);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkBufferView, HANDLE_TYPE_BUFFER_VIEW);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkImageView, HANDLE_TYPE_IMAGE_VIEW);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkShaderModule, HANDLE_TYPE_SHADER_MODULE);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkPipelineCache, HANDLE_TYPE_PIPELINE_CACHE);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkPipelineLayout, HANDLE_TYPE_PIPELINE_LAYOUT);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkRenderPass, HANDLE_TYPE_RENDER_PASS);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkPipeline, HANDLE_TYPE_PIPELINE);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDescriptorSetLayout, HANDLE_TYPE_DESCRIPTOR_SET_LAYOUT);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkSampler, HANDLE_TYPE_SAMPLER);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDescriptorPool, HANDLE_TYPE_DESCRIPTOR_POOL);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDescriptorSet, HANDLE_TYPE_DESCRIPTOR_SET);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkFramebuffer, HANDLE_TYPE_FRAMEBUFFER);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkCommandPool, HANDLE_TYPE_COMMAND_POOL);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkSamplerYcbcrConversion, HANDLE_TYPE_SAMPLER_YCBCR_CONVERSION);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDescriptorUpdateTemplate, HANDLE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkSurfaceKHR, HANDLE_TYPE_SURFACE_KHR);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkSwapchainKHR, HANDLE_TYPE_SWAPCHAIN_KHR);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDisplayKHR, HANDLE_TYPE_DISPLAY_KHR);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDisplayModeKHR, HANDLE_TYPE_DISPLAY_MODE_KHR);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDebugReportCallbackEXT, HANDLE_TYPE_DEBUG_REPORT_CALLBACK_EXT);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkObjectTableNVX, HANDLE_TYPE_OBJECT_TABLE_NVX);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkIndirectCommandsLayoutNVX, HANDLE_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDebugUtilsMessengerEXT, HANDLE_TYPE_DEBUG_UTILS_MESSENGER_EXT);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkValidationCacheEXT, HANDLE_TYPE_VALIDATION_CACHE_EXT);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkAccelerationStructureNV, HANDLE_TYPE_ACCELERATION_STRUCTURE_NV);
+VK_DEFINE_HANDLE (VkInstance, HANDLE_TYPE_INSTANCE);
+VK_DEFINE_HANDLE (VkPhysicalDevice, HANDLE_TYPE_PHYSICAL_DEVICE);
+VK_DEFINE_HANDLE (VkDevice, HANDLE_TYPE_DEVICE);
+VK_DEFINE_HANDLE (VkQueue, HANDLE_TYPE_QUEUE);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkSemaphore, HANDLE_TYPE_SEMAPHORE);
+VK_DEFINE_HANDLE (VkCommandBuffer, HANDLE_TYPE_COMMAND_BUFFER);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkFence, HANDLE_TYPE_FENCE);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDeviceMemory, HANDLE_TYPE_DEVICE_MEMORY);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkBuffer, HANDLE_TYPE_BUFFER);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkImage, HANDLE_TYPE_IMAGE);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkEvent, HANDLE_TYPE_EVENT);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkQueryPool, HANDLE_TYPE_QUERY_POOL);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkBufferView, HANDLE_TYPE_BUFFER_VIEW);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkImageView, HANDLE_TYPE_IMAGE_VIEW);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkShaderModule, HANDLE_TYPE_SHADER_MODULE);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkPipelineCache, HANDLE_TYPE_PIPELINE_CACHE);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkPipelineLayout, HANDLE_TYPE_PIPELINE_LAYOUT);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkRenderPass, HANDLE_TYPE_RENDER_PASS);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkPipeline, HANDLE_TYPE_PIPELINE);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDescriptorSetLayout, HANDLE_TYPE_DESCRIPTOR_SET_LAYOUT);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkSampler, HANDLE_TYPE_SAMPLER);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDescriptorPool, HANDLE_TYPE_DESCRIPTOR_POOL);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDescriptorSet, HANDLE_TYPE_DESCRIPTOR_SET);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkFramebuffer, HANDLE_TYPE_FRAMEBUFFER);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkCommandPool, HANDLE_TYPE_COMMAND_POOL);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkSamplerYcbcrConversion, HANDLE_TYPE_SAMPLER_YCBCR_CONVERSION);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDescriptorUpdateTemplate, HANDLE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkSurfaceKHR, HANDLE_TYPE_SURFACE_KHR);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkSwapchainKHR, HANDLE_TYPE_SWAPCHAIN_KHR);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDisplayKHR, HANDLE_TYPE_DISPLAY_KHR);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDisplayModeKHR, HANDLE_TYPE_DISPLAY_MODE_KHR);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDebugReportCallbackEXT, HANDLE_TYPE_DEBUG_REPORT_CALLBACK_EXT);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkObjectTableNVX, HANDLE_TYPE_OBJECT_TABLE_NVX);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkIndirectCommandsLayoutNVX, HANDLE_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkDebugUtilsMessengerEXT, HANDLE_TYPE_DEBUG_UTILS_MESSENGER_EXT);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkValidationCacheEXT, HANDLE_TYPE_VALIDATION_CACHE_EXT);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkAccelerationStructureNV, HANDLE_TYPE_ACCELERATION_STRUCTURE_NV);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE (VkPerformanceConfigurationINTEL, HANDLE_TYPE_PERFORMANCE_CONFIGURATION_INTEL);
enum VkPipelineCacheHeaderVersion
{
#include "vkDeviceFeaturesForContextDecl.inl"
- const vk::VkPhysicalDeviceProperties& getDeviceProperties (void) const;
- const std::vector<std::string>& getDeviceExtensions (void) const;
- vk::VkDevice getDevice (void) const;
- const vk::DeviceInterface& getDeviceInterface (void) const;
- deUint32 getUniversalQueueFamilyIndex (void) const;
- vk::VkQueue getUniversalQueue (void) const;
- deUint32 getUsedApiVersion (void) const;
- deUint32 getSparseQueueFamilyIndex (void) const;
- vk::VkQueue getSparseQueue (void) const;
- vk::Allocator& getDefaultAllocator (void) const;
- bool contextSupports (const deUint32 majorNum, const deUint32 minorNum, const deUint32 patchNum) const;
- bool contextSupports (const vk::ApiVersion version) const;
- bool contextSupports (const deUint32 requiredApiVersionBits) const;
- bool requireDeviceExtension (const std::string& required);
- bool requireInstanceExtension (const std::string& required);
- bool requireDeviceCoreFeature (const DeviceCoreFeature requiredDeviceCoreFeature);
-
- void* getInstanceProcAddr ();
+ const vk::VkPhysicalDeviceProperties& getDeviceProperties (void) const;
+ const std::vector<std::string>& getDeviceExtensions (void) const;
+ vk::VkDevice getDevice (void) const;
+ const vk::DeviceInterface& getDeviceInterface (void) const;
+ deUint32 getUniversalQueueFamilyIndex (void) const;
+ vk::VkQueue getUniversalQueue (void) const;
+ deUint32 getUsedApiVersion (void) const;
+ deUint32 getSparseQueueFamilyIndex (void) const;
+ vk::VkQueue getSparseQueue (void) const;
+ vk::Allocator& getDefaultAllocator (void) const;
+ bool contextSupports (const deUint32 majorNum, const deUint32 minorNum, const deUint32 patchNum) const;
+ bool contextSupports (const vk::ApiVersion version) const;
+ bool contextSupports (const deUint32 requiredApiVersionBits) const;
+ bool requireDeviceExtension (const std::string& required);
+ bool requireInstanceExtension (const std::string& required);
+ bool requireDeviceCoreFeature (const DeviceCoreFeature requiredDeviceCoreFeature);
+
+ void* getInstanceProcAddr ();
+ bool resultSetOnValidation () const { return m_resultSetOnValidation; }
+ void resultSetOnValidation (bool value) { m_resultSetOnValidation = value; }
+
protected:
tcu::TestContext& m_testCtx;
const vk::PlatformInterface& m_platformInterface;
const de::UniquePtr<DefaultDevice> m_device;
const de::UniquePtr<vk::Allocator> m_allocator;
+ bool m_resultSetOnValidation;
+
private:
- Context (const Context&); // Not allowed
- Context& operator= (const Context&); // Not allowed
+ Context (const Context&); // Not allowed
+ Context& operator= (const Context&); // Not allowed
};
class TestInstance;