Renderer: Allow to enable or disable API validation layers using config

This commit is contained in:
SirLynix
2022-08-10 00:04:46 +02:00
parent 38e32025e9
commit 117f7c2a4b
19 changed files with 101 additions and 37 deletions

View File

@@ -13,6 +13,7 @@
#include <Nazara/Platform/WindowHandle.hpp>
#include <Nazara/Renderer/RenderDevice.hpp>
#include <Nazara/Renderer/RenderDeviceInfo.hpp>
#include <Nazara/Renderer/Renderer.hpp>
#include <unordered_set>
#include <vector>
@@ -23,7 +24,7 @@ namespace Nz
friend GL::Context;
public:
OpenGLDevice(GL::Loader& loader);
OpenGLDevice(GL::Loader& loader, const Renderer::Config& config);
OpenGLDevice(const OpenGLDevice&) = delete;
OpenGLDevice(OpenGLDevice&&) = delete; ///TODO?
~OpenGLDevice();

View File

@@ -32,7 +32,7 @@ namespace Nz
UInt32 QueryAPIVersion() const override;
const std::vector<RenderDeviceInfo>& QueryRenderDevices() const override;
bool Prepare(const ParameterList& parameters) override;
bool Prepare(const Renderer::Config& config) override;
private:
std::unique_ptr<GL::Loader> SelectLoader();

View File

@@ -14,6 +14,7 @@
#include <Nazara/OpenGLRenderer/OpenGLVaoCache.hpp>
#include <Nazara/OpenGLRenderer/Wrapper/CoreFunctions.hpp>
#include <Nazara/OpenGLRenderer/Wrapper/Loader.hpp>
#include <Nazara/Renderer/Enums.hpp>
#include <Nazara/Renderer/RenderStates.hpp>
#include <array>
#include <string>
@@ -96,6 +97,7 @@ namespace Nz::GL
struct ContextParams
{
ContextType type = ContextType::OpenGL_ES;
RenderAPIValidationLevel validationLevel = RenderAPIValidationLevel::Warnings;
bool doubleBuffering = true;
bool wrapErrorHandling = false;
unsigned int bitsPerPixel = 32;