summaryrefslogtreecommitdiffstats
path: root/Graphics/GraphicsEngine
diff options
context:
space:
mode:
authorassiduous <assiduous@diligentgraphics.com>2020-01-07 18:43:31 +0000
committerassiduous <assiduous@diligentgraphics.com>2020-01-07 18:43:31 +0000
commitd96453fea9e425997ed33e4fed18f31884069343 (patch)
tree011c9d3ab77f5df892ffdae7eb1eb87de0e46063 /Graphics/GraphicsEngine
parentImproved reporting of device capabilities (fixed https://github.com/DiligentG... (diff)
downloadDiligentCore-d96453fea9e425997ed33e4fed18f31884069343.tar.gz
DiligentCore-d96453fea9e425997ed33e4fed18f31884069343.zip
Improved device capabilities reporting
Diffstat (limited to 'Graphics/GraphicsEngine')
-rw-r--r--Graphics/GraphicsEngine/interface/DeviceCaps.h43
-rw-r--r--Graphics/GraphicsEngine/interface/GraphicsTypes.h5
2 files changed, 29 insertions, 19 deletions
diff --git a/Graphics/GraphicsEngine/interface/DeviceCaps.h b/Graphics/GraphicsEngine/interface/DeviceCaps.h
index 334c28a5..72ecfe5b 100644
--- a/Graphics/GraphicsEngine/interface/DeviceCaps.h
+++ b/Graphics/GraphicsEngine/interface/DeviceCaps.h
@@ -65,19 +65,19 @@ namespace Diligent
struct TextureCaps
{
/// Maximum dimension (width) of a 1D texture, or 0 if 1D textures are not supported.
- Uint32 MaxTexture1DDimension = 0;
+ Uint32 MaxTexture1DDimension = 0;
/// Maximum number of slices in a 1D texture array, or 0 if 1D texture arrays are not supported.
Uint32 MaxTexture1DArraySlices = 0;
/// Maximum dimension (width or height) of a 2D texture.
- Uint32 MaxTexture2DDimension = 0;
+ Uint32 MaxTexture2DDimension = 0;
/// Maximum number of slices in a 2D texture array, or 0 if 2D texture arrays are not supported.
Uint32 MaxTexture2DArraySlices = 0;
/// Maximum dimension (width, height, or depth) of a 3D texture, or 0 if 3D textures are not supported.
- Uint32 MaxTexture3DDimension = 0;
+ Uint32 MaxTexture3DDimension = 0;
/// Maximum dimension (width or height) of a cubemap face, or 0 if cubemap textures are not supported.
Uint32 MaxTextureCubeDimension = 0;
@@ -99,40 +99,55 @@ namespace Diligent
struct DeviceFeatures
{
/// Indicates if device supports separable programs
- Bool SeparablePrograms = False;
+ Bool SeparablePrograms = False;
/// Indicates if device supports indirect draw commands
- Bool IndirectRendering = False;
+ Bool IndirectRendering = False;
/// Indicates if device supports wireframe fill mode
- Bool WireframeFill = False;
+ Bool WireframeFill = False;
/// Indicates if device supports multithreaded resource creation
Bool MultithreadedResourceCreation = False;
/// Indicates if device supports compute shaders
- Bool ComputeShaders = False;
+ Bool ComputeShaders = False;
/// Indicates if device supports geometry shaders
- Bool GeometryShaders = False;
+ Bool GeometryShaders = False;
/// Indicates if device supports tessellation
- Bool Tessellation = False;
+ Bool Tessellation = False;
/// Indicates if device supports bindless resources
- Bool BindlessResources = False;
+ Bool BindlessResources = False;
/// Indicates if device supports occlusion queries (see Diligent::QUERY_TYPE_OCCLUSION).
- Bool OcclusionQueries = False;
+ Bool OcclusionQueries = False;
/// Indicates if device supports binary occlusion queries (see Diligent::QUERY_TYPE_BINARY_OCCLUSION).
- Bool BinaryOcclusionQueries = False;
+ Bool BinaryOcclusionQueries = False;
/// Indicates if device supports timestamp queries (see Diligent::QUERY_TYPE_TIMESTAMP).
- Bool TimestampQueries = False;
+ Bool TimestampQueries = False;
/// Indicates if device supports pipeline statistics queries (see Diligent::QUERY_TYPE_PIPELINE_STATISTICS).
- Bool PipelineStatisticsQueries = False;
+ Bool PipelineStatisticsQueries = False;
+
+ /// Indicates if device supports depth bias clamping
+ Bool DepthBiasClamp = False;
+
+ /// Indicates if device supports depth clamping
+ Bool DepthClamp = False;
+
+ /// Indicates if device supports depth clamping
+ Bool IndependentBlend = False;
+
+ /// Indicates if device supports dual-source blend
+ Bool DualSourceBlend = False;
+
+ /// Indicates if device supports multiviewport
+ Bool MultiViewport = False;
};
/// Device capabilities
diff --git a/Graphics/GraphicsEngine/interface/GraphicsTypes.h b/Graphics/GraphicsEngine/interface/GraphicsTypes.h
index 324a1771..36ad1d1c 100644
--- a/Graphics/GraphicsEngine/interface/GraphicsTypes.h
+++ b/Graphics/GraphicsEngine/interface/GraphicsTypes.h
@@ -1497,11 +1497,6 @@ namespace Diligent
/// see https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VkPhysicalDeviceFeatures
struct DeviceFeatures
{
- bool depthBiasClamp = false;
- bool depthClamp = false;
- bool independentBlend = false;
- bool dualSrcBlend = false;
- bool multiViewport = false;
bool textureCompressionBC = false;
bool vertexPipelineStoresAndAtomics = false;
bool fragmentStoresAndAtomics = false;