DXGL r374 - Code Review

Jump to navigation Jump to search
Repository:DXGL
Revision:r373‎ | r374 | r375 >
Date:23:58, 14 May 2013
Author:admin
Status:new
Tags:
Comment:
Disable non-working GPU memory stats in glDirectDraw2::GetAvailableVidMem
Modified paths:
  • /ddraw/glDirectDraw.cpp (modified) (history)
  • /ddraw/glExtensions.cpp (modified) (history)
  • /ddraw/glExtensions.h (modified) (history)

Diff [purge]

Index: ddraw/glDirectDraw.cpp
@@ -1962,7 +1962,7 @@
19631963 {
19641964 TRACE_ENTER(4,14,this,14,lpDDSCaps,14,lpdwTotal,14,lpdwFree);
19651965 if(!this) TRACE_RET(HRESULT,23,DDERR_INVALIDOBJECT);
1966 - if(GLEXT_NVX_gpu_memory_info)
 1966+ /*if(GLEXT_NVX_gpu_memory_info)
19671967 {
19681968 if(lpdwTotal) glGetIntegerv(GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX,(GLint*)lpdwTotal);
19691969 if(lpdwFree) glGetIntegerv(GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX,(GLint*)lpdwFree);
@@ -1971,7 +1971,7 @@
19721972 TRACE_EXIT(23,DD_OK);
19731973 return DD_OK;
19741974 }
1975 - else
 1975+ else*/
19761976 {
19771977 MEMORYSTATUS memstat;
19781978 GlobalMemoryStatus(&memstat);
Index: ddraw/glExtensions.cpp
@@ -95,6 +95,13 @@
9696 void (APIENTRY *glMatrixLoadfEXT)(GLenum mode, const GLfloat *m) = NULL;
9797 void (APIENTRY *glMatrixMultfEXT)(GLenum mode, const GLfloat *m) = NULL;
9898
 99+void (APIENTRY *glBindSampler)(GLuint unit, GLuint sampler) = NULL;
 100+void (APIENTRY *glDeleteSamplers)(GLsizei n, const GLuint *samplers) = NULL;
 101+void (APIENTRY *glGenSamplers)(GLsizei n, GLuint *samplers) = NULL;
 102+void (APIENTRY *glSamplerParameterf)(GLuint sampler, GLenum pname, GLfloat param) = NULL;
 103+void (APIENTRY *glSamplerParameteri)(GLuint sampler, GLenum pname, GLint param) = NULL;
 104+void (APIENTRY *glSamplerParameterfv)(GLuint sampler, GLenum pname, const GLfloat *params) = NULL;
 105+void (APIENTRY *glSamplerParameteriv)(GLuint sampler, GLenum pname, const GLint *params) = NULL;
99106
100107 int GLEXT_ARB_framebuffer_object = 0;
101108 int GLEXT_EXT_framebuffer_object = 0;
@@ -106,6 +113,7 @@
107114 int GLEXT_ATI_meminfo = 0;
108115 int GLEXT_ARB_ES2_compatibility = 0;
109116 int GLEXT_EXT_direct_state_access = 0;
 117+int GLEXT_ARB_sampler_objects = 0;
110118 int glver_major, glver_minor = 0;
111119 bool atimem = false;
112120
@@ -173,7 +181,7 @@
174182 ExitProcess(-1);
175183 }
176184 const GLubyte *glextensions = glGetString(GL_EXTENSIONS);
177 - if(strstr((char*)glextensions,"GL_ARB_framebuffer_object")) GLEXT_ARB_framebuffer_object = 1;
 185+ if(strstr((char*)glextensions,"GL_ARB_framebuffer_object") || (glver_major >= 3)) GLEXT_ARB_framebuffer_object = 1;
178186 else GLEXT_ARB_framebuffer_object = 0;
179187 if(strstr((char*)glextensions,"GL_EXT_framebuffer_object")) GLEXT_EXT_framebuffer_object = 1;
180188 else GLEXT_EXT_framebuffer_object = 0;
@@ -181,18 +189,23 @@
182190 else GLEXT_NV_packed_depth_stencil = 0;
183191 if(strstr((char*)glextensions,"GL_EXT_packed_depth_stencil")) GLEXT_EXT_packed_depth_stencil = 1;
184192 else GLEXT_EXT_packed_depth_stencil = 0;
185 - if(strstr((char*)glextensions,"GL_ARB_depth_buffer_float")) GLEXT_ARB_depth_buffer_float = 1;
 193+ if(strstr((char*)glextensions,"GL_ARB_depth_buffer_float") || (glver_major >= 3)) GLEXT_ARB_depth_buffer_float = 1;
186194 else GLEXT_ARB_depth_buffer_float = 0;
187 - if(strstr((char*)glextensions,"GL_ARB_depth_texture")) GLEXT_ARB_depth_texture = 1;
 195+ if(strstr((char*)glextensions,"GL_ARB_depth_texture") || (glver_major >= 2)
 196+ || ((glver_major >= 1) && (glver_minor >= 4))) GLEXT_ARB_depth_texture = 1;
188197 else GLEXT_ARB_depth_texture = 0;
189198 if(strstr((char*)glextensions,"GL_NVX_gpu_memory_info")) GLEXT_NVX_gpu_memory_info = 1;
190199 else GLEXT_NVX_gpu_memory_info = 0;
191200 if(strstr((char*)glextensions,"GL_ATI_meminfo")) GLEXT_ATI_meminfo = 1;
192201 else GLEXT_ATI_meminfo = 0;
193 - if(strstr((char*)glextensions,"GL_ARB_ES2_compatibility")) GLEXT_ARB_ES2_compatibility = 1;
 202+ if(strstr((char*)glextensions,"GL_ARB_ES2_compatibility") || (glver_major >= 5)
 203+ || ((glver_major >= 4) && (glver_minor >= 1))) GLEXT_ARB_ES2_compatibility = 1;
194204 else GLEXT_ARB_ES2_compatibility = 0;
195205 if(strstr((char*)glextensions,"GL_EXT_direct_state_access")) GLEXT_EXT_direct_state_access = 1;
196206 else GLEXT_EXT_direct_state_access = 0;
 207+ if(strstr((char*)glextensions,"GL_ARB_sampler_objects") || (glver_major >= 4)
 208+ || ((glver_major >= 3) && (glver_minor >= 3))) GLEXT_ARB_sampler_objects = 1;
 209+ else GLEXT_ARB_sampler_objects = 0;
197210 bool broken_fbo = true;
198211 if(GLEXT_ARB_framebuffer_object)
199212 {
@@ -229,6 +242,10 @@
230243 glMatrixLoadfEXT = (PFNGLMATRIXLOADFEXTPROC)wglGetProcAddress("glMatrixLoadfEXT");
231244 glMatrixMultfEXT = (PFNGLMATRIXMULTFEXTPROC)wglGetProcAddress("glMatrixMultfEXT");
232245 }
 246+ if(GLEXT_ARB_sampler_objects)
 247+ {
 248+
 249+ }
233250 if(broken_fbo)
234251 {
235252 MessageBox(NULL,_T("DXGL requires support for OpenGL Framebuffer Objects to function. \
Index: ddraw/glExtensions.h
@@ -36,6 +36,7 @@
3737 extern int GLEXT_ATI_meminfo;
3838 extern int GLEXT_ARB_ES2_compatibility;
3939 extern int GLEXT_EXT_direct_state_access;
 40+extern int GLEXT_ARB_sampler_objects;
4041 extern int glver_major;
4142 extern int glver_minor;
4243 #define GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX 0x9047
@@ -124,6 +125,14 @@
125126 GLAPI void (APIENTRY *glMatrixLoadfEXT)(GLenum mode, const GLfloat *m);
126127 GLAPI void (APIENTRY *glMatrixMultfEXT)(GLenum mode, const GLfloat *m);
127128
 129+GLAPI void (APIENTRY *glBindSampler)(GLuint unit, GLuint sampler);
 130+GLAPI void (APIENTRY *glDeleteSamplers)(GLsizei n, const GLuint *samplers);
 131+GLAPI void (APIENTRY *glGenSamplers)(GLsizei n, GLuint *samplers);
 132+GLAPI void (APIENTRY *glSamplerParameterf)(GLuint sampler, GLenum pname, GLfloat param);
 133+GLAPI void (APIENTRY *glSamplerParameteri)(GLuint sampler, GLenum pname, GLint param);
 134+GLAPI void (APIENTRY *glSamplerParameterfv)(GLuint sampler, GLenum pname, const GLfloat *params);
 135+GLAPI void (APIENTRY *glSamplerParameteriv)(GLuint sampler, GLenum pname, const GLint *params);
 136+
128137 void InitGLExt();
129138
130139 #endif //_GLEXTENSIONS_H