mesa: use vbo_attrib_tmp.h to generate display list vertex attrib functions

This removes about 1150 lines of code.

The diff is messy, but the new code really starts with save_Attr32bit and
below. Ignore false Eval/Material/Begin changes etc. Git can't figure out
what was really changed. I didn't change them.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4123>
This commit is contained in:
Marek Olšák 2020-03-08 18:47:56 -04:00 committed by Marge Bot
parent 3252041a78
commit 98d1197233
4 changed files with 177 additions and 1318 deletions

File diff suppressed because it is too large Load Diff

View File

@ -204,6 +204,16 @@ static inline uint64_t DOUBLE_AS_UINT64(double d)
return tmp.u64;
}
static inline double UINT64_AS_DOUBLE(uint64_t u)
{
union {
double d;
uint64_t u64;
} tmp;
tmp.u64 = u;
return tmp.d;
}
/* First sign-extend x, then return uint32_t. */
#define INT_AS_UINT(x) ((uint32_t)((int32_t)(x)))
#define FLOAT_AS_UINT(x) (FLOAT_AS_UNION(x).u)

View File

@ -4584,7 +4584,7 @@ struct gl_dlist_state
GLvertexformat ListVtxfmt;
GLubyte ActiveAttribSize[VERT_ATTRIB_MAX];
GLfloat CurrentAttrib[VERT_ATTRIB_MAX][8];
uint32_t CurrentAttrib[VERT_ATTRIB_MAX][8];
GLubyte ActiveMaterialSize[MAT_ATTRIB_MAX];
GLfloat CurrentMaterial[MAT_ATTRIB_MAX][4];

View File

@ -111,7 +111,7 @@ install_vtxfmt(struct gl_context *ctx, struct _glapi_table *tab,
SET_PrimitiveRestartNV(tab, vfmt->PrimitiveRestartNV);
}
/* Originally for GL_NV_vertex_program, this is also used by dlist.c */
/* Originally for GL_NV_vertex_program, this is now only used by dlist.c */
if (ctx->API == API_OPENGL_COMPAT) {
SET_VertexAttrib1fNV(tab, vfmt->VertexAttrib1fNV);
SET_VertexAttrib1fvNV(tab, vfmt->VertexAttrib1fvNV);