summaryrefslogtreecommitdiff
path: root/src/mesa/main/dlist.c
AgeCommit message (Collapse)Author
2009-04-01mesa: fix a recursive display list problemBrian Paul
This fixes an issue when compiling glCallList() into another display list when the mode is GL_COMPILE_AND_EXECUTE. Before, the call to glCallList() called _mesa_save_CallList() which called neutral_CallList() which then called _mesa_save_CallList() again. In the end, the parent display list contained two calls to the child display list instead of one. Let's be on the lookout for regressions caused by this change for a while before we cherry-pick this elsewhere.
2009-03-17mesa: update/fix doxygen commentsVinson Lee
2009-03-12mesa: add support for ATI_envmap_bumpmapRoland Scheidegger
add new entrypoints, new texture format, etc translate in texenvprogram.c for drivers using the mesa-generated tex env fragment program also handled in swrast, but not tested (cannot work due to negative texel results not handled correctly)
2009-02-22mesa: move a bunch of compiler-related stuff into new compiler.h headerBrian Paul
This trims down and cleans up imports.h and glheader.h quite a bit.
2009-02-12mesa: don't include m_xform.h where not neededBrian Paul
2009-01-31mesa: more display list cleanupsBrian
Remove some unneeded fields. Rename some function parameters.
2009-01-31mesa: display list clean-upsBrian
Rename some structs and fields to be more consistant with the rest of mesa.
2008-12-01mesa: fix conditional in save_Lightfv(), bug 18838Brian
2008-10-10mesa: remove unneeded includesBrian Paul
2008-09-23mesa: Apply MSVC portability fixes from Alan Hourihane.José Fonseca
2008-09-21mesa: fix errors in prev commitBrian Paul
2008-09-21mesa: revamp glBlendFunc loopbackBrian Paul
2008-09-21mesa: refactor: move _mesa_resizebuffers(), _mesa_ResizeBuffersMESA() to ↵Brian Paul
framebuffer.c (cherry picked from commit 9091015a9782ad15e58540a8fd61df83ea2bfe31)
2008-09-15mesa: get another class of degenerate dlists workingKeith Whitwell
Primitive begin in one dlist, end in another.
2008-05-06Add support for ATI_separate_stencil in display lists.Michal Wajdeczko
2008-05-01fix conversion of GLfloat display list IDsBrian Paul
Use floor() to convert to int (per Mark Kildard and the SI). Also, change translate_id() to return a signed integer since we may be offsetting from GL_LIST_BASE.
2008-03-25implement glGet/BindAttribLocationARB() for display listsBrian
More such shader functions are needed...
2007-11-09alias ProgramEnvParameter4xyARB and ProgramParameter4xyNV (bug #12935)Roland Scheidegger
these should be the same functions (as per spec).
2007-08-24remove CallDepth++/-- accidentally removed in prev commitBrian
2007-08-23remove unneeded CallStack arrayBrian
2007-07-30remove old comment, minor formatting fixesBrian
2007-07-30Fix an error related to glPolygonStipple.Xiang, Haihao
As glPixelStore(GL_UNPACK) affect the bits into a stipple pattern, hence 128 bytes used to store the pattern in a display list aren't enough sometimes.
2007-07-04Be more consistant with paths in #includes. Eventually, eliminate a bunch ↵Brian
of -I flags.
2007-05-21remove some whitespaceBrian
2007-04-21Rename occlude.[ch] to queryobj.[ch]Brian
2007-02-02Merge branch 'vbo-0.2'Keith Whitwell
Conflicts: src/mesa/main/texcompress_s3tc.c src/mesa/tnl/t_array_api.c
2007-01-23fixes for C++ warnings/errorsBrian
2007-01-16Don't special-case index, edgeflag.Keith Whitwell
Remove display list opcodes for INDEX and EDGEFLAG, handle them through the regular ATTRIB mechanism now that Mesa understands them to just be regular attribs.
2006-11-02Rename _mesa_IsProgram() to _mesa_IsProgramARB() to avoid collision with theBrian Paul
OpenGL 2.0 function of the same name.
2006-10-11Fix bug #4681.Ian Romanick
glDeleteTextures and glDeleteTexturesEXT were erroneously listed as aliases of each other. For anything /except/ GLX protocol they are aliases. This set of changes allows functions that are functionally identical but have different GLX protocol to be listed as aliases. When building with GLX_INDIRECT_RENDERING set, different static functions are used. These functions determine whether the current context is direct rendering or not. If the context is direct rendering, the aliased function (e.g., glDeleteTextures in the case of glDeleteTexturesEXT) is called. If the context is not direct rendering, the correct GLX protocol is sent. For a deeper explanation of what is changed, please see: http://dri.freedesktop.org/wiki/PartiallyAliasedFunctions
2006-08-24GL_EXT_paletted_texture functions should alias GL_SGI_color_table functions.Ian Romanick
The functions for GL_EXT_paletted_texture that do not share GLX protocol with GL_ARB_imaging are supposed to alias the similar functions from GL_SGI_color_table. They didn't. This patch corrects this problem and enables GLX protocol for both extensions. Since this removes 3 entries from the dispatch table, this change creates a lot of changes in the generated files.
2006-08-17change #ifdef to #ifBrian Paul
2006-08-15Add support for GL_EXT_gpu_program_parameters. Any driver that enablesIan Romanick
either GL_ARB_vertex_program or GL_ARB_fragment_program should enable this extension as well.
2006-06-30Added _mesa_delete_list() to delete a display list, but don't remove fromBrian Paul
hash table. Make _mesa_destroy_list() static.
2006-06-12Add support for GL_APPLE_vertex_array_object. Several test programsIan Romanick
and demos are also added. Adding basic support to drivers should be as easy as just enabling the extension, though thorough test would also be required.
2006-04-25Put color index attribute into the 6th attribute slot.Brian Paul
Update a lot of loops, conditionals to use the _TNL_FIRST/LAST_* values instead of specific vertex attributes. Remove the EdgeFlagv function from the GLvertexformat struct.
2006-04-21pass color index as float, not intBrian Paul
2006-04-11More GLSL code:Michal Krol
- use macros to access and modify render inputs bit-field; - un-alias generic vertex attributes for ARB vertex calls; - use MAX_VERTEX_PROGRAM_ATTRIBS (NV code) or MAX_VERTEX_ATTRIBS (ARB code) in place of VERT_ATTRIB_MAX; - define VERT_ATTRIB_GENERIC0..15 for un-aliased vertex attributes for ARB_vertex_shader; - fix generic attribute index range check in arbprogparse.c; - interface GLSL varyings between vertex and fragment shader; - use 64-bit optimised bitset (bitset.h) for render inputs;
2006-03-01No need for _mesa_save_error() to be public.Brian Paul
glVertexAttrib() w/ bad index should generate GL_INVALID_VALUE, not GL_INVALID_ENUM. Misc clean-ups.
2006-03-01added BlitFramebuffer() supportBrian Paul
2006-02-26re-formated with indent.Brian Paul
2006-02-26Remove need to initialize the InstSize[] array elements by just storingBrian Paul
the instruction size in _mesa_alloc_instruction().
2006-02-26display list clean-upsBrian Paul
2005-12-14Removed the GL_SGIX/SGIS_pixel_texture extensions. Same thing can beBrian Paul
done with fragment programs nowadays.
2005-11-11Make _mesa_is_proxy_texture() non-static and use in a few more places.Brian Paul
Use COPY_4FV() where possible. Added some comments, clean-ups.
2005-07-18Wrap every place that accesses a dispatch table with a macro. A new script-Ian Romanick
generated file, called src/mesa/glapi/dispatch.h, is added. This file contains three macros for each API function. It contains a GET, a SET, and a CALL. Each of the macros take a pointer to the context and a pointer to the dispatch table. In several threads on mesa3d-dev we discussed replacing _glapi_add_entrypoint with a new function called _glapi_add_dispatch. For this discussion, the important difference between the two is that the caller of _glapi_add_dispatch does *not* know what the dispatch offset will be at compile time. Because of this callers need to track the dispatch offset returned by _glapi_add_dispatch. http://marc.theaimsgroup.com/?t=111947074700001&r=1&w=2 The downside is that driver code then has to access the dispatch table two different ways. It accesses it using structure tags (e.g., exec->Begin) for functions with fixed offsets and via a remap table (e.g., exec[ remap->NewExtensionFunction ]) for functions without fixed offsets. Yuck! Using the macros allows both types of functions to be accessed identically. If a driver needs to set a pointer for Begin, it does 'SET_Begin(ctx, exec, my_begin_function)'. If it needs to set a pointer for NewExtensionFunction, it does 'SET_NewExtensionFunction(ctx, exec, my_NewExtensionFunction_function)'. Furthermore, if at some point in the future a static offset is assigned for NewExtensionFunction, only the macros need to change (instead of every single place that accesses a table for that function). This code differs slightly from the originally posted patches in that the CALL, GET, and SET marcos no longer take a context pointer as a parameter. Brian Paul had suggested that the remap table could be stored as a global since it would be set at CreateScreen time and would be constant for all contexts. This change reflects that feedback. http://marc.theaimsgroup.com/?t=112087194700001&r=1&w=2
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-02-11mesa-main-0-NULL.patch from Jeff MuizelaarKeith Whitwell
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