Age | Commit message (Collapse) | Author |
|
_mesa_alloc_instruction() sounded like it was related to vertex/fragment
program instructions, but it wasn't.
|
|
As shown in mfeatures.h, this allows users of dlist.h to work without
knowing if the feature is available.
|
|
As shown in mfeatures.h, this allows users of eval.h to work without
knowing if the feature is available.
|
|
This allows the removal of AEcontext.
|
|
|
|
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>
|
|
|
|
|
|
Based on a patch by kristof.ralovich@gmail.com
|
|
Conflicts:
src/mesa/main/dlist.c
src/mesa/vbo/vbo_save_api.c
|
|
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.
|
|
Switch over to specialized enum lookup for primitives
|
|
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.
|
|
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.
|
|
Conflicts:
scons/gallium.py
src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
src/gallium/include/pipe/p_defines.h
src/mesa/vbo/vbo_exec_api.c
src/mesa/vbo/vbo_exec_draw.c
|
|
Previously would have to allocate a new VBO after firing a draw command
as subsequent call to Map() on old VBO might block if the driver had
submitted the commands to hardware.
|
|
Rename some structs and fields to be more consistant with the rest of mesa.
|
|
vbo_save_EndList())
|
|
vbo_save_EndList())
|
|
Primitive begin in one dlist, end in another.
|
|
Primitive begin in one dlist, end in another.
|
|
Use new _mesa_reference_buffer_object() function wherever possible.
Fixes buffer object/display list crash reported in ParaView.
|
|
Use new _mesa_reference_buffer_object() function wherever possible.
Fixes buffer object/display list crash reported in ParaView.
|
|
(bug 16156)
This was previously fixed in master by commit 982dcb74fd19b88208d127b8019e2a2af979cac2 by Haihao Xiang.
|
|
In the case that a buffer object is bound to
ELEMENT_ARRARY_BUFFER, it is invalid to directly
dereference indices passed to glDrawElements.
|
|
of -I flags.
|
|
|
|
|
|
into vbo-0.2
Conflicts:
src/mesa/array_cache/sources
src/mesa/drivers/dri/i965/brw_context.c
src/mesa/drivers/dri/i965/brw_draw.c
src/mesa/drivers/dri/i965/brw_fallback.c
src/mesa/drivers/dri/i965/brw_vs_emit.c
src/mesa/drivers/dri/i965/brw_vs_tnl.c
src/mesa/drivers/dri/mach64/mach64_context.c
src/mesa/main/extensions.c
src/mesa/main/getstring.c
src/mesa/tnl/sources
src/mesa/tnl/t_save_api.c
src/mesa/tnl/t_save_playback.c
src/mesa/tnl/t_vtx_api.c
src/mesa/tnl/t_vtx_exec.c
src/mesa/vbo/vbo_attrib.h
src/mesa/vbo/vbo_exec_api.c
src/mesa/vbo/vbo_save_api.c
src/mesa/vbo/vbo_save_draw.c
|
|
|
|
This isn't required with the changes to core mesa and the new
attribute layout.
|
|
definition dangle (every vertex has a position). However
save->currentsz isn't properly maintained for this attribute, as there
is no current position value to track. Based on patch from Haihao Xiang.
|
|
rather than VBO's - VBOs are easy but need to look closer at the
driver interface. The trivial/tri demo works.
|