aboutsummaryrefslogtreecommitdiff
path: root/include/GlLibrary.hpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2022-10-11 18:57:09 +0200
committerdec05eba <dec05eba@protonmail.com>2022-10-11 19:47:28 +0200
commit9d185f309151a198e2f51e613e9a9dfaff5f6d6d (patch)
tree91750e4ada83da0dd2bc5fbb8477af1afdf04ea5 /include/GlLibrary.hpp
parent1ca4dcfbdb38a41316b6013cb4090ecf03bf4994 (diff)
Use p4 preset on older gpus (kepler family) because of performance
with p7
Diffstat (limited to 'include/GlLibrary.hpp')
-rw-r--r--include/GlLibrary.hpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/include/GlLibrary.hpp b/include/GlLibrary.hpp
index 1934db5..1337ef3 100644
--- a/include/GlLibrary.hpp
+++ b/include/GlLibrary.hpp
@@ -26,6 +26,8 @@ typedef struct __GLXFBConfigRec *GLXFBConfig;
#define GL_TEXTURE_HEIGHT 0x1001
#define GL_NEAREST 0x2600
+#define GL_RENDERER 0x1F01
+
#define GLX_BUFFER_SIZE 2
#define GLX_DOUBLEBUFFER 5
#define GLX_RED_SIZE 8
@@ -71,6 +73,7 @@ struct GlLibrary {
void (*glClearTexImage)(unsigned int texture, unsigned int level, unsigned int format, unsigned int type, const void *data);
unsigned int (*glGetError)(void);
+ const unsigned char* (*glGetString)(unsigned int name);
void (*glClear)(unsigned int mask);
void (*glGenTextures)(int n, unsigned int *textures);
void (*glDeleteTextures)(int n, const unsigned int *texture);
@@ -81,8 +84,7 @@ struct GlLibrary {
void (*glCopyImageSubData)(unsigned int srcName, unsigned int srcTarget, int srcLevel, int srcX, int srcY, int srcZ, unsigned int dstName, unsigned int dstTarget, int dstLevel, int dstX, int dstY, int dstZ, int srcWidth, int srcHeight, int srcDepth);
~GlLibrary() {
- if(library)
- dlclose(library);
+ unload();
}
bool load() {
@@ -120,6 +122,7 @@ struct GlLibrary {
{ (void**)&glXSwapBuffers, "glXSwapBuffers" },
{ (void**)&glGetError, "glGetError" },
+ { (void**)&glGetString, "glGetString" },
{ (void**)&glClear, "glClear" },
{ (void**)&glGenTextures, "glGenTextures" },
{ (void**)&glDeleteTextures, "glDeleteTextures" },
@@ -141,6 +144,13 @@ struct GlLibrary {
return false;
}
}
+
+ void unload() {
+ if(library) {
+ dlclose(library);
+ library = nullptr;
+ }
+ }
private:
void *library = nullptr;
};