summaryrefslogtreecommitdiff
path: root/src/mesa/main/dd.h
AgeCommit message (Collapse)Author
2005-05-24Change prototype for TextureMemCpy to return void* (was void).Karl Schultz
2005-05-23Import Thomas Helstrom's SSE memcpy code from the via X.org driver.Keith Whitwell
Add a TextureMemCpy callback, called from texstore.c when copying texture data via the memcpy_texture() path. Enable this code in the via driver - 100% speedup in texdown.c results.
2005-05-04Major check-in of changes for GL_EXT_framebuffer_object extension.Brian Paul
Main driver impacts: - new code for creating the Mesa GLframebuffer - new span/pixel read/write code Some drivers not yet updated/tested.
2005-03-22add FreeTexImageData hook to help single-copy texturing in driversKeith Whitwell
2005-02-24More GL_EXT_framebuffer_object: rename some things, added device driver hooks.Brian Paul
2005-01-22Determine ahead of time whether a display list will include verticesKeith Whitwell
which have to be processed in the 'loopback' path. If so, send all vertices that way as the transition from playback->loopback has several problems.
2005-01-12Some initial work for OpenGL 2.0: glStencilFunc/Op/MaskSeparate() functions.Brian Paul
2004-12-12Added driver hooks for GetTexImage() and GetCompressedTexImage().Brian Paul
Added fallback _mesa_get_[compressed]_teximage() routines to texstore.c
2004-11-27Change the dispatch offsets for the VertexAttrib*NV functions so they don'tBrian Paul
alias with the corresponding ARB functions. GL_ARB_vertex_shader (and OpenGL 2.0's) VertexAttrib functions don't alias with conventional vertex attributes, as GL_NV_vertex_program does. So, the ARB and NV version of VertexAttrib need to be distinct.
2004-10-02added support for GL_ARB_draw_buffersBrian Paul
2004-05-14minor doxygen updatesBrian Paul
2004-04-27Removed the old teximage code.Brian Paul
Moved all code related to specific texture compression modes into new texcompress_s3tc.c and texcompress_fxt1.c files (but not implemented).
2004-03-21Implemented support for software-based AUX color buffers.Brian Paul
Only available with Xlib driver for now. Assorted clean-ups related to Draw/ReadBuffer(). Renamed FRONT_LEFT_BIT -> DD_FRONT_LEFT_BIT, etc.
2004-02-14Make it easier for drivers to create "subclasses" of the existingKeith Whitwell
program struct hierarchy. Add driver callbacks to enable the above and make it possible to track more changes to program objects.
2004-01-27Added support for EXT_blend_equation_separate / ATI_blend_equation_separate.Ian Romanick
The internal driver interface was also changed to use BlendEquationSeparate instead of BlendEquation.
2004-01-23added device driver hooks for BindProgram, NewProgram, DeleteProgramBrian Paul
2004-01-21Remove dd_function_table::BlendFunc. All drivers now useIan Romanick
dd_function_table:BlendFuncSeparate. If a driver does not actually support EXT_blend_func_separate, it can assume that the RGB and alpha blend functions are the same.
2004-01-20Before calling _mesa_create_context(), initialize a dd_function_table structBrian Paul
by calling _mesa_init_driver_functions() and then plugging in the driver- specific functions. In particular, make sure ctx->Driver.NewTextureObject points to the appropriate driver function so that _all_ texture objects are augmented with the driver-specific data. Put in a bunch of assertions in the texture-related driver functions that texObj->DriverData is valid. Remove old dead code in near future.
2003-11-24Merge vtx-0-2-branchKeith Whitwell
2003-10-29texture compressionDaniel Borca
2003-10-21Added GLAPIENTRY decorations for all first level OpenGL API function entryKendall Bennett
points so that the calling conventions will work correctly with the assembler stubs with the Open Watcom compiler.
2003-09-17move some functions, add some commentsBrian Paul
2003-09-09Added most of the infrastructure required to supportIan Romanick
ARB_vertex_buffer_object. THIS IS INCOMPLETE.
2003-07-17Merge Jose's documentation and core Mesa changes from embedded branchKeith Whitwell
2003-06-05Removed all RCS / CVS tags (Id, Header, Date, etc.) from everything.Ian Romanick
2003-04-01New device driver hooks for texture object and texture image creation toBrian Paul
allow drivers to implement C++-like inheritance via containment. Lots of assorted clean-ups related to texture objects.
2002-10-11Another round of glRead/DrawBuffer() clean-ups and simplifications.Brian Paul
Replaced ctx->Color._DriverDrawBuffer with swrast->CurrentBuffer. Replaced ctx->Pixel._DriverReadBuffer with ctx->Pixel._ReadSrcMask. swrast->Driver.SetBuffer() takes FRONT/BACK_LEFT/RIGHT_BIT values now. Added tokens and code for GL_AUX buffers, for completeness.
2002-10-04Changed a number of context fields from GLchan to GLfloat (such as ClearColor).Brian Paul
Also changed parameter types for some driver functions (like ctx->Driver.Clear- Color). Updated all the device drivers. Someday, we want to support 8, 16 and 32-bit channels dynamically at runtime.
2002-09-27new texture compression infrastructureBrian Paul
2002-09-06GL_EXT_stencil_two_side extension, not 100% complete yet.Brian Paul
2002-07-09Overhaul of glRead/DrawBuffer() code. Now, swrast->Driver.SetBuffer()Brian Paul
indicates the read AND draw color buffer for all software rasterization. Lots of related clean-ups. See RELNOTES-4.1 for details.
2002-06-15Added ctx parameter to _mesa_debug()Brian Paul
Added _mesa_printf() Updated SetDrawBuffer() function in all drivers (ala 4.0.3) Import 4.0.3/DRI changes.
2002-04-21vertex program attribute array workBrian Paul
2002-03-16buffer resize changesBrian Paul
2002-02-13More suport for t&l driversKeith Whitwell
Fix GLuint compare bugs Fix RESET_STIPPLE calls
2001-12-14vertex program check-inBrian Paul
2001-12-04dispatch changes to minimize hassle with XFree86 libGLBrian Paul
2001-11-18API dispath updatesBrian Paul
2001-06-15Enable GL_ARB_texture_compression for XMesa/GLX driver. TextureBrian Paul
compression isn't really implmented. Just updated glTexImageXD() to accept compressed internal format tokens.
2001-04-04More texture image changes.Brian Paul
1. Added ctx->Driver.ChooseTextureFormat() function. Examines user's internalFormat, format, type params and returns a gl_texture_format. 2. _mesa_store_teximage[123]d() calls ctx->Driver.ChooseTextureFormat(), allocates storage and transfers the image into the desired format. 3. _mesa_transfer_teximage() now takes a gl_texture_format to describe the destination format. Any combination of input format/type and output gl_texture_format is accepted. Uses optimized _mesa_convert_- texsubimage[123]d() functions when possible. 3. DRI driver's TexImage[123]D functions should be a lot simpler now.
2001-03-22Add PolygonOffset driver callback.Gareth Hughes
2001-03-19Split driver struct into swrast/tnl/core components.Keith Whitwell
2001-03-12Consistent copyright info (version number, date) across all files.Gareth Hughes
2001-03-11Support for swappable tnl modules.Gareth Hughes
Core Mesa provides a neutral tnl module that verifies the currently module before installing the tnl function pointers in a lazy fashion. It also records which tnl functions have been swapped out, and only restores these when tnl modules themselves are swapped. Fallback strategies: Drivers set a bitmask of dangerous stage changes. When such a state change occurs, the driver should restore the neutral tnl module via _mesa_restore_exec_vtxfmt(). The neutral tnl module will call _mesa_update_state(), followed by ctx->Driver.ValidateTnlModule() if the validation bitmask matches the new state bitmask. The driver should call _tnl_wakeup_exec() if it can no longer handle the current state, which will revert to the default tnl module. In this case, previous vertices should be replayed as required (depending on the current primitive) after the new tnl module is installed. If the driver uses chooser functions for any part of the tnl module, these should generally be reinstalled as part of the fallback to the neutral tnl module. For example, if the lighting state changes, a driver might fall back to the neutral tnl module, verify that the current lighting state can be handled, and use the chooser function to pick the most efficient implementation of the current lighting state. It is up to the drivers to detect and handle fallback cases caused by tnl function calls themselves (such as glTexCoord4f* if the current tnl module can't handle projected textures, for example).
2001-03-07added Driver.BlendColor() function, for completenessBrian Paul
2001-03-03changed AlphaFunc() ref from GLclampf to GLchanBrian Paul
2001-02-24Template workKeith Whitwell
2001-02-19Updated Driver.CopyTexImage[12]D and Driver.CopyTexSubImage[123]D functionsBrian Paul
so they work like the other teximage functions. Added fallback routines to texstore.c for drivers to use.
2001-02-15Fix propogation of material values in VB's that don't reach the lightingKeith Whitwell
stage. (Materials now treated more like colors, etc.). Continue whipping the dd templates into shape. Remove old NormalLength code; may come back as a driver helper, but not useful for, eg. hardware t&l drivers.
2001-02-06Overhaul of texture image handling.Brian Paul
1. gl_texture_image struct's Data pointer points to images in driver's format. 2. Added FetchTexel() function pointer to struct gl_texture_image. 3. Changed Driver Tex[Sub]Image functions, return void now. 4. Texture storage/fetch code in new texstore.c file. 5. Removed texture.[ch] - functions moved to state.c Note: FX driver updates not finished yet.