From c2a9e830175d658bf6862b3456228b9b1ce3804a Mon Sep 17 00:00:00 2001 From: assiduous Date: Tue, 7 Jan 2020 19:19:04 -0800 Subject: Finished reworking device feature reporting; removed EngineVkCreateInfo::DeviceFeatures structure. --- Graphics/GraphicsEngine/interface/DeviceCaps.h | 14 ++++++++++++++ Graphics/GraphicsEngine/interface/GraphicsTypes.h | 12 +----------- 2 files changed, 15 insertions(+), 11 deletions(-) (limited to 'Graphics/GraphicsEngine') diff --git a/Graphics/GraphicsEngine/interface/DeviceCaps.h b/Graphics/GraphicsEngine/interface/DeviceCaps.h index 72ecfe5b..b604c811 100644 --- a/Graphics/GraphicsEngine/interface/DeviceCaps.h +++ b/Graphics/GraphicsEngine/interface/DeviceCaps.h @@ -148,6 +148,20 @@ namespace Diligent /// Indicates if device supports multiviewport Bool MultiViewport = False; + + /// Indicates if device supports all BC-compressed formats + Bool TextureCompressionBC = False; + + /// Indicates if device supports writes to UAVs as well as atomic operations in vertex, + /// tessellation, and geometry shader stages. + Bool VertexPipelineUAVWritesAndAtomics = False; + + /// Indicates if device supports writes to UAVs as well as atomic operations in pixel + /// shader stage. + Bool PixelUAVWritesAndAtomics = False; + + /// Specifies whether all the extended UAV texture formats are available in shader code. + Bool TextureUAVExtendedFormats = False; }; /// Device capabilities diff --git a/Graphics/GraphicsEngine/interface/GraphicsTypes.h b/Graphics/GraphicsEngine/interface/GraphicsTypes.h index 36ad1d1c..5cd1c6b2 100644 --- a/Graphics/GraphicsEngine/interface/GraphicsTypes.h +++ b/Graphics/GraphicsEngine/interface/GraphicsTypes.h @@ -1486,23 +1486,13 @@ namespace Diligent const char* const* ppGlobalExtensionNames = nullptr; /// Allocator used as pAllocator parameter in callse to Vulkan Create* functions - void *pVkAllocator = nullptr; + void* pVkAllocator = nullptr; /// Number of commands to flush the command buffer. Only draw/dispatch commands count /// towards the limit. Command buffers are only flushed when pipeline state is changed /// or when backbuffer is presented. Uint32 NumCommandsToFlushCmdBuffer = 256; - /// List of device features to be enabled - /// see https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VkPhysicalDeviceFeatures - struct DeviceFeatures - { - bool textureCompressionBC = false; - bool vertexPipelineStoresAndAtomics = false; - bool fragmentStoresAndAtomics = false; - bool shaderStorageImageExtendedFormats = false; - }EnabledFeatures; - /// Descriptor pool size struct DescriptorPoolSize { -- cgit v1.2.3