3 static GLenum cached_ActiveTexture_texture;
4 void inline cache_glActiveTexture (GLenum texture)
6 if(texture != cached_ActiveTexture_texture)
9 glActiveTexture(texture);
10 cached_ActiveTexture_texture = texture;
13 #define glActiveTexture(texture) cache_glActiveTexture(texture)
15 void inline cache_glBindTexture (GLenum target, GLuint texture)
18 glBindTexture(target, texture);
20 #define glBindTexture(target, texture) cache_glBindTexture(target, texture)
22 static GLenum cached_BlendEquation_mode;
23 void inline cache_glBlendEquation ( GLenum mode )
25 if(mode != cached_BlendEquation_mode)
28 glBlendEquation(mode);
29 cached_BlendEquation_mode = mode;
32 #define glBlendEquation(mode) cache_glBlendEquation(mode)
34 static GLenum cached_BlendEquationSeparate_modeRGB;
35 static GLenum cached_BlendEquationSeparate_modeAlpha;
36 void inline cache_glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha)
38 if(modeRGB != cached_BlendEquationSeparate_modeRGB || modeAlpha != cached_BlendEquationSeparate_modeAlpha)
41 glBlendEquationSeparate(modeRGB, modeAlpha);
42 cached_BlendEquationSeparate_modeRGB = modeRGB;
43 cached_BlendEquationSeparate_modeAlpha = modeAlpha;
46 #define glBlendEquationSeparate(modeRGB, modeAlpha) cache_glBlendEquationSeparate(modeRGB, modeAlpha)
48 static GLenum cached_BlendFunc_sfactor;
49 static GLenum cached_BlendFunc_dfactor;
50 void inline cache_glBlendFunc (GLenum sfactor, GLenum dfactor)
52 if(sfactor != cached_BlendFunc_sfactor || dfactor != cached_BlendFunc_dfactor)
55 glBlendFunc(sfactor, dfactor);
56 cached_BlendFunc_sfactor = sfactor;
57 cached_BlendFunc_dfactor = dfactor;
60 #define glBlendFunc(sfactor, dfactor) cache_glBlendFunc(sfactor, dfactor)
62 static GLenum cached_BlendFuncSeparate_srcRGB;
63 static GLenum cached_BlendFuncSeparate_dstRGB;
64 static GLenum cached_BlendFuncSeparate_srcAlpha;
65 static GLenum cached_BlendFuncSeparate_dstAlpha;
66 void inline cache_glBlendFuncSeparate (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
68 if(srcRGB != cached_BlendFuncSeparate_srcRGB || dstRGB != cached_BlendFuncSeparate_dstRGB || srcAlpha != cached_BlendFuncSeparate_srcAlpha || dstAlpha != cached_BlendFuncSeparate_dstAlpha)
71 glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha);
72 cached_BlendFuncSeparate_srcRGB = srcRGB;
73 cached_BlendFuncSeparate_dstRGB = dstRGB;
74 cached_BlendFuncSeparate_srcAlpha = srcAlpha;
75 cached_BlendFuncSeparate_dstAlpha = dstAlpha;
78 #define glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha) cache_glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha)
80 static GLclampf cached_ClearColor_red;
81 static GLclampf cached_ClearColor_green;
82 static GLclampf cached_ClearColor_blue;
83 static GLclampf cached_ClearColor_alpha;
84 void inline cache_glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
86 if(red != cached_ClearColor_red || green != cached_ClearColor_green || blue != cached_ClearColor_blue || alpha != cached_ClearColor_alpha)
89 glClearColor(red, green, blue, alpha);
90 cached_ClearColor_red = red;
91 cached_ClearColor_green = green;
92 cached_ClearColor_blue = blue;
93 cached_ClearColor_alpha = alpha;
96 #define glClearColor(red, green, blue, alpha) cache_glClearColor(red, green, blue, alpha)
98 static GLclampf cached_ClearDepthf_depth;
99 void inline cache_glClearDepthf (GLclampf depth)
101 if(depth != cached_ClearDepthf_depth)
104 glClearDepthf(depth);
105 cached_ClearDepthf_depth = depth;
108 #define glClearDepthf(depth) cache_glClearDepthf(depth)
110 static GLenum cached_CullFace_mode;
111 void inline cache_glCullFace (GLenum mode)
113 if(mode != cached_CullFace_mode)
117 cached_CullFace_mode = mode;
120 #define glCullFace(mode) cache_glCullFace(mode)
122 static GLenum cached_DepthFunc_func;
123 void inline cache_glDepthFunc (GLenum func)
125 if(func != cached_DepthFunc_func)
129 cached_DepthFunc_func = func;
132 #define glDepthFunc(func) cache_glDepthFunc(func)
134 static GLboolean cached_DepthMask_flag;
135 void inline cache_glDepthMask (GLboolean flag)
137 if(flag != cached_DepthMask_flag)
141 cached_DepthMask_flag = flag;
144 #define glDepthMask(flag) cache_glDepthMask(flag)
146 static GLclampf cached_DepthRangef_zNear;
147 static GLclampf cached_DepthRangef_zFar;
148 void inline cache_glDepthRangef (GLclampf zNear, GLclampf zFar)
150 if(zNear != cached_DepthRangef_zNear || zFar != cached_DepthRangef_zFar)
153 glDepthRangef(zNear, zFar);
154 cached_DepthRangef_zNear = zNear;
155 cached_DepthRangef_zFar = zFar;
158 #define glDepthRangef(zNear, zFar) cache_glDepthRangef(zNear, zFar)
160 static bool cached_BLEND = false;
161 static bool cached_CULL_FACE = false;
162 static bool cached_DEPTH_TEST = false;
163 static bool cached_DITHER = false;
164 static bool cached_POLYGON_OFFSET_FILL = false;
165 static bool cached_SAMPLE_ALPHA_TO_COVERAGE = false;
166 static bool cached_SAMPLE_COVERAGE = false;
167 static bool cached_SCISSOR_TEST = false;
168 static bool cached_STENCIL_TEST = false;
169 void inline cache_glDisable (GLenum cap)
171 if(cap == GL_BLEND && cached_BLEND)
175 cached_BLEND = false;
177 else if(cap == GL_CULL_FACE && cached_CULL_FACE)
180 glDisable(GL_CULL_FACE);
181 cached_CULL_FACE = false;
183 else if(cap == GL_DEPTH_TEST && cached_DEPTH_TEST)
186 glDisable(GL_DEPTH_TEST);
187 cached_DEPTH_TEST = false;
189 else if(cap == GL_DITHER && cached_DITHER)
192 glDisable(GL_DITHER);
193 cached_DITHER = false;
195 else if(cap == GL_POLYGON_OFFSET_FILL && cached_POLYGON_OFFSET_FILL)
198 glDisable(GL_POLYGON_OFFSET_FILL);
199 cached_POLYGON_OFFSET_FILL = false;
201 else if(cap == GL_SAMPLE_ALPHA_TO_COVERAGE && cached_SAMPLE_ALPHA_TO_COVERAGE)
204 glDisable(GL_SAMPLE_ALPHA_TO_COVERAGE);
205 cached_SAMPLE_ALPHA_TO_COVERAGE = false;
207 else if(cap == GL_SAMPLE_COVERAGE && cached_SAMPLE_COVERAGE)
210 glDisable(GL_SAMPLE_COVERAGE);
211 cached_SAMPLE_COVERAGE = false;
213 else if(cap == GL_SCISSOR_TEST && cached_SCISSOR_TEST)
216 glDisable(GL_SCISSOR_TEST);
217 cached_SCISSOR_TEST = false;
219 else if(cap == GL_STENCIL_TEST && cached_STENCIL_TEST)
222 glDisable(GL_STENCIL_TEST);
223 cached_STENCIL_TEST = false;
226 #define glDisable(cap) cache_glDisable(cap)
228 void inline cache_glEnable (GLenum cap)
230 if(cap == GL_BLEND && !cached_BLEND)
236 else if(cap == GL_CULL_FACE && !cached_CULL_FACE)
239 glEnable(GL_CULL_FACE);
240 cached_CULL_FACE = true;
242 else if(cap == GL_DEPTH_TEST && !cached_DEPTH_TEST)
245 glEnable(GL_DEPTH_TEST);
246 cached_DEPTH_TEST = true;
248 else if(cap == GL_DITHER && !cached_DITHER)
252 cached_DITHER = true;
254 else if(cap == GL_POLYGON_OFFSET_FILL && !cached_POLYGON_OFFSET_FILL)
257 glEnable(GL_POLYGON_OFFSET_FILL);
258 cached_POLYGON_OFFSET_FILL = true;
260 else if(cap == GL_SAMPLE_ALPHA_TO_COVERAGE && !cached_SAMPLE_ALPHA_TO_COVERAGE)
263 glEnable(GL_SAMPLE_ALPHA_TO_COVERAGE);
264 cached_SAMPLE_ALPHA_TO_COVERAGE = true;
266 else if(cap == GL_SAMPLE_COVERAGE && !cached_SAMPLE_COVERAGE)
269 glEnable(GL_SAMPLE_COVERAGE);
270 cached_SAMPLE_COVERAGE = true;
272 else if(cap == GL_SCISSOR_TEST && !cached_SCISSOR_TEST)
275 glEnable(GL_SCISSOR_TEST);
276 cached_SCISSOR_TEST = true;
278 else if(cap == GL_STENCIL_TEST && !cached_STENCIL_TEST)
281 glEnable(GL_STENCIL_TEST);
282 cached_STENCIL_TEST = true;
285 #define glEnable(cap) cache_glEnable(cap)
287 static GLenum cached_FrontFace_mode;
288 void inline cache_glFrontFace (GLenum mode)
290 if(mode != cached_FrontFace_mode)
294 cached_FrontFace_mode = mode;
297 #define glFrontFace(mode) cache_glFrontFace(mode)
299 static GLfloat cached_PolygonOffset_factor;
300 static GLfloat cached_PolygonOffset_units;
301 void inline cache_glPolygonOffset (GLfloat factor, GLfloat units)
303 if(factor != cached_PolygonOffset_factor || units != cached_PolygonOffset_units)
306 glPolygonOffset(factor, units);
307 cached_PolygonOffset_factor = factor;
308 cached_PolygonOffset_units = units;
311 #define glPolygonOffset(factor, units) cache_glPolygonOffset(factor, units)
313 static GLint cached_Scissor_x;
314 static GLint cached_Scissor_y;
315 static GLsizei cached_Scissor_width;
316 static GLsizei cached_Scissor_height;
317 void inline cache_glScissor (GLint x, GLint y, GLsizei width, GLsizei height)
319 if(x != cached_Scissor_x || y != cached_Scissor_y || width != cached_Scissor_width || height != cached_Scissor_height)
322 glScissor(x, y, width, height);
323 cached_Scissor_x = x;
324 cached_Scissor_y = y;
325 cached_Scissor_width = width;
326 cached_Scissor_height = height;
329 #define glScissor(x, y, width, height) cache_glScissor(x, y, width, height)
331 static GLuint cached_UseProgram_program;
332 void inline cache_glUseProgram (GLuint program)
334 if(program != cached_UseProgram_program)
337 glUseProgram(program);
338 cached_UseProgram_program = program;
341 #define glUseProgram(program) cache_glUseProgram(program)
343 static GLint cached_Viewport_x;
344 static GLint cached_Viewport_y;
345 static GLsizei cached_Viewport_width;
346 static GLsizei cached_Viewport_height;
347 void inline cache_glViewport (GLint x, GLint y, GLsizei width, GLsizei height)
349 if(x != cached_Viewport_x || y != cached_Viewport_y || width != cached_Viewport_width || height != cached_Viewport_height)
352 glViewport(x, y, width, height);
353 cached_Viewport_x = x;
354 cached_Viewport_y = y;
355 cached_Viewport_width = width;
356 cached_Viewport_height = height;
359 #define glViewport(x, y, width, height) cache_glViewport(x, y, width, height)