TINYGL: Few functions are not allowed to be on call lists

This commit is contained in:
Paweł Kołodziejski 2023-02-20 23:39:10 +01:00
parent 62ca8c9cf1
commit e1118a6882
No known key found for this signature in database
GPG key ID: 0BDADC9E74440FF7
5 changed files with 23 additions and 38 deletions

View file

@ -736,13 +736,8 @@ void tglDeleteTextures(TGLsizei n, const TGLuint *textures) {
void tglPixelStorei(TGLenum pname, TGLint param) {
TinyGL::GLContext *c = TinyGL::gl_get_context();
TinyGL::GLParam p[3];
p[0].op = TinyGL::OP_PixelStore;
p[1].i = pname;
p[2].i = param;
c->gl_add_op(p);
c->gl_PixelStore(pname, param);
}
// selection
@ -875,8 +870,6 @@ void tglEnableClientState(TGLenum array) {
TinyGL::GLContext *c = TinyGL::gl_get_context();
TinyGL::GLParam p[2];
p[0].op = TinyGL::OP_EnableClientState;
switch (array) {
case TGL_VERTEX_ARRAY:
p[1].i = VERTEX_ARRAY;
@ -895,15 +888,13 @@ void tglEnableClientState(TGLenum array) {
break;
}
c->gl_add_op(p);
c->gl_EnableClientState(p);
}
void tglDisableClientState(TGLenum array) {
TinyGL::GLContext *c = TinyGL::gl_get_context();
TinyGL::GLParam p[2];
p[0].op = TinyGL::OP_DisableClientState;
switch (array) {
case TGL_VERTEX_ARRAY:
p[1].i = ~VERTEX_ARRAY;
@ -922,58 +913,54 @@ void tglDisableClientState(TGLenum array) {
break;
}
c->gl_add_op(p);
c->gl_DisableClientState(p);
}
void tglVertexPointer(TGLint size, TGLenum type, TGLsizei stride, const TGLvoid *pointer) {
TinyGL::GLContext *c = TinyGL::gl_get_context();
TinyGL::GLParam p[5];
p[0].op = TinyGL::OP_VertexPointer;
p[1].i = size;
p[2].i = type;
p[3].i = stride;
p[4].p = const_cast<void *>(pointer);
c->gl_add_op(p);
c->gl_VertexPointer(p);
}
void tglColorPointer(TGLint size, TGLenum type, TGLsizei stride, const TGLvoid *pointer) {
TinyGL::GLContext *c = TinyGL::gl_get_context();
TinyGL::GLParam p[5];
p[0].op = TinyGL::OP_ColorPointer;
p[1].i = size;
p[2].i = type;
p[3].i = stride;
p[4].p = const_cast<void *>(pointer);
c->gl_add_op(p);
c->gl_ColorPointer(p);
}
void tglNormalPointer(TGLenum type, TGLsizei stride, const TGLvoid *pointer) {
TinyGL::GLContext *c = TinyGL::gl_get_context();
TinyGL::GLParam p[4];
p[0].op = TinyGL::OP_NormalPointer;
p[1].i = type;
p[2].i = stride;
p[3].p = const_cast<void *>(pointer);
c->gl_add_op(p);
c->gl_NormalPointer(p);
}
void tglTexCoordPointer(TGLint size, TGLenum type, TGLsizei stride, const TGLvoid *pointer) {
TinyGL::GLContext *c = TinyGL::gl_get_context();
TinyGL::GLParam p[5];
p[0].op = TinyGL::OP_TexCoordPointer;
p[1].i = size;
p[2].i = type;
p[3].i = stride;
p[4].p = const_cast<void *>(pointer);
c->gl_add_op(p);
c->gl_TexCoordPointer(p);
}
// fog

View file

@ -279,15 +279,15 @@ void GLContext::glopDrawElements(GLParam *p) {
glopEnd(nullptr);
}
void GLContext::glopEnableClientState(GLParam *p) {
void GLContext::gl_EnableClientState(GLParam *p) {
client_states |= p[1].i;
}
void GLContext::glopDisableClientState(GLParam *p) {
void GLContext::gl_DisableClientState(GLParam *p) {
client_states &= p[1].i;
}
void GLContext::glopVertexPointer(GLParam *p) {
void GLContext::gl_VertexPointer(GLParam *p) {
vertex_array_size = p[1].i;
vertex_array_type = p[2].i;
vertex_array = p[4].p;
@ -310,7 +310,7 @@ void GLContext::glopVertexPointer(GLParam *p) {
}
}
void GLContext::glopColorPointer(GLParam *p) {
void GLContext::gl_ColorPointer(GLParam *p) {
color_array_size = p[1].i;
color_array_type = p[2].i;
color_array = p[4].p;
@ -339,7 +339,7 @@ void GLContext::glopColorPointer(GLParam *p) {
}
}
void GLContext::glopNormalPointer(GLParam *p) {
void GLContext::gl_NormalPointer(GLParam *p) {
normal_array_type = p[1].i;
normal_array = p[3].p;
switch (p[1].i) {
@ -361,7 +361,7 @@ void GLContext::glopNormalPointer(GLParam *p) {
}
}
void GLContext::glopTexCoordPointer(GLParam *p) {
void GLContext::gl_TexCoordPointer(GLParam *p) {
texcoord_array_size = p[1].i;
texcoord_array_type = p[2].i;
texcoord_array = p[4].p;

View file

@ -70,7 +70,6 @@ ADD_OP(TexImage2D, 9, "%d %d %d %d %d %d %d %d %d")
ADD_OP(BindTexture, 2, "%C %d")
ADD_OP(TexEnv, 7, "%C %C %C %f %f %f %f")
ADD_OP(TexParameter, 7, "%C %C %C %f %f %f %f")
ADD_OP(PixelStore, 2, "%C %C")
ADD_OP(ShadeModel, 1, "%C")
ADD_OP(CullFace, 1, "%C")
@ -98,12 +97,6 @@ ADD_OP(NextBuffer, 1, "%p")
ADD_OP(ArrayElement, 1, "%d")
ADD_OP(DrawArrays, 3, "%C %d %d")
ADD_OP(DrawElements, 4, "%C %d %C %p")
ADD_OP(EnableClientState, 1, "%C")
ADD_OP(DisableClientState, 1, "%C")
ADD_OP(VertexPointer, 4, "%d %C %d %p")
ADD_OP(ColorPointer, 4, "%d %C %d %p")
ADD_OP(NormalPointer, 3, "%C %d %p")
ADD_OP(TexCoordPointer, 4, "%d %C %d %p")
// opengl 1.1 polygon offset
ADD_OP(PolygonOffset, 2, "%f %f")

View file

@ -244,10 +244,7 @@ error:
}
}
void GLContext::glopPixelStore(GLParam *p) {
int pname = p[1].i;
int param = p[2].i;
void GLContext::gl_PixelStore(TGLenum pname, TGLint param) {
if (pname != TGL_UNPACK_ALIGNMENT || param != 1) {
error("tglPixelStore: unsupported option");
}

View file

@ -469,7 +469,7 @@ struct GLContext {
void gl_get_pname(TGLenum pname, union uglValue *data, eDataType &dataType);
public:
// The glob* functions exposed to public, however they are only for internal use.
// The glop* functions exposed to public, however they are only for internal use.
// Calling them from outside of TinyGL is forbidden
#define ADD_OP(a, b, d) void glop ## a (GLParam *p);
#include "graphics/tinygl/opinfo.h"
@ -499,11 +499,19 @@ public:
void gl_GetDoublev(TGLenum pname, TGLdouble *data);
void gl_GetBooleanv(TGLenum pname, TGLboolean *data);
void gl_EnableClientState(GLParam *p);
void gl_DisableClientState(GLParam *p);
void gl_VertexPointer(GLParam *p);
void gl_ColorPointer(GLParam *p);
void gl_NormalPointer(GLParam *p);
void gl_TexCoordPointer(GLParam *p);
GLTexture *alloc_texture(uint h);
GLTexture *find_texture(uint h);
void free_texture(GLTexture *t);
void gl_GenTextures(TGLsizei n, TGLuint *textures);
void gl_DeleteTextures(TGLsizei n, const TGLuint *textures);
void gl_PixelStore(TGLenum pname, TGLint param);
void issueDrawCall(DrawCall *drawCall);
void disposeResources();