OpenGLRenderer: Enable GL_ARB_gl_spirv and GL_ARB_texture_filter_anisotropic with OpenGL 4.6

This commit is contained in:
Jérôme Leclercq 2021-07-09 00:01:33 +02:00
parent 4728d5f2a8
commit 3a3279246f
2 changed files with 17 additions and 10 deletions

View File

@ -57,11 +57,13 @@ namespace Nz::GL
enum class ExtensionStatus
{
NotSupported,
NotSupported = 0,
ARB,
EXT,
KHR
ARB = 3,
Core = 5,
EXT = 2,
KHR = 4,
Vendor = 1
};
enum class FramebufferTarget

View File

@ -281,19 +281,24 @@ namespace Nz::GL
m_extensionStatus.fill(ExtensionStatus::NotSupported);
// SpirV
if (m_params.type == ContextType::OpenGL && m_params.glMajorVersion >= 4 && m_params.glMajorVersion >= 6)
m_extensionStatus[UnderlyingCast(Extension::SpirV)] = ExtensionStatus::Core;
else if (m_supportedExtensions.count("GL_ARB_gl_spirv"))
m_extensionStatus[UnderlyingCast(Extension::SpirV)] = ExtensionStatus::ARB;
// Texture compression (S3tc)
if (m_supportedExtensions.count("GL_EXT_texture_compression_s3tc"))
m_extensionStatus[UnderlyingCast(Extension::TextureCompressionS3tc)] = ExtensionStatus::EXT;
// TextureFilterAnisotropic
if (m_supportedExtensions.count("GL_ARB_texture_filter_anisotropic"))
// Texture anisotropic filter
if (m_params.type == ContextType::OpenGL && m_params.glMajorVersion >= 4 && m_params.glMajorVersion >= 6)
m_extensionStatus[UnderlyingCast(Extension::TextureFilterAnisotropic)] = ExtensionStatus::Core;
else if (m_supportedExtensions.count("GL_ARB_texture_filter_anisotropic"))
m_extensionStatus[UnderlyingCast(Extension::TextureFilterAnisotropic)] = ExtensionStatus::ARB;
else if (m_supportedExtensions.count("GL_EXT_texture_filter_anisotropic"))
m_extensionStatus[UnderlyingCast(Extension::TextureFilterAnisotropic)] = ExtensionStatus::EXT;
// SpirV
if (m_supportedExtensions.count("GL_ARB_gl_spirv"))
m_extensionStatus[UnderlyingCast(Extension::SpirV)] = ExtensionStatus::ARB;
#define NAZARA_OPENGLRENDERER_FUNC(name, sig)
#define NAZARA_OPENGLRENDERER_EXT_FUNC(name, sig) loader.Load<sig, UnderlyingCast(FunctionIndex:: name)>(name, #name, false);
NAZARA_OPENGLRENDERER_FOREACH_GLES_FUNC(NAZARA_OPENGLRENDERER_FUNC, NAZARA_OPENGLRENDERER_EXT_FUNC)