Browse Source

mesa: remove some dead display list code

The size of a Node is always four bytes so no need for the old code
that was used when sizeof(Node)==8.

Reviewed-by: Matt Turner <mattst88@gmail.com>
tags/10.5-branchpoint
Brian Paul 11 years ago
parent
commit
b930ef1ce8
1 changed files with 11 additions and 80 deletions
  1. 11
    80
      src/mesa/main/dlist.c

+ 11
- 80
src/mesa/main/dlist.c View File

@@ -8032,17 +8032,8 @@ execute_list(struct gl_context *ctx, GLuint list)
CALL_LoadIdentity(ctx->Exec, ());
break;
case OPCODE_LOAD_MATRIX:
if (sizeof(Node) == sizeof(GLfloat)) {
CALL_LoadMatrixf(ctx->Exec, (&n[1].f));
}
else {
GLfloat m[16];
GLuint i;
for (i = 0; i < 16; i++) {
m[i] = n[1 + i].f;
}
CALL_LoadMatrixf(ctx->Exec, (m));
}
STATIC_ASSERT(sizeof(Node) == sizeof(GLfloat));
CALL_LoadMatrixf(ctx->Exec, (&n[1].f));
break;
case OPCODE_LOAD_NAME:
CALL_LoadName(ctx->Exec, (n[1].ui));
@@ -8088,17 +8079,7 @@ execute_list(struct gl_context *ctx, GLuint list)
CALL_MatrixMode(ctx->Exec, (n[1].e));
break;
case OPCODE_MULT_MATRIX:
if (sizeof(Node) == sizeof(GLfloat)) {
CALL_MultMatrixf(ctx->Exec, (&n[1].f));
}
else {
GLfloat m[16];
GLuint i;
for (i = 0; i < 16; i++) {
m[i] = n[1 + i].f;
}
CALL_MultMatrixf(ctx->Exec, (m));
}
CALL_MultMatrixf(ctx->Exec, (&n[1].f));
break;
case OPCODE_ORTHO:
CALL_Ortho(ctx->Exec,
@@ -8695,84 +8676,34 @@ execute_list(struct gl_context *ctx, GLuint list)
CALL_BindFragmentShaderATI(ctx->Exec, (n[1].i));
break;
case OPCODE_SET_FRAGMENT_SHADER_CONSTANTS_ATI:
{
GLfloat values[4];
GLuint i, dst = n[1].ui;

for (i = 0; i < 4; i++)
values[i] = n[1 + i].f;
CALL_SetFragmentShaderConstantATI(ctx->Exec, (dst, values));
}
CALL_SetFragmentShaderConstantATI(ctx->Exec, (n[1].ui, &n[2].f));
break;
case OPCODE_ATTR_1F_NV:
CALL_VertexAttrib1fNV(ctx->Exec, (n[1].e, n[2].f));
break;
case OPCODE_ATTR_2F_NV:
/* Really shouldn't have to do this - the Node structure
* is convenient, but it would be better to store the data
* packed appropriately so that it can be sent directly
* on. With x86_64 becoming common, this will start to
* matter more.
*/
if (sizeof(Node) == sizeof(GLfloat))
CALL_VertexAttrib2fvNV(ctx->Exec, (n[1].e, &n[2].f));
else
CALL_VertexAttrib2fNV(ctx->Exec, (n[1].e, n[2].f, n[3].f));
CALL_VertexAttrib2fvNV(ctx->Exec, (n[1].e, &n[2].f));
break;
case OPCODE_ATTR_3F_NV:
if (sizeof(Node) == sizeof(GLfloat))
CALL_VertexAttrib3fvNV(ctx->Exec, (n[1].e, &n[2].f));
else
CALL_VertexAttrib3fNV(ctx->Exec, (n[1].e, n[2].f, n[3].f,
n[4].f));
CALL_VertexAttrib3fvNV(ctx->Exec, (n[1].e, &n[2].f));
break;
case OPCODE_ATTR_4F_NV:
if (sizeof(Node) == sizeof(GLfloat))
CALL_VertexAttrib4fvNV(ctx->Exec, (n[1].e, &n[2].f));
else
CALL_VertexAttrib4fNV(ctx->Exec, (n[1].e, n[2].f, n[3].f,
n[4].f, n[5].f));
CALL_VertexAttrib4fvNV(ctx->Exec, (n[1].e, &n[2].f));
break;
case OPCODE_ATTR_1F_ARB:
CALL_VertexAttrib1fARB(ctx->Exec, (n[1].e, n[2].f));
break;
case OPCODE_ATTR_2F_ARB:
/* Really shouldn't have to do this - the Node structure
* is convenient, but it would be better to store the data
* packed appropriately so that it can be sent directly
* on. With x86_64 becoming common, this will start to
* matter more.
*/
if (sizeof(Node) == sizeof(GLfloat))
CALL_VertexAttrib2fvARB(ctx->Exec, (n[1].e, &n[2].f));
else
CALL_VertexAttrib2fARB(ctx->Exec, (n[1].e, n[2].f, n[3].f));
CALL_VertexAttrib2fvARB(ctx->Exec, (n[1].e, &n[2].f));
break;
case OPCODE_ATTR_3F_ARB:
if (sizeof(Node) == sizeof(GLfloat))
CALL_VertexAttrib3fvARB(ctx->Exec, (n[1].e, &n[2].f));
else
CALL_VertexAttrib3fARB(ctx->Exec, (n[1].e, n[2].f, n[3].f,
n[4].f));
CALL_VertexAttrib3fvARB(ctx->Exec, (n[1].e, &n[2].f));
break;
case OPCODE_ATTR_4F_ARB:
if (sizeof(Node) == sizeof(GLfloat))
CALL_VertexAttrib4fvARB(ctx->Exec, (n[1].e, &n[2].f));
else
CALL_VertexAttrib4fARB(ctx->Exec, (n[1].e, n[2].f, n[3].f,
n[4].f, n[5].f));
CALL_VertexAttrib4fvARB(ctx->Exec, (n[1].e, &n[2].f));
break;
case OPCODE_MATERIAL:
if (sizeof(Node) == sizeof(GLfloat))
CALL_Materialfv(ctx->Exec, (n[1].e, n[2].e, &n[3].f));
else {
GLfloat f[4];
f[0] = n[3].f;
f[1] = n[4].f;
f[2] = n[5].f;
f[3] = n[6].f;
CALL_Materialfv(ctx->Exec, (n[1].e, n[2].e, f));
}
CALL_Materialfv(ctx->Exec, (n[1].e, n[2].e, &n[3].f));
break;
case OPCODE_BEGIN:
CALL_Begin(ctx->Exec, (n[1].e));

Loading…
Cancel
Save