History log of /external/mesa3d/src/mesa/vbo/vbo_split_copy.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_copy.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_copy.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_copy.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_copy.c
8f84c237b360be69f9b6ac51465c729b3ada196a 01-Nov-2011 Paul Berry <stereotype441@gmail.com> mesa: Set the "Integer" field of gl_client_array properly.

This patch ensures that gl_client_array::Integer is properly set to
GL_TRUE for vertex attributes specified using glVertexAttribIPointer,
and to GL_FALSE for vertex attributes specified using
glVertexAttribPointer, so that the vertex attributes can be
interpreted properly by driver back-ends.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/vbo/vbo_split_copy.c
28249bd260f4c52badf3eb61ade2744604b21bca 22-Aug-2011 Ian Romanick <ian.d.romanick@intel.com> mesa: Eliminate dd_function_table::MapBuffer

Replace all calls to dd_function_table::MapBuffer with appropriate
calls to dd_function_table::MapBufferRange, then remove all the cruft.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/vbo/vbo_split_copy.c
12d924c5ae14a1c6a05a3dcae29b77e7668e227d 22-Aug-2011 Ian Romanick <ian.d.romanick@intel.com> mesa: Remove target parameter from dd_function_table::MapBuffer

No driver used that parameter, and most drivers ended up with a bunch
of unused-parameter warnings because it was there.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/vbo/vbo_split_copy.c
56f0c00f125ee75caeadc1c9e8cab8a488635e5e 22-Aug-2011 Ian Romanick <ian.d.romanick@intel.com> mesa: Remove target parameter from dd_function_table::UnmapBuffer

No driver used that parameter, and most drivers ended up with a bunch
of unused-parameter warnings because it was there.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/vbo/vbo_split_copy.c
204991bf5d29caa3fa54df9e4f6898faa73752cf 07-Apr-2011 Brian Paul <brianp@vmware.com> mesa: Update _ElementSize.
/external/mesa3d/src/mesa/vbo/vbo_split_copy.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_copy.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_copy.c
9a7acbccfbc061322be493633d5c5bf4afd302b5 20-Mar-2010 Pauli Nieminen <suokkos@gmail.com> vbo: Fix vbo_split_copy to pass correct max_index to draw.

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.
/external/mesa3d/src/mesa/vbo/vbo_split_copy.c
298be2b028263b2c343a707662c6fbfa18293cb2 19-Feb-2010 Kristian Høgsberg <krh@bitplanet.net> Replace the _mesa_*printf() wrappers with the plain libc versions
/external/mesa3d/src/mesa/vbo/vbo_split_copy.c
32f2fd1c5d6088692551c80352b7d6fa35b0cd09 19-Feb-2010 Kristian Høgsberg <krh@bitplanet.net> Replace _mesa_malloc, _mesa_calloc and _mesa_free with plain libc versions
/external/mesa3d/src/mesa/vbo/vbo_split_copy.c
083dae14bd2d456515374449019afb164ae26655 12-Jan-2010 Vinson Lee <vlee@vmware.com> vbo: Remove unnecessary header from vbo_split_copy.c.
/external/mesa3d/src/mesa/vbo/vbo_split_copy.c
92d7ed8a20d4a018ce5324e6537ae7b478b9e5bf 27-Aug-2009 Eric Anholt <eric@anholt.net> mesa: Add support for ARB_draw_elements_base_vertex.
/external/mesa3d/src/mesa/vbo/vbo_split_copy.c
bd4c6a2e503db43e81ef41f77d876308badd93eb 12-Aug-2009 Brian Paul <brianp@vmware.com> vbo: use _mesa_is_bufferobj()
/external/mesa3d/src/mesa/vbo/vbo_split_copy.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_copy.c
862488075c5537b0613753b0d14c267527fc6199 03-Jul-2009 Jakob Bornecrantz <jakob@vmware.com> Merge branch 'mesa_7_5_branch'

Conflicts:
src/mesa/main/dlist.c
src/mesa/vbo/vbo_save_api.c
0846c88ec3a63ac5e4096aedcdc107cbe71f306b 30-Jun-2009 Keith Whitwell <keithw@vmware.com> mesa/vbo: use _lookup_prim_by_nr for debugging

