summaryrefslogtreecommitdiffstats
path: root/src/mesa/vbo
Commit message (Collapse)AuthorAgeFilesLines
* vbo: Avoid unnecessary copy to/from current in vertex format upgrade.Francisco Jerez2010-11-062-48/+63
| | | | | | | | | | | | | | | | | Rebuilding the vertex format from scratch every time we see a new vertex attribute is rather costly, new attributes can be appended at the end avoiding a copy to current and then back again, and the full attr pointer recalculation. In the not so likely case of an already existing attribute having its size increased the old behavior is preserved, this could be optimized more, not sure if it's worth it. It's a modest improvement in FlightGear (that game punishes the VBO module pretty hard in general, framerate goes from some 46 FPS to 50 FPS with the nouveau classic driver). Signed-off-by: Brian Paul <[email protected]>
* Merge branch 'glapi-reorg'Chia-I Wu2010-10-291-8/+8
|\ | | | | | | | | | | | | | | | | Conflicts: src/mapi/glapi/glapi_sparc.S src/mapi/glapi/glapi_x86.S src/mapi/glapi/glapidispatch.h src/mapi/glapi/glapioffsets.h src/mapi/glapi/glprocs.h
| * vbo: Use CALL_* macros.Chia-I Wu2010-10-271-8/+8
| | | | | | | | | | Use macros to access _glapi_table consistently. There is no functional change.
* | mesa: implement integer-valued vertex attribute functionsBrian Paul2010-10-283-0/+237
| | | | | | | | The integers still get converted to floats. That'll have to change someday.
* | vbo: re-indent fileBrian Paul2010-10-281-181/+234
|/
* vbo: support for primitive restartBrian Paul2010-10-213-86/+186
| | | | | We handle splitting of glDrawArrays() calls into two primitives here so that drivers don't have to worry about it.
* Drop the "neutral" tnl moduleKristian Høgsberg2010-10-141-7/+7
| | | | | | | Just always check for FLUSH_UPDATE_CURRENT and call Driver.BeginVertices when necessary. By using the unlikely() macros, this ends up as a 10% performance improvement (for isosurf, anyway) over the old, complicated function pointer swapping.
* Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg2010-10-1319-123/+123
|
* i965: Don't rebase the index buffer to min 0 if any arrays are in VBOs.Eric Anholt2010-10-122-0/+13
| | | | | | | | | There was a check to only do the rebase if we didn't have everything in VBOs, but nexuiz apparently hands us a mix of VBOs and arrays, resulting in blocking on the GPU to do a rebase. Improves nexuiz 800x600, high-settings performance on my Ironlake 41% (+/- 1.3%), from 14.0fps to 19.7fps.
* mesa: Revert accidentally committed vertex code chunkKristian Høgsberg2010-09-131-2/+0
|
* glx: Don't destroy DRI2 drawables for legacy glx drawablesKristian Høgsberg2010-09-131-0/+2
| | | | | | | | | | | For GLX 1.3 drawables, we can destroy the DRI2 drawable when the GLX drawable is destroyed. However, for legacy drawables, there os no good way of knowing when the application is done with it, so we just let the DRI2 drawable linger on the server. The server will destroy the DRI2 drawable when it destroys the X drawable or the client exits anyway. https://bugs.freedesktop.org/show_bug.cgi?id=30109
* mesa: fix some printf warnings with castsBrian Paul2010-09-021-2/+2
|
* mesa: Remove inclusion of compiler.h from mtypes.h.Vinson Lee2010-07-311-0/+1
| | | | | | | mtypes.h does not use any symbols from compiler.h. Also add the required headers for files that depended on symbols from compiler.h but were indirectly including compiler.h through mtypes.h.
* mesa: Remove unnecessary headers.Vinson Lee2010-07-301-1/+0
|
* mesa: Fix potential out-of-bounds access by _vbo_Materialf.Vinson Lee2010-07-151-1/+4
| | | | | _vbo_Materialf calls _vbo_Materialfv, which uses the params argument as an array.
* vbo: misc clean-upsBrian Paul2010-06-041-29/+36
|
* vbo: Remove unnecessary header.Vinson Lee2010-05-301-1/+0
|
* vbo: comments and whitespaceBrian Paul2010-05-271-7/+5
|
* vbo: remove unused prototypeBrian Paul2010-05-271-3/+0
|
* vbo: remove dead codeBrian Paul2010-05-271-21/+0
|
* vbo: update/add commentsBrian Paul2010-05-271-15/+62
|
* mesa/es: Remove omit list.Chia-I Wu2010-05-127-7/+35
| | | | | vbo/vbo_save* are the last members on the omit list. Test FEATURE_dlist in the sources and remove the omit list.
* mesa: Only initialize save dispatch table for OpenGLKristian Høgsberg2010-05-031-2/+4
|
* mesa: Move GLES1/2 vbo entrypoints to vbo_exec_api.cKristian Høgsberg2010-04-272-0/+81
| | | | This let's us drop stubs.c.
* mesa: unmap the immediate mode VB before destroying itBrian Paul2010-04-191-1/+4
| | | | | | | Fixes failed assertion from fd.o bug 27713. The assertion was added with the new resource/transfer changes. This patch could apply to the 7.8 branch but it's not essential.
* mesa: implement core Mesa support for GL_ARB_draw_instancedBrian Paul2010-04-044-4/+90
|
* vbo: Fix vbo_split_copy to pass correct max_index to draw.Pauli Nieminen2010-03-211-1/+1
| | | | | | | | vbo_split_copy was passing one past the max_index to draw function which caused _tnl_draw_prims function to read uninitialized values from copied array. Bug was spoted in valgrind report of progs/tests/cva_huge.
* Grammar and spelling fixesJeff Smith2010-03-121-1/+1
| | | | | Signed-off-by: Jeff Smith <[email protected]> Signed-off-by: Brian Paul <[email protected]>
* mesa: Move src/mesa/glapi/dispatch.h to mesa.Chia-I Wu2010-02-254-4/+4
| | | | | | glapi/dispatch.h is a core Mesa header file. Move the header file to main/ to make this clear. It also becomes clear after this change that IN_DRI_DRIVER is only used in core Mesa to enable the remap table.
* vbo: remove dead codeBrian Paul2010-02-241-35/+3
|
* Drop macro wrappers for the aligned memory functionsKristian Høgsberg2010-02-191-2/+2
|
* Replace the _mesa_*printf() wrappers with the plain libc versionsKristian Høgsberg2010-02-198-84/+84
|
* Replace _mesa_malloc, _mesa_calloc and _mesa_free with plain libc versionsKristian Høgsberg2010-02-193-13/+13
|
* Remove _mesa_memcpy in favor of plain memcpy.Kenneth Graunke2010-02-193-28/+28
| | | | This may break the SUNOS4 build, but it's no longer relevant.
* vbo: fix broken glMultiDrawElements()Brian Paul2010-02-151-4/+5
| | | | | | Seems to be a regression from commit 60b08eb1fdf287d28ec66b9282513ab35a61aee0. (cherry picked from commit c5a4cfb03ff17955c049f16ac805f5837ea4b633)
* mesa: Enable true refcounting for NullBufferObj.Michal Krol2010-02-092-2/+22
| | | | | | | | This object can be shared with another context, so we cannot just delete it when the owning context is being destroyed. Ensuring that buffer objects are properly refcounted guarantees NullBufferObj is destroyed when all references to it are removed.
* mesa: Fix null buffer object reference counting.José Fonseca2010-02-091-0/+11
| | | | | | | | Always use _mesa_reference_buffer_object, and never call ctx->Driver.DeleteBuffer() directly to prevent dangling pointers to the null buffer object. This fixes crash/assertions in sharedtex_mt and Autodesk Mudbox.
* vbo: fix void * arithmetic warningKeith Whitwell2010-02-031-1/+2
|
* vbo: Fix up in-place splitting for non-contiguous/indexed primitives.Francisco Jerez2010-02-031-51/+62
| | | | | | | | | | | | | | The in-place splitting code wasn't dealing with index buffers at all (and it was being called from vbo_split_prims for too big index buffers, causing some occasional corruption). Additionally, it wasn't taking into account primitives arrays with non-contiguous indices (e.g. given prim[0].start = 0 and prim[1].start = max_verts, it would happily call back the driver with (max_index - min_index) still greater than max_verts, causing infinite recursion). It still doesn't handle too large indexed vertex buffers: use vbo_split_copy for that.
* vbo: fix missing state validation bugsBrian Paul2010-01-291-14/+14
| | | | | | | | | | | | | | | Commit 2708ddfb06a36d8568e2aa130bf1f7d551fcd309 caused a few regressions. We need to check/validate state after calling bind_arrays() because it might set the _NEW_ARRAYS flag if the varying VP inputs change. The symptom of this problem was some attribute arrays being ignored (or interpreted as constant-valued) in glDrawRangeElements or glMultiDrawElements. A follow-on patch will add some additional asserts to try to catch this kind of thing in the future. (cherry picked from commit 3cba779e16935f7c3a0bfd8af48bd5e015068e96)
* mesa: Warn when indices are out of bounds, but do not skip the draw in debug ↵Brian Paul2010-01-291-3/+1
| | | | | | | | | | | | builds. The driver (or preferably the hardware) should handle out of bounds indices. If there are problems then it's better to detect those in the debug builds. (cherry picked from commit e3257912e006120f6ab611e77005eed1a464030a)
* mesa: fix int/uint comparison warningsBrian Paul2010-01-272-6/+8
| | | | Reported by Karl Schultz.
* vbo: if 'end' is out of bounds, clamp itBrian Paul2010-01-261-0/+4
| | | | | If we determine that the 'end' parameter to glDrawElements() is out of bounds, clamp it to the max legal index value.
* vbo: clamp DrawElements start/end to max possible valuesBrian Paul2010-01-261-0/+10
| | | | | Some apps are sloppy with their start/end values. Clamp them to max possible values to prevent problems later.
* vbo: Remove unnecessary headers from vbo_exec.c.Vinson Lee2010-01-121-3/+0
|
* vbo: Remove unnecessary header from vbo_exec_array.c.Vinson Lee2010-01-121-1/+0
|
* vbo: Remove unnecessary header from vbo_exec_draw.c.Vinson Lee2010-01-121-1/+0
|
* vbo: Remove unnecessary headers from vbo_save.c.Vinson Lee2010-01-121-2/+0
|
* vbo: Remove unnecessary header from vbo_save_loopback.c.Vinson Lee2010-01-111-1/+0
|
* vbo: Remove unnecessary header from vbo_split_copy.c.Vinson Lee2010-01-111-3/+0
|