mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 03:08:05 +02:00
added support for NV_vertex_program evaluators
This commit is contained in:
parent
837bf6e2df
commit
455d262c55
1 changed files with 15 additions and 12 deletions
|
|
@ -1,10 +1,10 @@
|
|||
/* $Id: t_eval_api.c,v 1.10 2002/04/19 12:32:14 brianp Exp $ */
|
||||
/* $Id: t_eval_api.c,v 1.11 2002/06/23 02:36:27 brianp Exp $ */
|
||||
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 3.5
|
||||
* Version: 4.1
|
||||
*
|
||||
* Copyright (C) 1999-2001 Brian Paul All Rights Reserved.
|
||||
* Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
|
|
@ -22,6 +22,10 @@
|
|||
* BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* Authors:
|
||||
* Keith Whitwell - original code
|
||||
* Brian Paul - vertex program updates
|
||||
*/
|
||||
|
||||
|
||||
|
|
@ -40,9 +44,6 @@
|
|||
#include "t_imm_exec.h"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* KW: If are compiling, we don't know whether eval will produce a
|
||||
* vertex when it is run in the future. If this is pure immediate
|
||||
* mode, eval is a noop if neither vertex map is enabled.
|
||||
|
|
@ -61,7 +62,8 @@ _tnl_exec_EvalMesh1( GLenum mode, GLint i1, GLint i2 )
|
|||
GLenum prim;
|
||||
ASSERT_OUTSIDE_BEGIN_END(ctx);
|
||||
|
||||
/* fprintf(stderr, "%s\n", __FUNCTION__); */
|
||||
if (MESA_VERBOSE & VERBOSE_API)
|
||||
_mesa_debug(ctx, "glEvalMesh1()");
|
||||
|
||||
switch (mode) {
|
||||
case GL_POINT:
|
||||
|
|
@ -77,7 +79,8 @@ _tnl_exec_EvalMesh1( GLenum mode, GLint i1, GLint i2 )
|
|||
|
||||
/* No effect if vertex maps disabled.
|
||||
*/
|
||||
if (!ctx->Eval.Map1Vertex4 && !ctx->Eval.Map1Vertex3)
|
||||
if (!ctx->Eval.Map1Vertex4 && !ctx->Eval.Map1Vertex3 &&
|
||||
(!ctx->VertexProgram.Enabled || !ctx->Eval.Map1Attrib[VERT_ATTRIB_POS]))
|
||||
return;
|
||||
|
||||
du = ctx->Eval.MapGrid1du;
|
||||
|
|
@ -146,14 +149,15 @@ _tnl_exec_EvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 )
|
|||
GLfloat u, du, v, dv, v1, u1;
|
||||
ASSERT_OUTSIDE_BEGIN_END(ctx);
|
||||
|
||||
/* fprintf(stderr, "%s\n", __FUNCTION__); */
|
||||
if (MESA_VERBOSE & VERBOSE_API)
|
||||
_mesa_debug(ctx, "glEvalMesh2()");
|
||||
|
||||
/* No effect if vertex maps disabled.
|
||||
*/
|
||||
if (!ctx->Eval.Map2Vertex4 && !ctx->Eval.Map2Vertex3)
|
||||
if (!ctx->Eval.Map2Vertex4 && !ctx->Eval.Map2Vertex3 &&
|
||||
(!ctx->VertexProgram.Enabled || !ctx->Eval.Map2Attrib[VERT_ATTRIB_POS]))
|
||||
return;
|
||||
|
||||
|
||||
du = ctx->Eval.MapGrid2du;
|
||||
dv = ctx->Eval.MapGrid2dv;
|
||||
v1 = ctx->Eval.MapGrid2v1 + j1 * dv;
|
||||
|
|
@ -236,7 +240,6 @@ _tnl_exec_EvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 )
|
|||
}
|
||||
|
||||
|
||||
|
||||
void _tnl_eval_init( GLcontext *ctx )
|
||||
{
|
||||
GLvertexformat *vfmt = &(TNL_CONTEXT(ctx)->vtxfmt);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue