X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fswrast_setup%2Fswrast_setup.h;h=537c45c292e38226f12ecb392bb7c71448562cda;hb=9e2a9d5743246e0fdaa03fe90f8dc341cea10907;hp=f3f8941a40ff7b06531ec010492b8ba8020fd375;hpb=5c1e7fa6ee72f4403d9ec9d12830dd689b966e71;p=mesa.git diff --git a/src/mesa/swrast_setup/swrast_setup.h b/src/mesa/swrast_setup/swrast_setup.h index f3f8941a40f..537c45c292e 100644 --- a/src/mesa/swrast_setup/swrast_setup.h +++ b/src/mesa/swrast_setup/swrast_setup.h @@ -1,90 +1,61 @@ + /* * Mesa 3-D graphics library - * Version: 3.5 - * - * Copyright (C) 1999 Brian Paul All Rights Reserved. - * + * + * Copyright (C) 1999-2001 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"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: - * + * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * 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. + * THE AUTHORS OR COPYRIGHT HOLDERS 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 + * Keith Whitwell */ /* Public interface to the swrast_setup module. This module provides * an implementation of the driver interface to t_vb_render.c, and uses * the software rasterizer (swrast) to perform actual rasterization. + * + * The internals of the implementation are private, but can be hooked + * into tnl at any time (except between RenderStart/RenderEnd) by + * calling _swsetup_Wakeup(). */ #ifndef SWRAST_SETUP_H #define SWRAST_SETUP_H -extern GLboolean -_swsetup_CreateContext( GLcontext *ctx ); - -extern void -_swsetup_DestroyContext( GLcontext *ctx ); +#include "swrast/swrast.h" -extern void -_swsetup_InvalidateState( GLcontext *ctx, GLuint new_state ); - -extern void -_swsetup_BuildProjectedVertices( GLcontext *ctx, - GLuint start, - GLuint end, - GLuint new_inputs ); - -extern void -_swsetup_Quad( GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2, GLuint v3 ); - -extern void -_swsetup_Triangle( GLcontext *ctx, GLuint v0, GLuint v1, GLuint v2 ); - -extern void -_swsetup_Line( GLcontext *ctx, GLuint v0, GLuint v1 ); - -extern void -_swsetup_Points( GLcontext *ctx, GLuint first, GLuint last ); +extern GLboolean +_swsetup_CreateContext( struct gl_context *ctx ); extern void -_swsetup_RenderPrimitive( GLcontext *ctx, GLenum mode ); +_swsetup_DestroyContext( struct gl_context *ctx ); extern void -_swsetup_RenderStart( GLcontext *ctx ); +_swsetup_InvalidateState( struct gl_context *ctx, GLuint new_state ); extern void -_swsetup_RenderFinish( GLcontext *ctx ); - -extern void -_swsetup_RenderProjectInterpVerts( GLcontext *ctx ); - -extern void -_swsetup_RenderInterp( GLcontext *ctx, GLfloat t, - GLuint dst, GLuint out, GLuint in, - GLboolean force_boundary ); -extern void -_swsetup_RenderCopyPV( GLcontext *ctx, GLuint dst, GLuint src ); - -extern void -_swsetup_RenderClippedPolygon( GLcontext *ctx, const GLuint *elts, GLuint n ); +_swsetup_Wakeup( struct gl_context *ctx ); +/* Helper function to translate a hardware vertex (as understood by + * the tnl/t_vertex.c code) to a swrast vertex. + */ extern void -_swsetup_RenderClippedLine( GLcontext *ctx, GLuint ii, GLuint jj ); - - +_swsetup_Translate( struct gl_context *ctx, const void *vertex, SWvertex *dest ); #endif