mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-10-08 21:31:36 +00:00
231 lines
9.0 KiB
C
231 lines
9.0 KiB
C
/******************************************************************************
|
|
* The MIT License (MIT)
|
|
*
|
|
* Copyright (c) 2014 Crytek
|
|
*
|
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
* of this software and associated documentation files (the "Software"), to deal
|
|
* in the Software without restriction, including without limitation the rights
|
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
* copies of the Software, and to permit persons to whom the Software is
|
|
* furnished to do so, subject to the following conditions:
|
|
*
|
|
* The above copyright notice and this permission notice shall be included in
|
|
* all copies or substantial portions of the Software.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
* THE SOFTWARE.
|
|
******************************************************************************/
|
|
|
|
|
|
#pragma once
|
|
|
|
#include "gl_common.h"
|
|
#include "gl_legacy_procs.h"
|
|
|
|
struct GLHookSet
|
|
{
|
|
// ++ dllexport
|
|
PFNGLBINDTEXTUREPROC glBindTexture;
|
|
PFNGLBLENDFUNCPROC glBlendFunc;
|
|
PFNGLCLEARPROC glClear;
|
|
PFNGLCLEARCOLORPROC glClearColor;
|
|
PFNGLCLEARDEPTHPROC glClearDepth;
|
|
PFNGLCOLORMASKPROC glColorMask;
|
|
PFNGLCULLFACEPROC glCullFace;
|
|
PFNGLDEPTHFUNCPROC glDepthFunc;
|
|
PFNGLDEPTHMASKPROC glDepthMask;
|
|
PFNGLDISABLEPROC glDisable;
|
|
PFNGLDRAWBUFFERPROC glDrawBuffer;
|
|
PFNGLDRAWELEMENTSPROC glDrawElements;
|
|
PFNGLDRAWARRAYSPROC glDrawArrays;
|
|
PFNGLENABLEPROC glEnable;
|
|
PFNGLFLUSHPROC glFlush;
|
|
PFNGLFINISHPROC glFinish;
|
|
PFNGLFRONTFACEPROC glFrontFace;
|
|
PFNGLGENTEXTURESPROC glGenTextures;
|
|
PFNGLDELETETEXTURESPROC glDeleteTextures;
|
|
PFNGLGETERRORPROC glGetError;
|
|
PFNGLGETTEXLEVELPARAMETERIVPROC glGetTexLevelParameteriv;
|
|
PFNGLGETTEXLEVELPARAMETERFVPROC glGetTexLevelParameterfv;
|
|
PFNGLGETTEXPARAMETERFVPROC glGetTexParameterfv;
|
|
PFNGLGETTEXPARAMETERIVPROC glGetTexParameteriv;
|
|
PFNGLGETTEXIMAGEPROC glGetTexImage;
|
|
PFNGLGETBOOLEANVPROC glGetBooleanv;
|
|
PFNGLGETFLOATVPROC glGetFloatv;
|
|
PFNGLGETDOUBLEVPROC glGetDoublev;
|
|
PFNGLGETINTEGERVPROC glGetIntegerv;
|
|
PFNGLGETSTRINGPROC glGetString;
|
|
PFNGLHINTPROC glHint;
|
|
PFNGLPIXELSTOREIPROC glPixelStorei;
|
|
PFNGLPIXELSTOREFPROC glPixelStoref;
|
|
PFNGLPOLYGONMODEPROC glPolygonMode;
|
|
PFNGLPOLYGONOFFSETPROC glPolygonOffset;
|
|
PFNGLREADPIXELSPROC glReadPixels;
|
|
PFNGLREADBUFFERPROC glReadBuffer;
|
|
PFNGLSCISSORPROC glScissor;
|
|
PFNGLTEXIMAGE1DPROC glTexImage1D;
|
|
PFNGLTEXIMAGE2DPROC glTexImage2D;
|
|
PFNGLTEXPARAMETERIPROC glTexParameteri;
|
|
PFNGLVIEWPORTPROC glViewport;
|
|
// legacy
|
|
PFNGLLIGHTFVPROC glLightfv;
|
|
PFNGLMATERIALFVPROC glMaterialfv;
|
|
PFNGLGENLISTSPROC glGenLists;
|
|
PFNGLNEWLISTPROC glNewList;
|
|
PFNGLENDLISTPROC glEndList;
|
|
PFNGLCALLLISTPROC glCallList;
|
|
PFNGLSHADEMODELPROC glShadeModel;
|
|
PFNGLBEGINPROC glBegin;
|
|
PFNGLENDPROC glEnd;
|
|
PFNGLVERTEX3FPROC glVertex3f;
|
|
PFNGLNORMAL3FPROC glNormal3f;
|
|
PFNGLPUSHMATRIXPROC glPushMatrix;
|
|
PFNGLPOPMATRIXPROC glPopMatrix;
|
|
PFNGLMATRIXMODEPROC glMatrixMode;
|
|
PFNGLLOADIDENTITYPROC glLoadIdentity;
|
|
PFNGLFRUSTUMPROC glFrustum;
|
|
PFNGLTRANSLATEFPROC glTranslatef;
|
|
PFNGLROTATEFPROC glRotatef;
|
|
// --
|
|
|
|
// ++ gl
|
|
PFNGLACTIVETEXTUREPROC glActiveTexture;
|
|
PFNGLTEXSTORAGE1DPROC glTexStorage1D;
|
|
PFNGLTEXSTORAGE2DPROC glTexStorage2D;
|
|
PFNGLTEXSTORAGE3DPROC glTexStorage3D;
|
|
PFNGLTEXSUBIMAGE1DPROC glTexSubImage1D;
|
|
PFNGLTEXSUBIMAGE2DPROC glTexSubImage2D;
|
|
PFNGLTEXSUBIMAGE3DPROC glTexSubImage3D;
|
|
PFNGLGENERATEMIPMAPPROC glGenerateMipmap;
|
|
PFNGLGETINTERNALFORMATIVPROC glGetInternalformativ;
|
|
PFNGLGETINTERNALFORMATI64VPROC glGetInternalformati64v;
|
|
PFNGLGETBUFFERPARAMETERIVPROC glGetBufferParameteriv;
|
|
PFNGLGETSTRINGIPROC glGetStringi;
|
|
PFNGLGETBOOLEANI_VPROC glGetBooleani_v;
|
|
PFNGLGETINTEGERI_VPROC glGetIntegeri_v;
|
|
PFNGLGETFLOATI_VPROC glGetFloati_v;
|
|
PFNGLGETDOUBLEI_VPROC glGetDoublei_v;
|
|
PFNGLGETINTEGER64I_VPROC glGetInteger64i_v;
|
|
PFNGLCHECKFRAMEBUFFERSTATUSPROC glCheckFramebufferStatus;
|
|
PFNGLBLENDCOLORPROC glBlendColor;
|
|
PFNGLBLENDFUNCIPROC glBlendFunci;
|
|
PFNGLBLENDFUNCSEPARATEPROC glBlendFuncSeparate;
|
|
PFNGLBLENDFUNCSEPARATEIPROC glBlendFuncSeparatei;
|
|
PFNGLBLENDEQUATIONSEPARATEPROC glBlendEquationSeparate;
|
|
PFNGLBLENDEQUATIONSEPARATEIPROC glBlendEquationSeparatei;
|
|
PFNGLCOLORMASKIPROC glColorMaski;
|
|
PFNGLDEPTHRANGEPROC glDepthRange;
|
|
PFNGLDEPTHRANGEFPROC glDepthRangef;
|
|
PFNGLDEPTHRANGEARRAYVPROC glDepthRangeArrayv;
|
|
PFNGLDEPTHBOUNDSEXTPROC glDepthBoundsEXT;
|
|
PFNGLCREATESHADERPROC glCreateShader;
|
|
PFNGLDELETESHADERPROC glDeleteShader;
|
|
PFNGLSHADERSOURCEPROC glShaderSource;
|
|
PFNGLCOMPILESHADERPROC glCompileShader;
|
|
PFNGLGETSHADERIVPROC glGetShaderiv;
|
|
PFNGLGETSHADERINFOLOGPROC glGetShaderInfoLog;
|
|
PFNGLCREATEPROGRAMPROC glCreateProgram;
|
|
PFNGLDELETEPROGRAMPROC glDeleteProgram;
|
|
PFNGLATTACHSHADERPROC glAttachShader;
|
|
PFNGLLINKPROGRAMPROC glLinkProgram;
|
|
PFNGLUSEPROGRAMPROC glUseProgram;
|
|
PFNGLGETPROGRAMIVPROC glGetProgramiv;
|
|
PFNGLGETPROGRAMINFOLOGPROC glGetProgramInfoLog;
|
|
PFNGLGETPROGRAMINTERFACEIVPROC glGetProgramInterfaceiv;
|
|
PFNGLGETPROGRAMRESOURCEIVPROC glGetProgramResourceiv;
|
|
PFNGLGETPROGRAMRESOURCENAMEPROC glGetProgramResourceName;
|
|
PFNGLDEBUGMESSAGECALLBACKPROC glDebugMessageCallback; // aliases glDebugMessageCallbackARB
|
|
PFNGLDEBUGMESSAGECONTROLPROC glDebugMessageControl;
|
|
PFNGLDEBUGMESSAGEINSERTPROC glDebugMessageInsert;
|
|
PFNGLPUSHDEBUGGROUPPROC glPushDebugGroup;
|
|
PFNGLPOPDEBUGGROUPPROC glPopDebugGroup;
|
|
PFNGLGETOBJECTLABELPROC glGetObjectLabel;
|
|
PFNGLOBJECTLABELPROC glObjectLabel;
|
|
PFNGLENABLEIPROC glEnablei;
|
|
PFNGLDISABLEIPROC glDisablei;
|
|
PFNGLGENBUFFERSPROC glGenBuffers;
|
|
PFNGLBINDBUFFERPROC glBindBuffer;
|
|
PFNGLDRAWBUFFERSPROC glDrawBuffers;
|
|
PFNGLGENFRAMEBUFFERSPROC glGenFramebuffers;
|
|
PFNGLBINDFRAMEBUFFERPROC glBindFramebuffer;
|
|
PFNGLFRAMEBUFFERTEXTUREPROC glFramebufferTexture;
|
|
PFNGLDELETEFRAMEBUFFERSPROC glDeleteFramebuffers;
|
|
PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glGetFramebufferAttachmentParameteriv;
|
|
PFNGLBUFFERDATAPROC glBufferData;
|
|
PFNGLBINDBUFFERBASEPROC glBindBufferBase;
|
|
PFNGLBINDBUFFERRANGEPROC glBindBufferRange;
|
|
PFNGLMAPBUFFERRANGEPROC glMapBufferRange;
|
|
PFNGLUNMAPBUFFERPROC glUnmapBuffer;
|
|
PFNGLDELETEBUFFERSPROC glDeleteBuffers;
|
|
PFNGLGETBUFFERSUBDATAPROC glGetBufferSubData;
|
|
PFNGLGENVERTEXARRAYSPROC glGenVertexArrays;
|
|
PFNGLBINDVERTEXARRAYPROC glBindVertexArray;
|
|
PFNGLDELETEVERTEXARRAYSPROC glDeleteVertexArrays;
|
|
PFNGLVERTEXATTRIBPOINTERPROC glVertexAttribPointer;
|
|
PFNGLENABLEVERTEXATTRIBARRAYPROC glEnableVertexAttribArray;
|
|
PFNGLDISABLEVERTEXATTRIBARRAYPROC glDisableVertexAttribArray;
|
|
PFNGLGETVERTEXATTRIBIVPROC glGetVertexAttribiv;
|
|
PFNGLGETVERTEXATTRIBPOINTERVPROC glGetVertexAttribPointerv;
|
|
PFNGLGENSAMPLERSPROC glGenSamplers;
|
|
PFNGLBINDSAMPLERPROC glBindSampler;
|
|
PFNGLSAMPLERPARAMETERIPROC glSamplerParameteri;
|
|
PFNGLSAMPLERPARAMETERFPROC glSamplerParameterf;
|
|
PFNGLSAMPLERPARAMETERIVPROC glSamplerParameteriv;
|
|
PFNGLSAMPLERPARAMETERFVPROC glSamplerParameterfv;
|
|
PFNGLSAMPLERPARAMETERIIVPROC glSamplerParameterIiv;
|
|
PFNGLSAMPLERPARAMETERIUIVPROC glSamplerParameterIuiv;
|
|
PFNGLCLEARBUFFERFVPROC glClearBufferfv;
|
|
PFNGLCLEARBUFFERIVPROC glClearBufferiv;
|
|
PFNGLCLEARBUFFERUIVPROC glClearBufferuiv;
|
|
PFNGLCLEARBUFFERFIPROC glClearBufferfi;
|
|
PFNGLSCISSORARRAYVPROC glScissorArrayv;
|
|
PFNGLSCISSORINDEXEDPROC glScissorIndexed;
|
|
PFNGLSCISSORINDEXEDVPROC glScissorIndexedv;
|
|
PFNGLVIEWPORTINDEXEDFPROC glViewportIndexedf;
|
|
PFNGLVIEWPORTINDEXEDFVPROC glViewportIndexedfv;
|
|
PFNGLVIEWPORTARRAYVPROC glViewportArrayv;
|
|
PFNGLGETUNIFORMLOCATIONPROC glGetUniformLocation;
|
|
PFNGLGETUNIFORMINDICESPROC glGetUniformIndices;
|
|
PFNGLGETUNIFORMBLOCKINDEXPROC glGetUniformBlockIndex;
|
|
PFNGLGETATTRIBLOCATIONPROC glGetAttribLocation;
|
|
PFNGLGETACTIVEUNIFORMPROC glGetActiveUniform;
|
|
PFNGLGETACTIVEUNIFORMSIVPROC glGetActiveUniformsiv;
|
|
PFNGLGETACTIVEATTRIBPROC glGetActiveAttrib;
|
|
PFNGLGETUNIFORMFVPROC glGetUniformfv;
|
|
PFNGLGETUNIFORMIVPROC glGetUniformiv;
|
|
PFNGLUNIFORMMATRIX4FVPROC glUniformMatrix4fv;
|
|
PFNGLUNIFORM1FPROC glUniform1f;
|
|
PFNGLUNIFORM1IPROC glUniform1i;
|
|
PFNGLUNIFORM1UIPROC glUniform1ui;
|
|
PFNGLUNIFORM1FVPROC glUniform1fv;
|
|
PFNGLUNIFORM1IVPROC glUniform1iv;
|
|
PFNGLUNIFORM1UIVPROC glUniform1uiv;
|
|
PFNGLUNIFORM2FVPROC glUniform2fv;
|
|
PFNGLUNIFORM3FVPROC glUniform3fv;
|
|
PFNGLUNIFORM4FVPROC glUniform4fv;
|
|
PFNGLDRAWRANGEELEMENTSPROC glDrawRangeElements;
|
|
PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC glDrawArraysInstancedBaseInstance;
|
|
PFNGLDRAWARRAYSINSTANCEDPROC glDrawArraysInstanced;
|
|
PFNGLDRAWELEMENTSINSTANCEDPROC glDrawElementsInstanced;
|
|
PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC glDrawElementsInstancedBaseInstance;
|
|
PFNGLDRAWELEMENTSBASEVERTEXPROC glDrawElementsBaseVertex;
|
|
PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glDrawElementsInstancedBaseVertex;
|
|
PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC glDrawElementsInstancedBaseVertexBaseInstance;
|
|
PFNGLBLITFRAMEBUFFERPROC glBlitFramebuffer;
|
|
// --
|
|
|
|
// ++ wgl
|
|
// --
|
|
|
|
// ++ glx
|
|
// --
|
|
};
|
|
|
|
#include "gl_hookset_defs.h"
|