History log of /external/mesa3d/src/mesa/vbo/vbo_split_inplace.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a1287f549a3e6527b8cf3bf5b5f563ba63c6f48c 22-Jul-2012 Brian Paul <brianp@vmware.com> mesa: move more format helper functions to glformats.c
/external/mesa3d/src/mesa/vbo/vbo_split_inplace.c
ae5d7d5e8970f90b9713897387d7d46a2b4485ab 18-Jun-2012 Fredrik Höglund <fredrik@kde.org> mesa: Add support for GL_ARB_base_instance

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/vbo/vbo_split_inplace.c
c5e473fbe25b20cb27aac44ff6e269701abd33a8 16-Apr-2012 Marek Olšák <maraeo@gmail.com> mesa: add gl_context::NewDriverState and use it for vertex arrays

The vbo module recomputes its states if _NEW_ARRAY is set, so it shouldn't use
the same flag to notify the driver. Since we've run out of bits in NewState
and NewState is for core Mesa anyway, we need to find another way.

This patch is the first to start decoupling the state flags meant only
for core Mesa and those only for drivers.

The idea is to have two flag sets:
- gl_context::NewState - used by core Mesa only
- gl_context::NewDriverState - used by drivers only (the flags are defined
by the driver and opaque to core Mesa)

It makes perfect sense to use NewState|=_NEW_ARRAY to notify the vbo module
that the user changed vertex arrays, and the vbo module in turn sets
a driver-specific flag to notify the driver that it should update its vertex
array bindings.

The driver decides which bits of NewDriverState should be set and stores them
in gl_context::DriverFlags. Then, Core Mesa can do this:
ctx->NewDriverState |= ctx->DriverFlags.NewArray;

This patch implements this behavior and adapts st/mesa.
DriverFlags.NewArray is set to ST_NEW_VERTEX_ARRAYS.

Core Mesa only sets NewDriverState. It's the driver's responsibility to read
it whenever it wants and reset it to 0.

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/vbo/vbo_split_inplace.c
50f7e75f9e945cfbb2ae868cc961a2205a0b6e73 23-Apr-2012 Marek Olšák <maraeo@gmail.com> mesa: move gl_client_array*[] from vbo_draw_func into gl_context

In the future we'd like to treat vertex arrays as a state and
not as a parameter to the draw function. This is the first step
towards that goal. Part of the goal is to avoid array re-validation
for every draw call.

This commit adds:
const struct gl_client_array **gl_context::Array::_DrawArrays.

The pointer is changed in:
* vbo_draw_method
* vbo_rebase_prims - unused by gallium
* vbo_split_prims - unused by gallium
* st_RasterPos

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/vbo/vbo_split_inplace.c
14bb957b996dcc5392b8fa589bd3ffa5c55cb6b4 09-Dec-2011 Marek Olšák <maraeo@gmail.com> mesa: implement DrawTransformFeedback from ARB_transform_feedback2

It's like DrawArrays, but the count is taken from a transform feedback
object.

This removes DrawTransformFeedback from dd_function_table and adds the same
function to GLvertexformat (with the function parameters matching GL).

The vbo_draw_func callback has a new parameter
"struct gl_transform_feedback_object *tfb_vertcount".

The rest of the code just validates states and forwards the transform
feedback object into vbo_draw_func.
/external/mesa3d/src/mesa/vbo/vbo_split_inplace.c
90ff6178a2350cdf7b1c1a28bf3a8c9a66da3d4b 18-Jan-2011 Brian Paul <brianp@vmware.com> vbo: initialize num_instances in a few places

This fixes https://bugs.freedesktop.org/show_bug.cgi?id=33247
There might still be some issues with drawing multiple instances
with VBO splitting to investigate someday.
/external/mesa3d/src/mesa/vbo/vbo_split_inplace.c
5a64626ee57183a404827e2cda8359db3529b180 17-Jan-2011 Brian Paul <brianp@vmware.com> vbo: init num_instances in split_prims()

