2022-04-10 21:05:36 +00:00
|
|
|
|
using Silk.NET.Vulkan;
|
|
|
|
|
|
|
|
|
|
namespace Ryujinx.Graphics.Vulkan
|
2021-08-12 06:09:56 +00:00
|
|
|
|
{
|
|
|
|
|
struct HardwareCapabilities
|
|
|
|
|
{
|
|
|
|
|
public bool SupportsConditionalRendering { get; }
|
|
|
|
|
public bool SupportsExtendedDynamicState { get; }
|
2022-05-20 21:27:48 +00:00
|
|
|
|
public bool SupportsTransformFeedback { get; }
|
2022-05-21 14:11:36 +00:00
|
|
|
|
public bool SupportsTransformFeedbackQueries { get; }
|
2022-05-20 21:27:48 +00:00
|
|
|
|
public bool SupportsGeometryShader { get; }
|
2022-04-10 21:05:36 +00:00
|
|
|
|
public uint MinSubgroupSize { get; }
|
|
|
|
|
public uint MaxSubgroupSize { get; }
|
|
|
|
|
public ShaderStageFlags RequiredSubgroupSizeStages { get; }
|
2021-08-12 06:09:56 +00:00
|
|
|
|
|
|
|
|
|
public HardwareCapabilities(
|
|
|
|
|
bool supportsConditionalRendering,
|
2022-04-10 21:05:36 +00:00
|
|
|
|
bool supportsExtendedDynamicState,
|
2022-05-20 21:27:48 +00:00
|
|
|
|
bool supportsTransformFeedback,
|
2022-05-21 14:11:36 +00:00
|
|
|
|
bool supportsTransformFeedbackQueries,
|
2022-05-20 21:27:48 +00:00
|
|
|
|
bool supportsGeometryShader,
|
2022-04-10 21:05:36 +00:00
|
|
|
|
uint minSubgroupSize,
|
|
|
|
|
uint maxSubgroupSize,
|
|
|
|
|
ShaderStageFlags requiredSubgroupSizeStages)
|
2021-08-12 06:09:56 +00:00
|
|
|
|
{
|
|
|
|
|
SupportsConditionalRendering = supportsConditionalRendering;
|
|
|
|
|
SupportsExtendedDynamicState = supportsExtendedDynamicState;
|
2022-05-20 21:27:48 +00:00
|
|
|
|
SupportsTransformFeedback = supportsTransformFeedback;
|
2022-05-21 14:11:36 +00:00
|
|
|
|
SupportsTransformFeedbackQueries = supportsTransformFeedbackQueries;
|
2022-05-20 21:27:48 +00:00
|
|
|
|
SupportsGeometryShader = supportsGeometryShader;
|
2022-04-10 21:05:36 +00:00
|
|
|
|
MinSubgroupSize = minSubgroupSize;
|
|
|
|
|
MaxSubgroupSize = maxSubgroupSize;
|
|
|
|
|
RequiredSubgroupSizeStages = requiredSubgroupSizeStages;
|
2021-08-12 06:09:56 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|