diff options
author | Keith Whitwell <[email protected]> | 2001-01-29 20:47:39 +0000 |
---|---|---|
committer | Keith Whitwell <[email protected]> | 2001-01-29 20:47:39 +0000 |
commit | 5c1e7fa6ee72f4403d9ec9d12830dd689b966e71 (patch) | |
tree | 8cb11c26af178632b05de9c5b2f53c32331475c5 /src/mesa/drivers/osmesa/osmesa.c | |
parent | 4b90e68ac6d0fe4ffca5e2cd51794bb4350cac28 (diff) |
Removed knowledge of swrast Clear/Bitmap/Accum/Draw/Read/CopyPixels
functions from core mesa -- if drivers need these fallbacks they
must now call them themselves.
Introduced hooks for clip-vertex-interpolation and the rendering
of clipped lines and polygons. Allows drivers to interpolate
their hardware-format vertices directly. Used in dri drivers to
replace fastpath code.
Slight optimizations to pipeline build/run routines.
Diffstat (limited to 'src/mesa/drivers/osmesa/osmesa.c')
-rw-r--r-- | src/mesa/drivers/osmesa/osmesa.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/mesa/drivers/osmesa/osmesa.c b/src/mesa/drivers/osmesa/osmesa.c index 36e306cf6ec..69fba7f3c73 100644 --- a/src/mesa/drivers/osmesa/osmesa.c +++ b/src/mesa/drivers/osmesa/osmesa.c @@ -1,4 +1,4 @@ -/* $Id: osmesa.c,v 1.41 2001/01/24 00:04:58 brianp Exp $ */ +/* $Id: osmesa.c,v 1.42 2001/01/29 20:47:39 keithw Exp $ */ /* * Mesa 3-D graphics library @@ -1775,7 +1775,13 @@ static void osmesa_update_state( GLcontext *ctx, GLuint new_state ) ctx->Driver.SetDrawBuffer = set_draw_buffer; ctx->Driver.SetReadBuffer = set_read_buffer; + ctx->Driver.Accum = _swrast_Accum; + ctx->Driver.Bitmap = _swrast_Bitmap; ctx->Driver.Clear = clear; + ctx->Driver.CopyPixels = _swrast_CopyPixels; + ctx->Driver.DrawPixels = _swrast_DrawPixels; + ctx->Driver.ReadPixels = _swrast_ReadPixels; + ctx->Driver.ResizeBuffersMESA = _swrast_alloc_buffers; ctx->Driver.GetBufferSize = buffer_size; @@ -1787,6 +1793,10 @@ static void osmesa_update_state( GLcontext *ctx, GLuint new_state ) ctx->Driver.RenderPrimitive = _swsetup_RenderPrimitive; ctx->Driver.RenderStart = _swsetup_RenderStart; ctx->Driver.RenderFinish = _swsetup_RenderFinish; + ctx->Driver.RenderInterp = _swsetup_RenderInterp; + ctx->Driver.RenderCopyPV = _swsetup_RenderCopyPV; + ctx->Driver.RenderClippedLine = _swsetup_RenderClippedLine; + ctx->Driver.RenderClippedPolygon = _swsetup_RenderClippedPolygon; /* RGB(A) span/pixel functions */ if (osmesa->format == OSMESA_RGB) { |