Renderer: Allow to enable or disable API validation layers using config
This commit is contained in:
@@ -122,6 +122,16 @@ namespace Nz
|
||||
|
||||
constexpr std::size_t RenderAPICount = static_cast<std::size_t>(RenderAPI::Max) + 1;
|
||||
|
||||
enum class RenderAPIValidationLevel
|
||||
{
|
||||
None = 0,
|
||||
|
||||
Errors = 1,
|
||||
Warnings = 2,
|
||||
Verbose = 3,
|
||||
Debug = 4
|
||||
};
|
||||
|
||||
enum class RenderDeviceType
|
||||
{
|
||||
Integrated, ///< Hardware-accelerated chipset integrated to a CPU (ex: Intel Graphics HD 4000)
|
||||
|
||||
@@ -9,14 +9,16 @@
|
||||
|
||||
#include <Nazara/Prerequisites.hpp>
|
||||
#include <Nazara/Core/DynLib.hpp>
|
||||
#include <Nazara/Core/ParameterList.hpp>
|
||||
#include <Nazara/Platform/Platform.hpp>
|
||||
#include <Nazara/Renderer/Config.hpp>
|
||||
#include <Nazara/Renderer/Enums.hpp>
|
||||
#include <Nazara/Renderer/RendererImpl.hpp>
|
||||
#include <Nazara/Renderer/RenderDevice.hpp>
|
||||
|
||||
namespace Nz
|
||||
{
|
||||
class Buffer;
|
||||
class RendererImpl;
|
||||
|
||||
class NAZARA_RENDERER_API Renderer : public ModuleBase<Renderer>
|
||||
{
|
||||
@@ -42,13 +44,20 @@ namespace Nz
|
||||
|
||||
struct Config
|
||||
{
|
||||
ParameterList customParameters;
|
||||
RenderAPI preferredAPI = RenderAPI::Unknown;
|
||||
#ifdef NAZARA_DEBUG
|
||||
RenderAPIValidationLevel validationLevel = RenderAPIValidationLevel::Verbose;
|
||||
#else
|
||||
RenderAPIValidationLevel validationLevel = RenderAPIValidationLevel::Errors;
|
||||
#endif
|
||||
};
|
||||
|
||||
private:
|
||||
void LoadBackend(const Config& config);
|
||||
|
||||
std::unique_ptr<RendererImpl> m_rendererImpl;
|
||||
Config m_config;
|
||||
DynLib m_rendererLib;
|
||||
|
||||
static Renderer* s_instance;
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
#include <Nazara/Renderer/Config.hpp>
|
||||
#include <Nazara/Renderer/Enums.hpp>
|
||||
#include <Nazara/Renderer/RenderDeviceInfo.hpp>
|
||||
#include <Nazara/Renderer/Renderer.hpp>
|
||||
#include <Nazara/Utility/Enums.hpp>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
@@ -44,7 +45,7 @@ namespace Nz
|
||||
|
||||
virtual const std::vector<RenderDeviceInfo>& QueryRenderDevices() const = 0;
|
||||
|
||||
virtual bool Prepare(const ParameterList& parameters) = 0;
|
||||
virtual bool Prepare(const Renderer::Config& config) = 0;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user