Skip to content

Commit ba05a6f

Browse files
committed
rendergl: Check for GL 4.6 anisotropic TF extension
OpenGL 4.6 has brought an extension for anisotropic filtering that can work alongside our existing GL_EXT_texture_filter_anisotropic code: check for this new extension and, if supported, make use of it. Link: https://registry.khronos.org/OpenGL/extensions/ARB/ARB_texture_filter_anisotropic.txt
1 parent 61cc32d commit ba05a6f

File tree

3 files changed

+11
-9
lines changed

3 files changed

+11
-9
lines changed

src/engine/rendergl.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -562,13 +562,14 @@ void gl_checkextensions()
562562
if(glversion < 300 && dbgexts) conoutf("\frUsing GL_ARB_texture_compression_rgtc extension.");
563563
}
564564

565-
if(hasext("GL_EXT_texture_filter_anisotropic"))
566-
{
565+
if ((glversion >= 460 || hasext("GL_ARB_texture_filter_anisotropic")) ||
566+
hasext("GL_EXT_texture_filter_anisotropic")) {
567567
GLint val;
568-
glGetIntegerv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &val);
568+
glGetIntegerv(GL_MAX_TEXTURE_MAX_ANISOTROPY, &val);
569569
hwmaxanisotropy = val;
570570
hasAF = true;
571-
if(dbgexts) conoutf("\frUsing GL_EXT_texture_filter_anisotropic extension.");
571+
if (dbgexts)
572+
conoutf("\frUsing GL_*_texture_filter_anisotropic extension.");
572573
}
573574

574575
if(glversion >= 300 || hasext("GL_EXT_gpu_shader4"))

src/engine/texture.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -784,7 +784,8 @@ void setuptexparameters(int tnum, void *pixels, int clamp, int filter, GLenum fo
784784
glBindTexture(target, tnum);
785785
glTexParameteri(target, GL_TEXTURE_WRAP_S, clamp&1 ? GL_CLAMP_TO_EDGE : (clamp&0x100 ? GL_MIRRORED_REPEAT : GL_REPEAT));
786786
if(target!=GL_TEXTURE_1D) glTexParameteri(target, GL_TEXTURE_WRAP_T, clamp&2 ? GL_CLAMP_TO_EDGE : (clamp&0x200 ? GL_MIRRORED_REPEAT : GL_REPEAT));
787-
if(target==GL_TEXTURE_2D && hasAF && min(anisotropy, hwmaxanisotropy) > 0 && filter > 1) glTexParameteri(target, GL_TEXTURE_MAX_ANISOTROPY_EXT, min(anisotropy, hwmaxanisotropy));
787+
if (target == GL_TEXTURE_2D && hasAF && min(anisotropy, hwmaxanisotropy) > 0 && filter > 1)
788+
glTexParameteri(target, GL_TEXTURE_MAX_ANISOTROPY, min(anisotropy, hwmaxanisotropy));
788789
glTexParameteri(target, GL_TEXTURE_MAG_FILTER, filter && bilinear ? GL_LINEAR : GL_NEAREST);
789790
glTexParameteri(target, GL_TEXTURE_MIN_FILTER,
790791
filter > 1 ?

src/shared/glexts.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -289,10 +289,10 @@ extern PFNGLDRAWBUFFERSPROC glDrawBuffers_;
289289
#define GL_PIXEL_UNPACK_BUFFER 0x88EC
290290
#endif
291291

292-
#ifndef GL_EXT_texture_filter_anisotropic
293-
#define GL_EXT_texture_filter_anisotropic 1
294-
#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
295-
#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
292+
#ifndef GL_ARB_texture_filter_anisotropic
293+
#define GL_ARB_texture_filter_anisotropic 1
294+
#define GL_TEXTURE_MAX_ANISOTROPY 0x84FE
295+
#define GL_MAX_TEXTURE_MAX_ANISOTROPY 0x84FF
296296
#endif
297297

298298
#ifndef GL_EXT_texture_compression_s3tc

0 commit comments

Comments
 (0)