OpenGLRenderer: Enable GL_ARB_gl_spirv and GL_ARB_texture_filter_anisotropic with OpenGL 4.6
This commit is contained in:
parent
4728d5f2a8
commit
3a3279246f
|
|
@ -57,11 +57,13 @@ namespace Nz::GL
|
||||||
|
|
||||||
enum class ExtensionStatus
|
enum class ExtensionStatus
|
||||||
{
|
{
|
||||||
NotSupported,
|
NotSupported = 0,
|
||||||
|
|
||||||
ARB,
|
ARB = 3,
|
||||||
EXT,
|
Core = 5,
|
||||||
KHR
|
EXT = 2,
|
||||||
|
KHR = 4,
|
||||||
|
Vendor = 1
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class FramebufferTarget
|
enum class FramebufferTarget
|
||||||
|
|
|
||||||
|
|
@ -281,19 +281,24 @@ namespace Nz::GL
|
||||||
|
|
||||||
m_extensionStatus.fill(ExtensionStatus::NotSupported);
|
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"))
|
if (m_supportedExtensions.count("GL_EXT_texture_compression_s3tc"))
|
||||||
m_extensionStatus[UnderlyingCast(Extension::TextureCompressionS3tc)] = ExtensionStatus::EXT;
|
m_extensionStatus[UnderlyingCast(Extension::TextureCompressionS3tc)] = ExtensionStatus::EXT;
|
||||||
|
|
||||||
// TextureFilterAnisotropic
|
// Texture anisotropic filter
|
||||||
if (m_supportedExtensions.count("GL_ARB_texture_filter_anisotropic"))
|
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;
|
m_extensionStatus[UnderlyingCast(Extension::TextureFilterAnisotropic)] = ExtensionStatus::ARB;
|
||||||
else if (m_supportedExtensions.count("GL_EXT_texture_filter_anisotropic"))
|
else if (m_supportedExtensions.count("GL_EXT_texture_filter_anisotropic"))
|
||||||
m_extensionStatus[UnderlyingCast(Extension::TextureFilterAnisotropic)] = ExtensionStatus::EXT;
|
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_FUNC(name, sig)
|
||||||
#define NAZARA_OPENGLRENDERER_EXT_FUNC(name, sig) loader.Load<sig, UnderlyingCast(FunctionIndex:: name)>(name, #name, false);
|
#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)
|
NAZARA_OPENGLRENDERER_FOREACH_GLES_FUNC(NAZARA_OPENGLRENDERER_FUNC, NAZARA_OPENGLRENDERER_EXT_FUNC)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue