Settings: Add option to disable DSB/fbfetch
This commit is contained in:
@ -443,6 +443,14 @@ public:
|
||||
// TODO: gpu crash handling on present
|
||||
using DrawIndex = u16;
|
||||
|
||||
enum FeatureMask : u32
|
||||
{
|
||||
FEATURE_MASK_DUAL_SOURCE_BLEND = (1 << 0),
|
||||
FEATURE_MASK_FRAMEBUFFER_FETCH = (1 << 1),
|
||||
FEATURE_MASK_TEXTURE_BUFFERS = (1 << 2),
|
||||
FEATURE_MASK_GEOMETRY_SHADERS = (1 << 3),
|
||||
};
|
||||
|
||||
struct Features
|
||||
{
|
||||
bool dual_source_blend : 1;
|
||||
@ -531,7 +539,7 @@ public:
|
||||
virtual RenderAPI GetRenderAPI() const = 0;
|
||||
|
||||
bool Create(const std::string_view& adapter, const std::string_view& shader_cache_path, u32 shader_cache_version,
|
||||
bool debug_device, bool vsync, bool threaded_presentation);
|
||||
bool debug_device, bool vsync, bool threaded_presentation, FeatureMask disabled_features);
|
||||
void Destroy();
|
||||
|
||||
virtual bool HasSurface() const = 0;
|
||||
@ -636,7 +644,7 @@ public:
|
||||
virtual float GetAndResetAccumulatedGPUTime();
|
||||
|
||||
protected:
|
||||
virtual bool CreateDevice(const std::string_view& adapter, bool threaded_presentation) = 0;
|
||||
virtual bool CreateDevice(const std::string_view& adapter, bool threaded_presentation, FeatureMask disabled_features) = 0;
|
||||
virtual void DestroyDevice() = 0;
|
||||
|
||||
std::string GetShaderCacheBaseName(const std::string_view& type) const;
|
||||
|
||||
Reference in New Issue
Block a user