소스 검색

mesa: add EXT_dsa glMultiTexCoordPointerEXT function

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
tags/19.2-branchpoint
Pierre-Eric Pelloux-Prayer 6 년 전
부모
커밋
0556932f4a

+ 8
- 0
src/mapi/glapi/gen/EXT_direct_state_access.xml 파일 보기

@@ -633,6 +633,14 @@
<param name="param" type="GLint *" />
</function>

<function name="MultiTexCoordPointerEXT">
<param name="texunit" type="GLenum" />
<param name="size" type="GLint" />
<param name="type" type="GLenum" />
<param name="stride" type="GLsizei" />
<param name="pointer" type="const GLvoid *" />
</function>

<!-- OpenGL 1.3 -->

<function name="MatrixLoadTransposefEXT" offset="assign">

+ 1
- 0
src/mapi/glapi/gen/static_data.py 파일 보기

@@ -1550,6 +1550,7 @@ offsets = {
"GetMultiTexGendvEXT": 1514,
"GetMultiTexGenfvEXT": 1515,
"GetMultiTexGenivEXT": 1516,
"MultiTexCoordPointerEXT": 1517,
}

functions = [

+ 1
- 1
src/mesa/main/tests/dispatch_sanity.cpp 파일 보기

@@ -1056,7 +1056,7 @@ const struct function common_desktop_functions_possible[] = {
{ "glCopyTextureSubImage3DEXT", 12, -1 },
/* GL_EXT_direct_state_access - GL 1.2.1 */
{ "glBindMultiTextureEXT", 12, -1 },
//{ "glMultiTexCoordPointerEXT", 12, -1 },
{ "glMultiTexCoordPointerEXT", 12, -1 },
{ "glMultiTexEnvfEXT", 12, -1 },
{ "glMultiTexEnvfvEXT", 12, -1 },
{ "glMultiTexEnviEXT", 12, -1 },

+ 26
- 0
src/mesa/main/varray.c 파일 보기

@@ -1673,6 +1673,32 @@ _mesa_TexCoordPointerEXT(GLint size, GLenum type, GLsizei stride,
}


void GLAPIENTRY
_mesa_MultiTexCoordPointerEXT(GLenum texunit, GLint size, GLenum type,
GLsizei stride, const GLvoid *ptr)
{
GET_CURRENT_CONTEXT(ctx);
const GLint sizeMin = 1;
const GLuint unit = texunit - GL_TEXTURE0;

GLenum format = GL_RGBA;
const GLbitfield legalTypes = (SHORT_BIT | INT_BIT |
HALF_BIT | FLOAT_BIT | DOUBLE_BIT |
UNSIGNED_INT_2_10_10_10_REV_BIT |
INT_2_10_10_10_REV_BIT);

if (!validate_array_and_format(ctx, "glMultiTexCoordPointerEXT",
VERT_ATTRIB_TEX(unit), legalTypes,
sizeMin, 4, size, type, stride,
GL_FALSE, GL_FALSE, GL_FALSE, format, ptr,
ctx->Array.VAO))
return;

update_array(ctx, VERT_ATTRIB_TEX(unit), format, 4, size, type,
stride, GL_FALSE, GL_FALSE, GL_FALSE, ptr);
}


void GLAPIENTRY
_mesa_EdgeFlagPointerEXT(GLsizei stride, GLsizei count, const GLboolean *ptr)
{

+ 3
- 1
src/mesa/main/varray.h 파일 보기

@@ -142,7 +142,9 @@ _mesa_TexCoordPointer_no_error(GLint size, GLenum type, GLsizei stride,
extern void GLAPIENTRY
_mesa_TexCoordPointer(GLint size, GLenum type, GLsizei stride,
const GLvoid *ptr);

extern void GLAPIENTRY
_mesa_MultiTexCoordPointerEXT(GLenum texunit, GLint size, GLenum type,
GLsizei stride, const GLvoid *ptr);

extern void GLAPIENTRY
_mesa_EdgeFlagPointer_no_error(GLsizei stride, const GLvoid *ptr);

Loading…
취소
저장