Fixes a VTK regression after adding GL_ARB_draw_instanced.
/external/mesa3d/src/mesa/vbo/vbo_split_inplace.c
f9995b30756140724f41daf963fa06167912be7f 12-Oct-2010 Kristian Høgsberg <krh@bitplanet.net> Drop GLcontext typedef and use struct gl_context instead
/external/mesa3d/src/mesa/vbo/vbo_split_inplace.c
64da2aeebc04a98c999e4dac9290999d03c1e3d5 03-Feb-2010 Keith Whitwell <keithw@vmware.com> vbo: fix void * arithmetic warning
/external/mesa3d/src/mesa/vbo/vbo_split_inplace.c
db0eb3a437fbc88429b2d73444335b61035d824f 03-Feb-2010 Francisco Jerez <currojerez@riseup.net> vbo: Fix up in-place splitting for non-contiguous/indexed primitives.

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.
/external/mesa3d/src/mesa/vbo/vbo_split_inplace.c
2708ddfb06a36d8568e2aa130bf1f7d551fcd309 11-Aug-2009 Eric Anholt <eric@anholt.net> vbo: Avoid extra validation of DrawElements.

This saves mapping the index buffer to get a bounds on the indices that
drivers just drop on the floor in the VBO case (cache win), saves a bonus
walk of the indices in the CheckArrayBounds case, and other miscellaneous
validation. On intel it's a particularly a large win (50-100% in my app)
because even though we let the indices stay in both CPU and GPU caches, we
still end up waiting for the GPU to be done with the buffer before reading
from it.

Drivers that want the min/max_index fields must now check index_bounds_valid
and use vbo_get_minmax_index before using them.
/external/mesa3d/src/mesa/vbo/vbo_split_inplace.c
1e9d3ad4e1d987e1130e4bcd2ffc35f0e18064c3 30-Jul-2009 Michal Krol <michal@vmware.com> vbo: Fix build on windows.
/external/mesa3d/src/mesa/vbo/vbo_split_inplace.c
afd687b0dcf9ac842b4c4832247c6ffe5cc844b1 05-Jul-2009 Maciej Cencora <m.cencora@gmail.com> mesa/vbo: always recalculate min_index and max_index when splitting vertices
/external/mesa3d/src/mesa/vbo/vbo_split_inplace.c
4f6b704f9796775d8d9937c3cf75a2901b99b896 07-May-2009 Brian Paul <brianp@vmware.com> mesa: move the NullBufferObj from GLcontext to gl_shared_state

Since shared array objects may point to the null/default buffer object,
the null/default buffer object should be part of the shared state.
/external/mesa3d/src/mesa/vbo/vbo_split_inplace.c
452a592ca4b1bac78eee53fb9f2f1deac7832840 31-May-2008 José Fonseca <jrfonseca@tungstengraphics.com> mesa: Apply MSVC portability fixes from Alan Hourihane.
/external/mesa3d/src/mesa/vbo/vbo_split_inplace.c
c223c6b663cd5db39ba19c2be74b88cc3b8f53f3 04-Jul-2007 Brian <brian.paul@tungstengraphics.com> Be more consistant with paths in #includes. Eventually, eliminate a bunch of -I flags.
/external/mesa3d/src/mesa/vbo/vbo_split_inplace.c
893526b8a823fe1b88f2b46376155afb91c84016 30-Jan-2007 Keith Whitwell <keith@tungstengraphics.com> Use new rebase helper. Remove other rebase code.
/external/mesa3d/src/mesa/vbo/vbo_split_inplace.c
82152a2a8e1afeb61710318e769b1379be6c02c6 15-Jan-2007 keithw <keithw@keithw-laptop.(none)> Remove debug, reenable inplace splitting.
/external/mesa3d/src/mesa/vbo/vbo_split_inplace.c
a38cb37913b7cd2f9c3c7aa11dcbb9485d623924 15-Jan-2007 keithw <keithw@keithw-laptop.(none)> New files to manage splitting drawing commands
/external/mesa3d/src/mesa/vbo/vbo_split_inplace.c