Signed-off-by: Adam Jackson <a...@redhat.com> --- src/glx/indirect_vertex_array.c | 39 -------- src/glx/indirect_vertex_program.c | 202 -------------------------------------- src/glx/tests/indirect_api.cpp | 2 - src/mapi/glapi/gen/glX_XML.py | 6 +- 4 files changed, 4 insertions(+), 245 deletions(-)
diff --git a/src/glx/indirect_vertex_array.c b/src/glx/indirect_vertex_array.c index 2bf2ff1..1fb5137 100644 --- a/src/glx/indirect_vertex_array.c +++ b/src/glx/indirect_vertex_array.c @@ -1691,45 +1691,6 @@ __indirect_glVertexAttribPointer(GLuint index, GLint size, } -/** - * I don't have 100% confidence that this is correct. The different rules - * about whether or not generic vertex attributes alias "classic" vertex - * attributes (i.e., attrib1 ?= primary color) between ARB_vertex_program, - * ARB_vertex_shader, and NV_vertex_program are a bit confusing. My - * feeling is that the client-side doesn't have to worry about it. The - * client just sends all the data to the server and lets the server deal - * with it. - */ -void -__indirect_glVertexAttribPointerNV(GLuint index, GLint size, - GLenum type, GLsizei stride, - const GLvoid * pointer) -{ - struct glx_context *gc = __glXGetCurrentContext(); - GLboolean normalized = GL_FALSE; - - - switch (type) { - case GL_UNSIGNED_BYTE: - if (size != 4) { - __glXSetError(gc, GL_INVALID_VALUE); - return; - } - normalized = GL_TRUE; - - case GL_SHORT: - case GL_FLOAT: - case GL_DOUBLE: - __indirect_glVertexAttribPointer(index, size, type, - normalized, stride, pointer); - return; - default: - __glXSetError(gc, GL_INVALID_ENUM); - return; - } -} - - void __indirect_glClientActiveTexture(GLenum texture) { diff --git a/src/glx/indirect_vertex_program.c b/src/glx/indirect_vertex_program.c index 54a936d..e3f57c5 100644 --- a/src/glx/indirect_vertex_program.c +++ b/src/glx/indirect_vertex_program.c @@ -35,33 +35,6 @@ #endif static void -do_vertex_attrib_enable(GLuint index, GLboolean val) -{ - struct glx_context *gc = __glXGetCurrentContext(); - __GLXattribute *state = (__GLXattribute *) (gc->client_state_private); - - if (!__glXSetArrayEnable(state, GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB, - index, val)) { - __glXSetError(gc, GL_INVALID_ENUM); - } -} - - -void -__indirect_glEnableVertexAttribArray(GLuint index) -{ - do_vertex_attrib_enable(index, GL_TRUE); -} - - -void -__indirect_glDisableVertexAttribArray(GLuint index) -{ - do_vertex_attrib_enable(index, GL_FALSE); -} - - -static void get_parameter(unsigned opcode, unsigned size, GLenum target, GLuint index, void *params) { @@ -116,178 +89,3 @@ __indirect_glGetProgramLocalParameterdvARB(GLenum target, GLuint index, { get_parameter(1306, 8, target, index, params); } - - -void -__indirect_glGetVertexAttribPointerv(GLuint index, GLenum pname, - GLvoid ** pointer) -{ - struct glx_context *const gc = __glXGetCurrentContext(); - __GLXattribute *state = (__GLXattribute *) (gc->client_state_private); - - if (pname != GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB) { - __glXSetError(gc, GL_INVALID_ENUM); - } - - if (!__glXGetArrayPointer(state, GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB, - index, pointer)) { - __glXSetError(gc, GL_INVALID_VALUE); - } -} - - -/** - * Get the selected attribute from the vertex array state vector. - * - * \returns - * On success \c GL_TRUE is returned. Otherwise, \c GL_FALSE is returned. - */ -static GLboolean -get_attrib_array_data(__GLXattribute * state, GLuint index, GLenum cap, - GLintptr * data) -{ - GLboolean retval = GL_FALSE; - const GLenum attrib = GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB; - - switch (cap) { - case GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB: - retval = __glXGetArrayEnable(state, attrib, index, data); - break; - - case GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB: - retval = __glXGetArraySize(state, attrib, index, data); - break; - - case GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB: - retval = __glXGetArrayStride(state, attrib, index, data); - break; - - case GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB: - retval = __glXGetArrayType(state, attrib, index, data); - break; - - case GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB: - retval = __glXGetArrayNormalized(state, attrib, index, data); - break; - } - - - return retval; -} - - -static void -get_vertex_attrib(struct glx_context * gc, unsigned vop, - GLuint index, GLenum pname, xReply * reply) -{ - Display *const dpy = gc->currentDpy; - GLubyte *const pc = __glXSetupVendorRequest(gc, - X_GLXVendorPrivateWithReply, - vop, 8); - - *((uint32_t *) (pc + 0)) = index; - *((uint32_t *) (pc + 4)) = pname; - - (void) _XReply(dpy, reply, 0, False); -} - - -void -__indirect_glGetVertexAttribiv(GLuint index, GLenum pname, GLint * params) -{ - struct glx_context *const gc = __glXGetCurrentContext(); - Display *const dpy = gc->currentDpy; - __GLXattribute *state = (__GLXattribute *) (gc->client_state_private); - xGLXSingleReply reply; - - - get_vertex_attrib(gc, 1303, index, pname, (xReply *) & reply); - - if (reply.size != 0) { - GLintptr data; - - - if (get_attrib_array_data(state, index, pname, &data)) { - *params = (GLint) data; - } - else { - if (reply.size == 1) { - *params = (GLint) reply.pad3; - } - else { - _XRead(dpy, (void *) params, 4 * reply.size); - } - } - } - - UnlockDisplay(dpy); - SyncHandle(); -} - - -void -__indirect_glGetVertexAttribfv(GLuint index, GLenum pname, - GLfloat * params) -{ - struct glx_context *const gc = __glXGetCurrentContext(); - Display *const dpy = gc->currentDpy; - __GLXattribute *state = (__GLXattribute *) (gc->client_state_private); - xGLXSingleReply reply; - - - get_vertex_attrib(gc, 1302, index, pname, (xReply *) & reply); - - if (reply.size != 0) { - GLintptr data; - - - if (get_attrib_array_data(state, index, pname, &data)) { - *params = (GLfloat) data; - } - else { - if (reply.size == 1) { - (void) memcpy(params, &reply.pad3, sizeof(GLfloat)); - } - else { - _XRead(dpy, (void *) params, 4 * reply.size); - } - } - } - - UnlockDisplay(dpy); - SyncHandle(); -} - - -void -__indirect_glGetVertexAttribdv(GLuint index, GLenum pname, - GLdouble * params) -{ - struct glx_context *const gc = __glXGetCurrentContext(); - Display *const dpy = gc->currentDpy; - __GLXattribute *state = (__GLXattribute *) (gc->client_state_private); - xGLXSingleReply reply; - - - get_vertex_attrib(gc, 1301, index, pname, (xReply *) & reply); - - if (reply.size != 0) { - GLintptr data; - - - if (get_attrib_array_data(state, index, pname, &data)) { - *params = (GLdouble) data; - } - else { - if (reply.size == 1) { - (void) memcpy(params, &reply.pad3, sizeof(GLdouble)); - } - else { - _XRead(dpy, (void *) params, 8 * reply.size); - } - } - } - - UnlockDisplay(dpy); - SyncHandle(); -} diff --git a/src/glx/tests/indirect_api.cpp b/src/glx/tests/indirect_api.cpp index 34304a1..39fd610 100644 --- a/src/glx/tests/indirect_api.cpp +++ b/src/glx/tests/indirect_api.cpp @@ -657,7 +657,6 @@ void __indirect_glVertexAttrib4sNV(void) { } void __indirect_glVertexAttrib4svNV(void) { } void __indirect_glVertexAttrib4ubNV(void) { } void __indirect_glVertexAttrib4ubvNV(void) { } -void __indirect_glVertexAttribPointerNV(void) { } void __indirect_glVertexAttribs1dvNV(void) { } void __indirect_glVertexAttribs1fvNV(void) { } void __indirect_glVertexAttribs1svNV(void) { } @@ -1444,7 +1443,6 @@ TEST_F(IndirectAPI, NV_vertex_program) EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4svNV, table[_glapi_get_proc_offset("glVertexAttrib4svNV")]); EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4ubNV, table[_glapi_get_proc_offset("glVertexAttrib4ubNV")]); EXPECT_EQ((_glapi_proc) __indirect_glVertexAttrib4ubvNV, table[_glapi_get_proc_offset("glVertexAttrib4ubvNV")]); - EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribPointerNV, table[_glapi_get_proc_offset("glVertexAttribPointerNV")]); EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs1dvNV, table[_glapi_get_proc_offset("glVertexAttribs1dvNV")]); EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs1fvNV, table[_glapi_get_proc_offset("glVertexAttribs1fvNV")]); EXPECT_EQ((_glapi_proc) __indirect_glVertexAttribs1svNV, table[_glapi_get_proc_offset("glVertexAttribs1svNV")]); diff --git a/src/mapi/glapi/gen/glX_XML.py b/src/mapi/glapi/gen/glX_XML.py index 12ff291..166dbc1 100644 --- a/src/mapi/glapi/gen/glX_XML.py +++ b/src/mapi/glapi/gen/glX_XML.py @@ -97,14 +97,16 @@ class glx_function(gl_XML.gl_function): self.server_handcode = 0 self.client_handcode = 0 - self.ignore = 0 self.count_parameter_list = [] self.counter_list = [] self.parameters_by_name = {} self.offsets_calculated = 0 + self.ignore = 0 gl_XML.gl_function.__init__(self, element, context) + self.ignore = self.ignore or self.exec_flavor == 'skip' + return @@ -168,7 +170,7 @@ class glx_function(gl_XML.gl_function): else: raise RuntimeError('Invalid handcode mode "%s" in function "%s".' % (handcode, self.name)) - self.ignore = gl_XML.is_attr_true( child, 'ignore' ) + self.ignore = self.ignore or gl_XML.is_attr_true( child, 'ignore' ) self.can_be_large = gl_XML.is_attr_true( child, 'large' ) self.glx_doubles_in_order = gl_XML.is_attr_true( child, 'doubles_in_order' ) self.reply_always_array = gl_XML.is_attr_true( child, 'always_array' ) -- 2.5.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev