combinations of compile and execute modes.
Most current drivers use the tnl module exclusively to provide this
combinations of compile and execute modes.
Most current drivers use the tnl module exclusively to provide this
- GLboolean _tnl_CreateContext( GLcontext *ctx );
- void _tnl_DestroyContext( GLcontext *ctx );
+ GLboolean _tnl_CreateContext( struct gl_context *ctx );
+ void _tnl_DestroyContext( struct gl_context *ctx );
The module is not active by default, and must be installed by calling
_tnl_Wakeup(). This function installs internal tnl functions into all
the vtxfmt dispatch hooks, thus taking over the task of transformation
and lighting entirely:
The module is not active by default, and must be installed by calling
_tnl_Wakeup(). This function installs internal tnl functions into all
the vtxfmt dispatch hooks, thus taking over the task of transformation
and lighting entirely:
ensure the following funciton is called whenever the state changes and
the swsetup module is 'awake':
ensure the following funciton is called whenever the state changes and
the swsetup module is 'awake':
There is no explicit call to put the tnl module to sleep. Simply
install other function pointers into all the vtxfmt dispatch slots,
There is no explicit call to put the tnl module to sleep. Simply
install other function pointers into all the vtxfmt dispatch slots,
The default pipeline is specified in t_pipeline.c, and is usually a
starting point for driver pipelines. Some drivers will remove a stage
where hardware provides support for the implemented operation (for
The default pipeline is specified in t_pipeline.c, and is usually a
starting point for driver pipelines. Some drivers will remove a stage
where hardware provides support for the implemented operation (for
-instance fog where per-pixel hardware fog is available, as in the dri
-tdfx driver), or add stages to shortcircuit latter operations (for
+instance fog where per-pixel hardware fog is available),
+or add stages to shortcircuit latter operations (for
example taking advantage of hardware support for strips and other
higher-level primitives (for example the radeon driver).
In addition, the following functions provide further tweaks:
extern void
example taking advantage of hardware support for strips and other
higher-level primitives (for example the radeon driver).
In addition, the following functions provide further tweaks:
extern void
- Direct the display list component of the tnl module to
replay display lists as 'glVertex' type calls, rather than
- Direct the display list component of the tnl module to
replay display lists as 'glVertex' type calls, rather than
- Direct the display list component to enable/disable caching
1/length values for display list normals. Doing so is
- Direct the display list component to enable/disable caching
1/length values for display list normals. Doing so is
Normally this is set to _tnl_RunPipeline(), however the driver can use
this hook to wrap checks or other code around this call.
Normally this is set to _tnl_RunPipeline(), however the driver can use
this hook to wrap checks or other code around this call.