core | glapi | vbo | math | shader | swrast | swrast_setup | tnl | tnl_dd

vtxfmt.c File Reference

#include "glheader.h"
#include "api_loopback.h"
#include "context.h"
#include "imports.h"
#include "mtypes.h"
#include "state.h"
#include "vtxfmt.h"
#include "vtxfmt_tmp.h"

Defines

#define PRE_LOOPBACK(FUNC)
#define TAG(x)   neutral_##x

Functions

static void install_vtxfmt (struct _glapi_table *tab, const GLvertexformat *vfmt)
 Use the per-vertex functions found in <vfmt> to initialze the given API dispatch table.
void _mesa_init_exec_vtxfmt (GLcontext *ctx)
void _mesa_install_exec_vtxfmt (GLcontext *ctx, const GLvertexformat *vfmt)
void _mesa_install_save_vtxfmt (GLcontext *ctx, const GLvertexformat *vfmt)
void _mesa_restore_exec_vtxfmt (GLcontext *ctx)


Define Documentation

#define PRE_LOOPBACK ( FUNC   ) 

Value:

{                                                                       \
   GET_CURRENT_CONTEXT(ctx);                                            \
   struct gl_tnl_module * const tnl = &(ctx->TnlModule);                \
   const int tmp_offset = _gloffset_ ## FUNC ;                          \
                                                                        \
   ASSERT( tnl->Current );                                              \
   ASSERT( tnl->SwapCount < NUM_VERTEX_FORMAT_ENTRIES );                \
   ASSERT( tmp_offset >= 0 );                                           \
                                                                        \
   if (tnl->SwapCount == 0)                                             \
      ctx->Driver.BeginVertices( ctx );                                 \
                                                                        \
   /* Save the swapped function's dispatch entry so it can be */        \
   /* restored later. */                                                \
   tnl->Swapped[tnl->SwapCount].location = & (((_glapi_proc *)ctx->Exec)[tmp_offset]); \
   tnl->Swapped[tnl->SwapCount].function = (_glapi_proc)TAG(FUNC);      \
   tnl->SwapCount++;                                                    \
                                                                        \
   if ( 0 )                                                             \
      _mesa_debug(ctx, "   swapping gl" #FUNC"...\n" );                 \
                                                                        \
   /* Install the tnl function pointer. */                              \
   SET_ ## FUNC(ctx->Exec, tnl->Current->FUNC);                         \
}

#define TAG (  )     neutral_##x


Function Documentation

void _mesa_init_exec_vtxfmt ( GLcontext ctx  ) 

void _mesa_install_exec_vtxfmt ( GLcontext ctx,
const GLvertexformat vfmt 
)

void _mesa_install_save_vtxfmt ( GLcontext ctx,
const GLvertexformat vfmt 
)

void _mesa_restore_exec_vtxfmt ( GLcontext ctx  ) 

static void install_vtxfmt ( struct _glapi_table *  tab,
const GLvertexformat vfmt 
) [static]

Use the per-vertex functions found in <vfmt> to initialze the given API dispatch table.


Generated on Sun Sep 27 06:47:46 2009 for Mesa Main by  doxygen 1.5.4