1
2 // Copyright 2018 - 2021 Michael D. Parker
3 // Distributed under the Boost Software License, Version 1.0.
4 // (See accompanying file LICENSE_1_0.txt or copy at
5 // http://www.boost.org/LICENSE_1_0.txt)
6
7 module bindbc.opengl.bind.dep.dep12;
8
9 import bindbc.loader;
10 import bindbc.opengl.context;
11 import bindbc.opengl.bind.types;
12
13 version(GL_AllowDeprecated) {
14 enum : uint {
15 GL_RESCALE_NORMAL = 0x803A,
16 GL_LIGHT_MODEL_COLOR_CONTROL = 0x81F8,
17 GL_SINGLE_COLOR = 0x81F9,
18 GL_SEPARATE_SPECULAR_COLOR = 0x81FA,
19 GL_ALIASED_POINT_SIZE_RANGE = 0x846D,
20 GL_CONVOLUTION_1D = 0x8010,
21 GL_CONVOLUTION_2D = 0x8011,
22 GL_SEPARABLE_2D = 0x8012,
23 GL_CONVOLUTION_BORDER_MODE = 0x8013,
24 GL_CONVOLUTION_FILTER_SCALE = 0x8014,
25 GL_CONVOLUTION_FILTER_BIAS = 0x8015,
26 GL_REDUCE = 0x8016,
27 GL_CONVOLUTION_FORMAT = 0x8017,
28 GL_CONVOLUTION_WIDTH = 0x8018,
29 GL_CONVOLUTION_HEIGHT = 0x8019,
30 GL_MAX_CONVOLUTION_WIDTH = 0x801A,
31 GL_MAX_CONVOLUTION_HEIGHT = 0x801B,
32 GL_POST_CONVOLUTION_RED_SCALE = 0x801C,
33 GL_POST_CONVOLUTION_GREEN_SCALE = 0x801D,
34 GL_POST_CONVOLUTION_BLUE_SCALE = 0x801E,
35 GL_POST_CONVOLUTION_ALPHA_SCALE = 0x801F,
36 GL_POST_CONVOLUTION_RED_BIAS = 0x8020,
37 GL_POST_CONVOLUTION_GREEN_BIAS = 0x8021,
38 GL_POST_CONVOLUTION_BLUE_BIAS = 0x8022,
39 GL_POST_CONVOLUTION_ALPHA_BIAS = 0x8023,
40 GL_HISTOGRAM = 0x8024,
41 GL_PROXY_HISTOGRAM = 0x8025,
42 GL_HISTOGRAM_WIDTH = 0x8026,
43 GL_HISTOGRAM_FORMAT = 0x8027,
44 GL_HISTOGRAM_RED_SIZE = 0x8028,
45 GL_HISTOGRAM_GREEN_SIZE = 0x8029,
46 GL_HISTOGRAM_BLUE_SIZE = 0x802A,
47 GL_HISTOGRAM_ALPHA_SIZE = 0x802B,
48 GL_HISTOGRAM_LUMINANCE_SIZE = 0x802C,
49 GL_HISTOGRAM_SINK = 0x802D,
50 GL_MINMAX = 0x802E,
51 GL_MINMAX_FORMAT = 0x802F,
52 GL_MINMAX_SINK = 0x8030,
53 GL_TABLE_TOO_LARGE = 0x8031,
54 GL_COLOR_MATRIX = 0x80B1,
55 GL_COLOR_MATRIX_STACK_DEPTH = 0x80B2,
56 GL_MAX_COLOR_MATRIX_STACK_DEPTH = 0x80B3,
57 GL_POST_COLOR_MATRIX_RED_SCALE = 0x80B4,
58 GL_POST_COLOR_MATRIX_GREEN_SCALE = 0x80B5,
59 GL_POST_COLOR_MATRIX_BLUE_SCALE = 0x80B6,
60 GL_POST_COLOR_MATRIX_ALPHA_SCALE = 0x80B7,
61 GL_POST_COLOR_MATRIX_RED_BIAS = 0x80B8,
62 GL_POST_COLOR_MATRIX_GREEN_BIAS = 0x80B9,
63 GL_POST_COLOR_MATRIX_BLUE_BIAS = 0x80BA,
64 GL_POST_COLOR_MATRIX_ALPHA_BIAS = 0x80BB,
65 GL_COLOR_TABLE = 0x80D0,
66 GL_POST_CONVOLUTION_COLOR_TABLE = 0x80D1,
67 GL_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D2,
68 GL_PROXY_COLOR_TABLE = 0x80D3,
69 GL_PROXY_POST_CONVOLUTION_COLOR_TABLE = 0x80D4,
70 GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D5,
71 GL_COLOR_TABLE_SCALE = 0x80D6,
72 GL_COLOR_TABLE_BIAS = 0x80D7,
73 GL_COLOR_TABLE_FORMAT = 0x80D8,
74 GL_COLOR_TABLE_WIDTH = 0x80D9,
75 GL_COLOR_TABLE_RED_SIZE = 0x80DA,
76 GL_COLOR_TABLE_GREEN_SIZE = 0x80DB,
77 GL_COLOR_TABLE_BLUE_SIZE = 0x80DC,
78 GL_COLOR_TABLE_ALPHA_SIZE = 0x80DD,
79 GL_COLOR_TABLE_LUMINANCE_SIZE = 0x80DE,
80 GL_COLOR_TABLE_INTENSITY_SIZE = 0x80DF,
81 GL_CONSTANT_BORDER = 0x8151,
82 GL_REPLICATE_BORDER = 0x8153,
83 GL_CONVOLUTION_BORDER_COLOR = 0x8154,
84 }
85
86 extern(System) @nogc nothrow {
87 alias pglColorTable = void function(GLenum, GLenum, GLsizei, GLenum, GLenum, const(void)*);
88 alias pglColorSubTable = void function(GLenum, GLsizei, GLsizei, GLenum, GLenum, const(void)*);
89 alias pglColorTableParameteriv = void function(GLenum, GLenum, const(GLint)*);
90 alias pglColorTableParameterfv = void function(GLenum, GLenum, const(GLfloat)*);
91 alias pglCopyColorSubTable = void function(GLenum, GLsizei, GLint, GLint, GLsizei);
92 alias pglCopyColorTable = void function(GLenum, GLenum, GLint, GLint, GLsizei);
93 alias pglGetColorTable = void function(GLenum, GLenum, GLenum, void*);
94 alias pglGetColorTableParameterfv = void function(GLenum, GLenum, GLfloat*);
95 alias pglGetColorTableParameteriv = void function(GLenum, GLenum, GLint*);
96 alias pglHistogram = void function(GLenum, GLsizei, GLenum, GLboolean);
97 alias pglResetHistogram = void function(GLenum);
98 alias pglGetHistogram = void function(GLenum, GLboolean, GLenum, GLenum, void*);
99 alias pglGetHistogramParameterfv = void function(GLenum, GLenum, GLfloat*);
100 alias pglGetHistogramParameteriv = void function(GLenum, GLenum, GLint*);
101 alias pglMinmax = void function(GLenum, GLenum, GLboolean);
102 alias pglResetMinmax = void function(GLenum);
103 alias pglGetMinmax = void function(GLenum, GLboolean, GLenum, GLenum, void*);
104 alias pglGetMinmaxParameterfv = void function(GLenum, GLenum, GLfloat*);
105 alias pglGetMinmaxParameteriv = void function(GLenum, GLenum, GLint*);
106 alias pglConvolutionFilter1D = void function(GLenum, GLenum, GLsizei, GLenum, GLenum, const(void)*);
107 alias pglConvolutionFilter2D = void function(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const(void)*);
108 alias pglConvolutionParameterf = void function(GLenum, GLenum, GLfloat);
109 alias pglConvolutionParameterfv = void function(GLenum, GLenum, const(GLfloat)*);
110 alias pglConvolutionParameteri = void function(GLenum, GLenum, GLint);
111 alias pglConvolutionParameteriv = void function(GLenum, GLenum, const(GLint)*);
112 alias pglCopyConvolutionFilter1D = void function(GLenum, GLenum, GLint, GLint, GLsizei);
113 alias pglCopyConvolutionFilter2D = void function(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei);
114 alias pglGetConvolutionFilter = void function(GLenum, GLenum, GLenum, void*);
115 alias pglGetConvolutionParameterfv = void function(GLenum, GLenum, GLfloat*);
116 alias pglGetConvolutionParameteriv = void function(GLenum, GLenum, GLint*);
117 alias pglSeparableFilter2D = void function(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const(void)*, const(void)*);
118 alias pglGetSeparableFilter = void function(GLenum, GLenum, GLenum, void*, void*, void*);
119 }
120
121 __gshared {
122 pglColorTable glColorTable;
123 pglColorSubTable glColorSubTable;
124 pglColorTableParameteriv glColorTableParameteriv;
125 pglColorTableParameterfv glColorTableParameterfv;
126 pglCopyColorSubTable glCopyColorSubTable;
127 pglCopyColorTable glCopyColorTable;
128 pglGetColorTable glGetColorTable;
129 pglGetColorTableParameterfv glGetColorTableParameterfv;
130 pglGetColorTableParameteriv glGetColorTableParameteriv;
131 pglHistogram glHistogram;
132 pglResetHistogram glResetHistogram;
133 pglGetHistogram glGetHistogram;
134 pglGetHistogramParameterfv glGetHistogramParameterfv;
135 pglGetHistogramParameteriv glGetHistogramParameteriv;
136 pglMinmax glMinmax;
137 pglResetMinmax glResetMinmax;
138 pglGetMinmax glGetMinmax;
139 pglGetMinmaxParameterfv glGetMinmaxParameterfv;
140 pglGetMinmaxParameteriv glGetMinmaxParameteriv;
141 pglConvolutionFilter1D glConvolutionFilter1D;
142 pglConvolutionFilter2D glConvolutionFilter2D;
143 pglConvolutionParameterf glConvolutionParameterf;
144 pglConvolutionParameterfv glConvolutionParameterfv;
145 pglConvolutionParameteri glConvolutionParameteri;
146 pglConvolutionParameteriv glConvolutionParameteriv;
147 pglCopyConvolutionFilter1D glCopyConvolutionFilter1D;
148 pglCopyConvolutionFilter2D glCopyConvolutionFilter2D;
149 pglGetConvolutionFilter glGetConvolutionFilter;
150 pglGetConvolutionParameterfv glGetConvolutionParameterfv;
151 pglGetConvolutionParameteriv glGetConvolutionParameteriv;
152 pglSeparableFilter2D glSeparableFilter2D;
153 pglGetSeparableFilter glGetSeparableFilter;
154 }
155
156 package(bindbc.opengl.bind) @nogc nothrow
157 bool loadDeprecatedGL12(SharedLib lib)
158 {
159 lib.bindGLSymbol(cast(void**)&glColorTable, "glColorTable");
160 lib.bindGLSymbol(cast(void**)&glColorSubTable, "glColorSubTable");
161 lib.bindGLSymbol(cast(void**)&glColorTableParameteriv, "glColorTableParameteriv");
162 lib.bindGLSymbol(cast(void**)&glColorTableParameterfv, "glColorTableParameterfv");
163 lib.bindGLSymbol(cast(void**)&glCopyColorSubTable, "glCopyColorSubTable");
164 lib.bindGLSymbol(cast(void**)&glCopyColorTable, "glCopyColorTable");
165 lib.bindGLSymbol(cast(void**)&glGetColorTable, "glGetColorTable");
166 lib.bindGLSymbol(cast(void**)&glGetColorTableParameterfv, "glGetColorTableParameterfv");
167 lib.bindGLSymbol(cast(void**)&glGetColorTableParameteriv, "glGetColorTableParameteriv");
168 lib.bindGLSymbol(cast(void**)&glHistogram, "glHistogram");
169 lib.bindGLSymbol(cast(void**)&glResetHistogram, "glResetHistogram");
170 lib.bindGLSymbol(cast(void**)&glGetHistogram, "glGetHistogram");
171 lib.bindGLSymbol(cast(void**)&glGetHistogramParameterfv, "glGetHistogramParameterfv");
172 lib.bindGLSymbol(cast(void**)&glGetHistogramParameteriv, "glGetHistogramParameteriv");
173 lib.bindGLSymbol(cast(void**)&glMinmax, "glMinmax");
174 lib.bindGLSymbol(cast(void**)&glResetMinmax, "glResetMinmax");
175 lib.bindGLSymbol(cast(void**)&glGetMinmax, "glGetMinmax");
176 lib.bindGLSymbol(cast(void**)&glGetMinmaxParameterfv, "glGetMinmaxParameterfv");
177 lib.bindGLSymbol(cast(void**)&glGetMinmaxParameteriv, "glGetMinmaxParameteriv");
178 lib.bindGLSymbol(cast(void**)&glConvolutionFilter1D, "glConvolutionFilter1D");
179 lib.bindGLSymbol(cast(void**)&glConvolutionFilter2D, "glConvolutionFilter2D");
180 lib.bindGLSymbol(cast(void**)&glConvolutionParameterf, "glConvolutionParameterf");
181 lib.bindGLSymbol(cast(void**)&glConvolutionParameterfv, "glConvolutionParameterfv");
182 lib.bindGLSymbol(cast(void**)&glConvolutionParameteri, "glConvolutionParameteri");
183 lib.bindGLSymbol(cast(void**)&glConvolutionParameteriv, "glConvolutionParameteriv");
184 lib.bindGLSymbol(cast(void**)&glCopyConvolutionFilter1D, "glCopyConvolutionFilter1D");
185 lib.bindGLSymbol(cast(void**)&glCopyConvolutionFilter2D, "glCopyConvolutionFilter2D");
186 lib.bindGLSymbol(cast(void**)&glGetConvolutionFilter, "glGetConvolutionFilter");
187 lib.bindGLSymbol(cast(void**)&glGetConvolutionParameterfv, "glGetConvolutionParameterfv");
188 lib.bindGLSymbol(cast(void**)&glGetConvolutionParameteriv, "glGetConvolutionParameteriv");
189 lib.bindGLSymbol(cast(void**)&glSeparableFilter2D, "glSeparableFilter2D");
190 lib.bindGLSymbol(cast(void**)&glGetSeparableFilter, "glGetSeparableFilter");
191
192 return errorCountGL() == 0;
193 }
194 }