mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-03-14 22:29:15 +01:00
52 lines
2.5 KiB
C++
52 lines
2.5 KiB
C++
#pragma once
|
|
|
|
#include "dxvk_include.h"
|
|
|
|
namespace dxvk {
|
|
|
|
/**
|
|
* \brief Device info
|
|
*
|
|
* Stores core properties and a bunch of extension-specific
|
|
* properties, if the respective extensions are available.
|
|
* Structures for unsupported extensions will be undefined,
|
|
* so before using them, check whether they are supported.
|
|
*/
|
|
struct DxvkDeviceInfo {
|
|
VkPhysicalDeviceProperties2 core;
|
|
VkPhysicalDeviceIDProperties coreDeviceId;
|
|
VkPhysicalDeviceSubgroupProperties coreSubgroup;
|
|
VkPhysicalDeviceConservativeRasterizationPropertiesEXT extConservativeRasterization;
|
|
VkPhysicalDeviceCustomBorderColorPropertiesEXT extCustomBorderColor;
|
|
VkPhysicalDeviceRobustness2PropertiesEXT extRobustness2;
|
|
VkPhysicalDeviceTransformFeedbackPropertiesEXT extTransformFeedback;
|
|
VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT extVertexAttributeDivisor;
|
|
VkPhysicalDeviceDepthStencilResolvePropertiesKHR khrDepthStencilResolve;
|
|
VkPhysicalDeviceDriverPropertiesKHR khrDeviceDriverProperties;
|
|
VkPhysicalDeviceFloatControlsPropertiesKHR khrShaderFloatControls;
|
|
};
|
|
|
|
|
|
/**
|
|
* \brief Device features
|
|
*
|
|
* Stores core features and extension-specific features.
|
|
* If the respective extensions are not available, the
|
|
* extended features will be marked as unsupported.
|
|
*/
|
|
struct DxvkDeviceFeatures {
|
|
VkPhysicalDeviceFeatures2 core;
|
|
VkPhysicalDeviceShaderDrawParametersFeatures shaderDrawParameters;
|
|
VkPhysicalDevice4444FormatsFeaturesEXT ext4444Formats;
|
|
VkPhysicalDeviceCustomBorderColorFeaturesEXT extCustomBorderColor;
|
|
VkPhysicalDeviceDepthClipEnableFeaturesEXT extDepthClipEnable;
|
|
VkPhysicalDeviceExtendedDynamicStateFeaturesEXT extExtendedDynamicState;
|
|
VkPhysicalDeviceHostQueryResetFeaturesEXT extHostQueryReset;
|
|
VkPhysicalDeviceMemoryPriorityFeaturesEXT extMemoryPriority;
|
|
VkPhysicalDeviceRobustness2FeaturesEXT extRobustness2;
|
|
VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT extShaderDemoteToHelperInvocation;
|
|
VkPhysicalDeviceTransformFeedbackFeaturesEXT extTransformFeedback;
|
|
VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT extVertexAttributeDivisor;
|
|
};
|
|
|
|
} |