Renderer: Add support for device-enabled features (anisotropic filtering)

This commit is contained in:
Jérôme Leclercq
2021-06-05 19:51:48 +02:00
parent 0411271851
commit 86097b331b
14 changed files with 104 additions and 120 deletions

View File

@@ -13,6 +13,11 @@
namespace Nz
{
struct RenderDeviceFeatures
{
bool anisotropicFiltering = false;
};
struct RenderDeviceLimits
{
UInt64 minUniformBufferOffsetAlignment;
@@ -20,6 +25,7 @@ namespace Nz
struct RenderDeviceInfo
{
RenderDeviceFeatures features;
RenderDeviceLimits limits;
RenderDeviceType type;
std::string name;

View File

@@ -34,7 +34,7 @@ namespace Nz
inline RendererImpl* GetRendererImpl();
std::shared_ptr<RenderDevice> InstanciateRenderDevice(std::size_t deviceIndex);
std::shared_ptr<RenderDevice> InstanciateRenderDevice(std::size_t deviceIndex, const RenderDeviceFeatures& enabledFeatures = {});
RenderAPI QueryAPI() const;
std::string QueryAPIString() const;

View File

@@ -37,7 +37,7 @@ namespace Nz
virtual std::unique_ptr<RenderSurface> CreateRenderSurfaceImpl() = 0;
virtual std::unique_ptr<RenderWindowImpl> CreateRenderWindowImpl(RenderWindow& owner) = 0;
virtual std::shared_ptr<RenderDevice> InstanciateRenderDevice(std::size_t deviceIndex) = 0;
virtual std::shared_ptr<RenderDevice> InstanciateRenderDevice(std::size_t deviceIndex, const RenderDeviceFeatures& enabledFeatures) = 0;
virtual RenderAPI QueryAPI() const = 0;
virtual std::string QueryAPIString() const = 0;