Switch over to specialized enum lookup for primitives
/external/mesa3d/src/mesa/vbo/vbo_split_copy.c
01f7bda44c92268fa288bbd8f53af3a3620bd315 15-Jun-2009 Brian Paul <brianp@vmware.com> mesa: revert some recent VBO buffer object refcounting changes

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.
/external/mesa3d/src/mesa/vbo/vbo_split_copy.c
d7ea9ddf5824556e47decac7ba200f37cf1e552f 10-Jun-2009 Brian Paul <brianp@vmware.com> mesa: use _mesa_reference_buffer_object() in a few places
/external/mesa3d/src/mesa/vbo/vbo_split_copy.c
e446ef50eb8bbc2e3505c4d52e971d24c37785d6 03-Jun-2009 Brian Paul <brianp@vmware.com> vbo: new debug/dump code (disabled)
/external/mesa3d/src/mesa/vbo/vbo_split_copy.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_copy.c
7e3bd457e8cf106391f4418d910b8267b4b0de2c 06-May-2009 Brian Paul <brianp@vmware.com> mesa: use _mesa_sizeof_type() in vbo split code
/external/mesa3d/src/mesa/vbo/vbo_split_copy.c
3acdab82cba03ea2a0dfaa3d7d5d940f1e94a374 06-May-2009 Brian Paul <brianp@vmware.com> mesa: vbo code reformatting, clean-up, comments
/external/mesa3d/src/mesa/vbo/vbo_split_copy.c
2369f14245222a9c073846baa1bb03e23aa37c15 06-May-2009 Brian Paul <brianp@vmware.com> mesa: in vbo split code, map buffers read-only, not write-only

And use GL_ELEMENT_ARRAY_BUFFER where appropriate.
/external/mesa3d/src/mesa/vbo/vbo_split_copy.c
ded949ed06e02ef26b1168b101daba04be78155e 24-Jan-2009 Brian Paul <brianp@vmware.com> mesa: set the new array->Format field in VBO code

Should help to solve failed assertion in i965 driver (see bug 19708)
/external/mesa3d/src/mesa/vbo/vbo_split_copy.c
d05b72154319041dad38f24696638396753e0da3 07-Aug-2007 Xiang, Haihao <haihao.xiang@intel.com> fix vbo_split_copy related bug 9962
/external/mesa3d/src/mesa/vbo/vbo_split_copy.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_copy.c
8ebda479d90b0c95df50f790316f451a32f4bd4e 01-Feb-2007 Roland Scheidegger <sroland@tungstengraphics.com> fix missing ADD_POINTERS, fixes crashes if the index elements are in a vbo.
/external/mesa3d/src/mesa/vbo/vbo_split_copy.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_copy.c
78b64d911b4b50ab744f250522a88b3952859f98 25-Jan-2007 Roland Scheidegger <sroland@tungstengraphics.com> allocate larger minimum dstelt buffer

increase the minimum dstelt buffer size to avoid triggering an assertion later
because the split is triggered before the buffer is full. This fixes cases
where the vbo_split_copy path is hit because of maximum index limit, where the
dstelt buffer size needed could be very small (doom3 hit that assertion with a
vertex count of just 3)
/external/mesa3d/src/mesa/vbo/vbo_split_copy.c
db79d7dea03d5129a05d48af19049cb740799669 25-Jan-2007 Roland Scheidegger <sroland@tungstengraphics.com> fix dstelt memory allocation to avoid hash corruption
/external/mesa3d/src/mesa/vbo/vbo_split_copy.c
2cb3594af9cd1434aa2c408cd6f8d51bcd12e8ea 18-Jan-2007 Aapo Tahkola <aapo@aapo-desktop.(none)> Fix invalid enums passed to MapBuffer
/external/mesa3d/src/mesa/vbo/vbo_split_copy.c
6a3fdc3a1ea6c306d9543791bf172dd1052d7382 16-Jan-2007 Keith Whitwell <keith@tungstengraphics.com> Merge branch 'master' of git+ssh://keithw@git.freedesktop.org/git/mesa/mesa 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
a38cb37913b7cd2f9c3c7aa11dcbb9485d623924 15-Jan-2007 keithw <keithw@keithw-laptop.(none)> New files to manage splitting drawing commands
/external/mesa3d/src/mesa/vbo/vbo_split_copy.c