diff options
Diffstat (limited to 'mesalib/src/mesa/swrast_setup/NOTES')
-rw-r--r-- | mesalib/src/mesa/swrast_setup/NOTES | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/mesalib/src/mesa/swrast_setup/NOTES b/mesalib/src/mesa/swrast_setup/NOTES deleted file mode 100644 index c6cb4ab34..000000000 --- a/mesalib/src/mesa/swrast_setup/NOTES +++ /dev/null @@ -1,65 +0,0 @@ -INTRODUCTION - -A helper module which provides glue to bind the software rasterizer to -the software t&l module. The main task of this module is to build -swrast vertices from the t&l vertex_buffer structs, and to use them to -perform triangle setup functions not implemented in the software -rasterizer. - -The module implements a full set of functions to plug into the -t_vb_render.c driver interface (tnl->Driver.Render.*). - -There are strong advantages to decoupling the software rasterizer from -the t&l module, primarily allowing hardware drivers better control -over fallbacks, the removal of implicit knowledge about the software -rasterizer in the t&l module, allowing the two modules to evolve -independently and allowing either to be substituted with equivalent -functionality from another codebase. - -This module implements triangle/quad setup for offset, unfilled and -twoside-lit triangles. The software rasterizer doesn't handle these -primitives directly. - -Hardware rasterization drivers typically use this module in situations -where no hardware rasterization is possible, ie during total -fallbacks. - -STATE - -To create and destroy the module: - - GLboolean _swsetup_CreateContext( GLcontext *ctx ); - void _swsetup_DestroyContext( GLcontext *ctx ); - -The module is not active by default, and must be installed by calling -_swrast_Wakeup(). This function installs internal swrast_setup -functions into all the tnl->Driver.Render driver hooks, thus taking -over the task of rasterization entirely: - - void _swrast_Wakeup( GLcontext *ctx ); - - -This module tracks state changes internally and maintains derived -values based on the current state. For this to work, the driver -ensure the following funciton is called whenever the state changes and -the swsetup module is 'awake': - - void _swsetup_InvalidateState( GLcontext *ctx, GLuint new_state ); - -There is no explicit call to put the swsetup module to sleep. Simply -install other function pointers into all the tnl->Driver.Render.* -hooks, and (optionally) cease calling _swsetup_InvalidateState(). - -DRIVER INTERFACE - -The module offers a minimal driver interface: - - void (*Start)( GLcontext *ctx ); - void (*Finish)( GLcontext *ctx ); - -These are called before and after the completion of all swrast drawing -activity. As swrast doesn't call callbacks during triangle, line or -point rasterization, these are necessary to provide locking hooks for -some drivers. They may otherwise be left null. - - |