summaryrefslogtreecommitdiff
path: root/src/mesa/main/dlist.c
AgeCommit message (Collapse)Author
2009-10-07mesa: clean up extended opcode codeBrian Paul
2009-10-07mesa: move gl_list_instruction and gl_list_extensions to dlist.cBrian Paul
2009-10-07mesa: added _mesa_free_display_list_data()Brian Paul
2009-10-07mesa: clean-up display list mem allocation, fix NULL handlingBrian Paul
The -1 term in alloc_instruction() foiled later NULL pointer checks.
2009-10-07main: replace ALLOC_INSTRUCTION macro with regular functionBrian Paul
2009-10-07mesa: rename display list functionsBrian Paul
_mesa_alloc_instruction() sounded like it was related to vertex/fragment program instructions, but it wasn't.
2009-10-05Merge branch 'mesa_7_6_branch'Brian Paul
Conflicts: src/gallium/auxiliary/util/u_cpu_detect.c
2009-10-01mesa: fix potential uninitialized memory readsBrian Paul
2009-09-30mesa/main: Make FEATURE_dlist follow feature conventions.Chia-I Wu
As shown in mfeatures.h, this allows users of dlist.h to work without knowing if the feature is available.
2009-09-30mesa/main: Make FEATURE_evaluators follow feature conventions.Chia-I Wu
As shown in mfeatures.h, this allows users of eval.h to work without knowing if the feature is available.
2009-09-30mesa/main: New feature FEATURE_queryobj.Chia-I Wu
It merges FEATURE_ARB_occlusion_query and FEATURE_EXT_timer_query, and follows the feature conventions.
2009-09-30mesa/main: New feature FEATURE_arrayelt.Chia-I Wu
This allows the removal of AEcontext.
2009-09-16Merge branch 'mesa_7_6_branch'Ian Romanick
2009-09-16Merge branch 'mesa_7_5_branch' into mesa_7_6_branchIan Romanick
Conflicts: src/mesa/main/dlist.c
2009-09-15mesa: compile glUniformMatrix() functions into display listsBrian Paul
I believe this is the last of the shader-related functions that needed display list treatment.
2009-09-15mesa: implement more glUniform display list functionsBrian Paul
2009-09-15mesa: compile glUniform4f() into display listsBrian Paul
Note: there are more glUniform functions to compile...
2009-09-15mesa: compile glUseProgram/glUseProgramObjectARB into display listsBrian Paul
Fixes bug 23746
2009-09-08mesa: Add support for ARB_draw_elements_base_vertex.Eric Anholt
2009-09-01mesa: Make MultiDrawElements submit multiple primitives at once.Eric Anholt
Previously, MultiDrawElements just called DrawElements a bunch of times. By sending several primitives down the pipeline at once, we avoid a bunch of validation. On my GL demo, this improves fps by 2.5% (+/- .41%) and reduces CPU usage by 70.5% (+/- 2.9%) (n=3). Reviewed by: Ian Romanick <ian.d.romanick@intel.com>
2009-08-14Merge branch 'mesa_7_5_branch'Brian Paul
2009-08-13mesa: fix some invalid memory readsBrian Paul
We were passing the address of a float to functions that would deref the pointer as an array.
2009-08-13mesa: fix warnings about locals hiding function paramsBrian Paul
2009-08-13mesa: add missing PBO mapping code in unpack_image()Brian Paul
2009-08-13main: fix some potential memory leaksBrian Paul
Allocate dlist images after error checking. Record GL_OUT_OF_MEMORY when we can't make a copy of an image.
2009-08-12mesa: use _mesa_is_bufferobj()Brian Paul
2009-07-03Merge branch 'mesa_7_5_branch'Jakob Bornecrantz
Conflicts: src/mesa/main/dlist.c src/mesa/vbo/vbo_save_api.c
2009-06-30mesa/dlist: fixes and improvements for material cachingKeith Whitwell
Only short-circuit material call if *all* statechanges from this call are cached. Some material calls (eg with FRONT_AND_BACK) change more than one piece of state -- need to check all of them before returning. Also, Material calls are legal inside begin/end pairs, so don't need to be as careful about begin/end state as with regular statechanges (like ShadeModel) when caching. Take advantage of this and do better caching.
2009-06-30mesa/dlist: don't cache state which may not be replayed on CallListKeith Whitwell
Statechanges which occur before the first End in a display list may not be replayed when the list is called, in particular if it is called from within a begin/end pair. Recognize vulnerable statechanges and do not use them to fill in the state cache.
2009-06-30mesa/dlist: invalidate cached dlist compile state after CallListKeith Whitwell
When compiling a display list containing a CallList, it is necessary to invalidate any assumption about the GL state after the recursive call completes.
2009-06-30mesa/dlist: restore missing SAVE_FLUSH_VERTICES in save_ShadeModelKeith Whitwell
Reorganization of ShadeModel to avoid flushing vertices too often ended up never flushing vertices due to omitted line of code.
2009-06-30mesa/dlist: shortcircuit some redundant statechanges at compile timeKeith Whitwell
Currently, state-changes in mesa display lists are more or less a verbatim recording of the GL calls made during compilation. This change introduces a minor optimization to recognize and eliminate cases where the application emits redundant state changes, eg: glShadeModel( GL_FLAT ); glBegin( prim ) ... glEnd() glShadeModel( GL_FLAT ); glBegin( prim ) ... glEnd() The big win is when we can eliminate all the statechanges between two primitive blocks and combine them into a single VBO node. This commit implements state-change elimination for Material and ShadeModel only. This is enough to make a start on debugging, etc.
2009-06-22mesa: s/MAX_VERTEX_PROGRAM_ATTRIBS/MAX_NV_VERTEX_PROGRAM_INPUTS/ in NV funcsBrian Paul
(cherry picked from commit 4dc426c01627a240bd5b148c1804c45b0d5ecd6c)
2009-06-22mesa: rename MAX_VERTEX_ATTRIBS to MAX_VERTEX_GENERIC_ATTRIBSBrian Paul
Be clearer that this is the number of generic vertex program/shader attributes, not counting the legacy attributes (pos, normal, color, etc). (cherry picked from commit 4a95185c9f30c2de7a03bb1a0653f51b53b1111d)
2009-06-19Merge branch 'ext-provoking-vertex'Brian Paul
Conflicts: docs/relnotes-7.6.html progs/tests/Makefile src/gallium/drivers/softpipe/sp_prim_vbuf.c src/glx/x11/indirect.c src/mesa/glapi/Makefile src/mesa/glapi/dispatch.h src/mesa/glapi/glapioffsets.h src/mesa/glapi/glapitable.h src/mesa/glapi/glapitemp.h src/mesa/glapi/glprocs.h src/mesa/main/dlist.c src/mesa/main/enums.c src/mesa/sparc/glapi_sparc.S src/mesa/x86-64/glapi_x86-64.S src/mesa/x86/glapi_x86.S
2009-06-08mesa: implement GL_ARB_map_buffer_rangeBrian Paul
Only enabled for software drivers at this point. Note that the gl_buffer_object::Access enum field has been replaced by a gl_buffer_object::AccessFlags bitfield. The new field is a mask of the GL_MAP_x_BIT flags which is a superset of the old GL_READ_ONLY, GL_WRITE_ONLY and GL_READ_WRITE modes. When we query GL_BUFFER_ACCESS_ARB we translate the bitfield into the conventional enum values.
2009-06-02mesa: plug in new _mesa_CopyBufferSubData() functionsBrian Paul
2009-05-28mesa: exec/dlist functions for glProvokingVertexEXT()Brian Paul
2009-05-22mesa: use Elements() for loop limitBrian Paul
2009-05-22mesa: remove MAX_VERTEX_PROGRAM_ATTRIBSBrian Paul
Use MAX_VERTEX_GENERIC_ATTRIBS instead. No need for two #defines for the same quantity.
2009-05-22mesa: rename MAX_VERTEX_ATTRIBS to MAX_VERTEX_GENERIC_ATTRIBSBrian Paul
Be clearer that this is the number of generic vertex program/shader attributes, not counting the legacy attributes (pos, normal, color, etc).
2009-05-22mesa: s/MAX_VERTEX_PROGRAM_ATTRIBS/MAX_NV_VERTEX_PROGRAM_INPUTS/ in NV funcsBrian Paul
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