0030153: Visualization, TKOpenGl - AIS_ColoredShape::SynchronizeAspects() doesn't...
[occt.git] / src / OpenGl / OpenGl_ArbTexBindless.hxx
1 // Created on: 2014-10-07
2 // Created by: Denis BOGOLEPOV
3 // Copyright (c) 2014 OPEN CASCADE SAS
4 //
5 // This file is part of Open CASCADE Technology software library.
6 //
7 // This library is free software; you can redistribute it and/or modify it under
8 // the terms of the GNU Lesser General Public License version 2.1 as published
9 // by the Free Software Foundation, with special exception defined in the file
10 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 // distribution for complete text of the license and disclaimer of any warranty.
12 //
13 // Alternatively, this file may be used under the terms of Open CASCADE
14 // commercial license or contractual agreement.
15
16 #ifndef _OpenGl_ArbTexBindless_H__
17 #define _OpenGl_ArbTexBindless_H__
18
19 #include <OpenGl_GlFunctions.hxx>
20
21 //! Provides bindless textures.
22 //! This extension allows OpenGL applications to access texture objects in
23 //! shaders without first binding each texture to one of a limited number of
24 //! texture image units.
25 struct OpenGl_ArbTexBindless : protected OpenGl_GlFunctions
26 {
27 #if !defined(GL_ES_VERSION_2_0)
28   using OpenGl_GlFunctions::glGetTextureHandleARB;
29   using OpenGl_GlFunctions::glGetTextureSamplerHandleARB;
30   using OpenGl_GlFunctions::glMakeTextureHandleResidentARB;
31   using OpenGl_GlFunctions::glMakeTextureHandleNonResidentARB;
32   using OpenGl_GlFunctions::glGetImageHandleARB;
33   using OpenGl_GlFunctions::glMakeImageHandleResidentARB;
34   using OpenGl_GlFunctions::glMakeImageHandleNonResidentARB;
35   using OpenGl_GlFunctions::glUniformHandleui64ARB;
36   using OpenGl_GlFunctions::glUniformHandleui64vARB;
37   using OpenGl_GlFunctions::glProgramUniformHandleui64ARB;
38   using OpenGl_GlFunctions::glProgramUniformHandleui64vARB;
39   using OpenGl_GlFunctions::glIsTextureHandleResidentARB;
40   using OpenGl_GlFunctions::glIsImageHandleResidentARB;
41   using OpenGl_GlFunctions::glVertexAttribL1ui64ARB;
42   using OpenGl_GlFunctions::glVertexAttribL1ui64vARB;
43   using OpenGl_GlFunctions::glGetVertexAttribLui64vARB;
44 #endif
45 };
46
47 #endif // _OpenGl_ArbTexBindless_H__