OpenGLRenderer: Minor improvements
This commit is contained in:
parent
f46f0da12a
commit
0cd8cff53e
|
|
@ -1101,105 +1101,72 @@ namespace Nz::GL
|
||||||
|
|
||||||
void Context::HandleDebugMessage(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message) const
|
void Context::HandleDebugMessage(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message) const
|
||||||
{
|
{
|
||||||
std::stringstream ss;
|
auto SourceStr = [](GLenum source)
|
||||||
ss << "OpenGL debug message (ID: 0x" << id << "):\n";
|
|
||||||
ss << "Sent by context: " << this;
|
|
||||||
ss << "\n-Source: ";
|
|
||||||
switch (source)
|
|
||||||
{
|
{
|
||||||
case GL_DEBUG_SOURCE_API:
|
using namespace std::literals;
|
||||||
ss << "OpenGL API";
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GL_DEBUG_SOURCE_WINDOW_SYSTEM:
|
switch (source)
|
||||||
ss << "Operating system";
|
{
|
||||||
break;
|
case GL_DEBUG_SOURCE_API: return "OpenGL API"sv;
|
||||||
|
case GL_DEBUG_SOURCE_WINDOW_SYSTEM: return "Operating system"sv;
|
||||||
|
case GL_DEBUG_SOURCE_SHADER_COMPILER: return "Shader compiler"sv;
|
||||||
|
case GL_DEBUG_SOURCE_THIRD_PARTY: return "Third party"sv;
|
||||||
|
case GL_DEBUG_SOURCE_APPLICATION: return "Application"sv;
|
||||||
|
case GL_DEBUG_SOURCE_OTHER: return "Other"sv;
|
||||||
|
default:
|
||||||
|
// Extension type
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case GL_DEBUG_SOURCE_SHADER_COMPILER:
|
return "Unknown"sv;
|
||||||
ss << "Shader compiler";
|
};
|
||||||
break;
|
|
||||||
|
|
||||||
case GL_DEBUG_SOURCE_THIRD_PARTY:
|
auto TypeStr = [](GLenum type)
|
||||||
ss << "Third party";
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GL_DEBUG_SOURCE_APPLICATION:
|
|
||||||
ss << "Application";
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GL_DEBUG_SOURCE_OTHER:
|
|
||||||
ss << "Other";
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
// Extension source
|
|
||||||
ss << "Unknown";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
ss << '\n';
|
|
||||||
|
|
||||||
ss << "-Type: ";
|
|
||||||
switch (type)
|
|
||||||
{
|
{
|
||||||
case GL_DEBUG_TYPE_ERROR:
|
using namespace std::literals;
|
||||||
ss << "Error";
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR:
|
switch (type)
|
||||||
ss << "Deprecated behavior";
|
{
|
||||||
break;
|
case GL_DEBUG_TYPE_ERROR: return "Error"sv;
|
||||||
|
case GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR: return "Deprecated behavior"sv;
|
||||||
|
case GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR: return "Undefined behavior"sv;
|
||||||
|
case GL_DEBUG_TYPE_PORTABILITY: return "Portability"sv;
|
||||||
|
case GL_DEBUG_TYPE_PERFORMANCE: return "Performance"sv;
|
||||||
|
case GL_DEBUG_TYPE_OTHER: return "Other"sv;
|
||||||
|
default:
|
||||||
|
// Extension type
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR:
|
return "Unknown"sv;
|
||||||
ss << "Undefined behavior";
|
};
|
||||||
break;
|
|
||||||
|
|
||||||
case GL_DEBUG_TYPE_PORTABILITY:
|
auto SeverityStr = [](GLenum severity)
|
||||||
ss << "Portability";
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GL_DEBUG_TYPE_PERFORMANCE:
|
|
||||||
ss << "Performance";
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GL_DEBUG_TYPE_OTHER:
|
|
||||||
ss << "Other";
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
// Extension type
|
|
||||||
ss << "Unknown";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
ss << '\n';
|
|
||||||
|
|
||||||
ss << "-Severity: ";
|
|
||||||
switch (severity)
|
|
||||||
{
|
{
|
||||||
case GL_DEBUG_SEVERITY_HIGH:
|
using namespace std::literals;
|
||||||
ss << "High";
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GL_DEBUG_SEVERITY_MEDIUM:
|
switch (severity)
|
||||||
ss << "Medium";
|
{
|
||||||
break;
|
case GL_DEBUG_SEVERITY_HIGH: return "High"sv;
|
||||||
|
case GL_DEBUG_SEVERITY_MEDIUM: return "Medium"sv;
|
||||||
|
case GL_DEBUG_SEVERITY_LOW: return "Low"sv;
|
||||||
|
case GL_DEBUG_SEVERITY_NOTIFICATION: return "Notification"sv;
|
||||||
|
default:
|
||||||
|
// Extension severity
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case GL_DEBUG_SEVERITY_LOW:
|
return "Unknown"sv;
|
||||||
ss << "Low";
|
};
|
||||||
break;
|
|
||||||
|
|
||||||
case GL_DEBUG_SEVERITY_NOTIFICATION:
|
NazaraNotice(
|
||||||
ss << "Notification";
|
R"(OpenGL debug message (ID: {0:#x})
|
||||||
break;
|
- Context: {1}
|
||||||
|
- Source: {2}
|
||||||
default:
|
- Type: {3}
|
||||||
ss << "Unknown";
|
- Severity: {4}
|
||||||
break;
|
- Message: {5}
|
||||||
}
|
)", id, fmt::ptr(this), SourceStr(source), TypeStr(type), SeverityStr(severity), std::string_view(message, length));
|
||||||
ss << '\n';
|
|
||||||
|
|
||||||
ss << "Message: " << std::string_view(message, length) << '\n';
|
|
||||||
|
|
||||||
NazaraNotice(ss.str());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Context::InitializeBlitFramebuffers() const
|
bool Context::InitializeBlitFramebuffers() const
|
||||||
|
|
|
||||||
|
|
@ -192,7 +192,7 @@ namespace Nz::GL
|
||||||
if (m_params.type == ContextType::OpenGL_ES)
|
if (m_params.type == ContextType::OpenGL_ES)
|
||||||
{
|
{
|
||||||
// Create OpenGL ES context
|
// Create OpenGL ES context
|
||||||
std::array<Version, 3> supportedGL_ESVersions = {
|
constexpr std::array<Version, 3> supportedGL_ESVersions = {
|
||||||
{
|
{
|
||||||
{ 3, 2 },
|
{ 3, 2 },
|
||||||
{ 3, 1 },
|
{ 3, 1 },
|
||||||
|
|
@ -226,7 +226,7 @@ namespace Nz::GL
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Create OpenGL ES context
|
// Create OpenGL ES context
|
||||||
std::array<Version, 8> supportedGLVersions = {
|
constexpr std::array<Version, 8> supportedGLVersions = {
|
||||||
{
|
{
|
||||||
{ 4, 6 },
|
{ 4, 6 },
|
||||||
{ 4, 5 },
|
{ 4, 5 },
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue