summaryrefslogtreecommitdiffstats
path: root/src/mesa/vbo
Commit message (Collapse)AuthorAgeFilesLines
...
| * vbo: fix vbo/dlist memory leakBrian Paul2009-07-101-0/+5
| | | | | | | | Based on a patch by kristof.ralovich@gmail.com
* | mesa/vbo: always recalculate min_index and max_index when splitting verticesMaciej Cencora2009-07-081-26/+10
| |
* | Merge branch 'mesa_7_5_branch'Jakob Bornecrantz2009-07-034-24/+38
|\ \ | |/ | | | | | | | | Conflicts: src/mesa/main/dlist.c src/mesa/vbo/vbo_save_api.c
| * mesa/vbo: fix compile and replay of nodes ending in a FALLBACKKeith Whitwell2009-06-301-13/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Where vbo save nodes are terminated with a call to DO_FALLBACK(), as in the case of a recursive CallList which is itself within a Begin/End pair, there two problems: 1) The display list node's primitive information was incorrect, stating the cut-off prim had zero vertices 2) On replay, we would get confused by a primitive that started in a node, but was terminated by individual opcodes. This change fixes the first problem by correctly terminating the last primitive on fallback, and the second by forcing the display list to use the Loopback path, converting all nodes into immediate-mode rendering. The loopback fix is a performance hit, but avoiding this would require a fairly large rework of this code.
| * Merge branch 'mesa_7_5_branch' into dlist-statechange-shortcircuitKeith Whitwell2009-06-301-9/+19
| |\ | | | | | | | | | Need this to pick up fixes for per-vertex materials.
| * | mesa/vbo: use _lookup_prim_by_nr for debuggingKeith Whitwell2009-06-304-4/+4
| | | | | | | | | | | | Switch over to specialized enum lookup for primitives
* | | vbo: If MapBufferRange fails, try MapBuffer instead.Corbin Simpson2009-07-021-1/+2
| | | | | | | | | | | | | | | Fixes segfaults with radeon winsys. (Probably libdrm_radeon doing something that it shouldn't.)
* | | Merge branch 'mesa_7_5_branch'Brian Paul2009-06-301-9/+19
|\ \ \ | | |/ | |/| | | | | | | | | | Conflicts: src/mesa/vbo/vbo_exec_draw.c
| * | mesa: Set FLUSH_EXPLICIT_BIT flags when calling FlushMappedBufferRange.José Fonseca2009-06-301-9/+19
| |/ | | | | | | As prescribed by ARB_map_buffer_range.
| * mesa: rename MAX_VERTEX_ATTRIBS to MAX_VERTEX_GENERIC_ATTRIBSBrian Paul2009-06-222-10/+10
| | | | | | | | | | | | 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)
| * vbo: return VP_NONE from get_program_mode() if running fixed-func vertex programBrian Paul2009-06-221-0/+2
| | | | | | | | | | | | | | | | If we're running a vertex program to emulated fixed-function, we still need to treat vertex arrays/attributes as if we're in fixed-function mode. This should probably be back-ported to Mesa 7.5 after a bit more testing. (cherry picked from commit dda82137d28aba846dda73da230871c115e30aaf)
* | mesa: Make VBO dlist printing use the same path as other dlist printing.Eric Anholt2009-06-191-12/+12
| | | | | | | | | | | | I was rather confused when mesa_print_display_list didn't show any of my glBegin()..glEnd(). Nothing but print_list appears to call this function, so matching its behavior seems like a good idea.
* | mesa: revert some recent VBO buffer object refcounting changesBrian Paul2009-06-152-8/+3
| | | | | | | | | | | | | | | | Reverts part of commit d7ea9ddf5824556e47decac7ba200f37cf1e552f. We were calling _mesa_reference_buffer_object() on some heap-allocated memory that was uninitialized and could trigger an assertion. We can actually go back to "looser" ref counting of the Null/default buffer object in these cases.
* | mesa: use _mesa_reference_buffer_object() in a few placesBrian Paul2009-06-123-4/+10
| |
* | Merge branch 'mesa_7_5_branch'José Fonseca2009-06-111-2/+7
|\ \ | |/
| * vbo: fix assertion, #define IMM_BUFFER_NAMEBrian Paul2009-06-111-2/+7
| | | | | | | | | | This was sometimes seen when Glean exited upon test failure when using Gallium.
* | Merge branch 'mesa_7_5_branch'Jakob Bornecrantz2009-06-091-8/+21
|\ \ | |/ | | | | | | | | | | | | | | Conflicts: Makefile src/mesa/main/version.h src/mesa/shader/slang/slang_preprocess.c src/mesa/state_tracker/st_cb_bufferobjects.c
| * mesa/vbo: drop all references to vbo on destroyKeith Whitwell2009-06-081-8/+21
| | | | | | | | | | | | We were adding references to the input arrays, but failing to drop them on destruction. This could lead to a 64kb buffer being leaked each context destruction.
* | vbo: more glDrawElements debug code (disabled)Brian Paul2009-06-091-3/+74
| |
* | vbo: minor reformattingBrian Paul2009-06-031-16/+23
| |
* | vbo: move/refactor debug codeBrian Paul2009-06-031-38/+49
| |
* | vbo: added debug code to check array data validity (disabled)Brian Paul2009-06-031-0/+156
| |
* | vbo: new debug/dump code (disabled)Brian Paul2009-06-031-0/+58
| |
* | vbo: tweak out-of-bounds VBO access error messageBrian Paul2009-06-031-1/+1
| | | | | | | | Subtract 1 from _MaxElement to be clearer.
* | mesa: fix warning message in vbo_exec_DrawRangeElements()Brian Paul2009-05-221-1/+2
| |
* | mesa: use Elements() for loop limitBrian Paul2009-05-221-3/+2
| |
* | mesa: use Elements() for loop limitBrian Paul2009-05-221-1/+1
| |
* | vbo: s/32/VERT_ATTRIB_MAX/Brian Paul2009-05-221-2/+2
| |
* | vbo: asst. reformatting, clean-upsBrian Paul2009-05-221-34/+46
| |
* | Merge branch 'mesa_7_5_branch'Brian Paul2009-05-221-0/+1
|\ \ | |/
| * vbo: fix crash in vbo_exec_bind_arrays()Brian Paul2009-05-221-0/+1
| | | | | | | | | | | | | | | | | | When a vertex shader uses generic vertex attribute 0, but not gl_Vertex, we need to set attribute[16] to point to attribute[0]. We were setting the attribute size, but not the pointer. Fixes crash in glsl/multitex.c when using the VertCoord attribute instead of gl_Vertex.
* | mesa: rename MAX_VERTEX_ATTRIBS to MAX_VERTEX_GENERIC_ATTRIBSBrian Paul2009-05-222-10/+10
| | | | | | | | | | Be clearer that this is the number of generic vertex program/shader attributes, not counting the legacy attributes (pos, normal, color, etc).
* | vbo: fix build breakage...oopsBrian Paul2009-05-211-1/+1
| |
* | vbo: comments, whitespace clean-upsBrian Paul2009-05-211-19/+26
| |
* | Merge branch 'mesa_7_5_branch'Brian Paul2009-05-211-2/+5
|\ \ | |/
| * vbo: fix incorrect loop limit in bind_array_obj()Brian Paul2009-05-211-1/+4
| | | | | | | | | | | | The generic_array[] is 16 elements in size, but the loop was doing 32 iterations. The out of bounds array write was clobbering the following inputs[] array but as luck would have it, that didn't matter.
| * mesa: use MAX_ values instead of literalsBrian Paul2009-05-211-2/+2
| |
* | mesa: added gl_array_object::Weight array fieldBrian Paul2009-05-211-1/+1
| | | | | | | | | | | | | | We don't really implement vertex weights but in the VBO code this fixes and odd case for the legacy_array[] setup. Before, the vbo->draw_prims() call was always indicating that the vertex weight array was present/enabled when it really wasn't.
* | vbo: return VP_NONE from get_program_mode() if running fixed-func vertex programBrian Paul2009-05-211-0/+2
| | | | | | | | | | | | | | If we're running a vertex program to emulated fixed-function, we still need to treat vertex arrays/attributes as if we're in fixed-function mode. This should probably be back-ported to Mesa 7.5 after a bit more testing.
* | vbo: move vp_mode enum to vbo_exec.h, use enum instead of GLuintBrian Paul2009-05-212-8/+14
| |
* | mesa: move gl_array_attrib::_MaxElement to gl_array_object::_MaxElementBrian Paul2009-05-211-2/+3
| | | | | | | | This value is per array object.
* | vbo: s/8/MAX_TEXTURE_COORD_UNITS/Brian Paul2009-05-211-1/+1
| |
* | mesa: move the NullBufferObj from GLcontext to gl_shared_stateBrian Paul2009-05-075-9/+12
| | | | | | | | | | Since shared array objects may point to the null/default buffer object, the null/default buffer object should be part of the shared state.
* | vbo: in glDraw[Range]Element() code, check for out of bounds indexesBrian Paul2009-05-071-0/+7
| | | | | | | | | | No-op the bad drawing command rather than go out of bounds and render garbage. Print a warning to alert the developer to the bad drawing call.
* | mesa: use _mesa_sizeof_type() in vbo split codeBrian Paul2009-05-071-16/+2
| |
* | mesa: vbo code reformatting, clean-up, commentsBrian Paul2009-05-071-43/+52
| |
* | mesa: in vbo split code, map buffers read-only, not write-onlyBrian Paul2009-05-071-6/+6
|/ | | | And use GL_ELEMENT_ARRAY_BUFFER where appropriate.
* vbo: cache last dlist vertex in malloced memoryKeith Whitwell2009-04-163-10/+53
| | | | | | Avoids repeated mapping of the VBO buffer on display list replay. We need access to the final vertex in order to update the GL current attrib values.
* vbo: Silence integer-to-pointer warnings.Michal Krol2009-03-151-3/+3
|
* vbo: yet tighter still usage of FLUSH_NEED_CURRENTKeith Whitwell2009-03-091-3/+3
| | | | | | | | Previous change broke redbook/polys and probably others. I'm fairly sure that drivers like r300 don't need to touch ctx->Driver.NeedVertices, but this code is incredibly fragile and I'm not confident about removing it from there. Hopefully this gets things working again.