History log of /external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
914368538ec72926f160e784dcbae5db05e34abe 11-Feb-2013 Brian Paul <brianp@vmware.com> util: add new error checking code in vbuf helper

Check the return value of calls to u_upload_alloc() and
u_upload_data() and return early if needed.

Since we don't have a way to propagate errors all the way up to
Mesa through pipe_context::draw_vbo(), call debug_warn_once() so
the user might have some clue about OOM errors.

Note: This is a candidate for the 9.0 branch.
(cherry picked from commit b13c534f1479549e53b9896ea4d25d79f8466c24)

Conflicts:

src/gallium/auxiliary/util/u_vbuf.c
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
6463eb013f645440d252b8b390e1c6e3c1212b7e 28-Aug-2012 Vadim Girlin <vadimgirlin@gmail.com> u_vbuf: avoid unnecessary update of the vertex elements

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Reviewed-by: Marek Olšák <maraeo@gmail.com>
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
96863baa42564ce2daa5f4651f1c52f1d281d9a5 01-May-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: set user buffer pointer for drivers which support user buffers

It's not common to end up in u_vbuf and at the same time support user buffers
in a driver, but such a combination should work.
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
bf469f4edc60bd1c5fd770cb231b8d5ab801427f 24-Apr-2012 Marek Olšák <maraeo@gmail.com> gallium: add void *user_buffer in pipe_index_buffer

Adapted drivers: i915, llvmpipe, r300, r600, radeonsi, softpipe.

User index buffers have been disabled in nv30, nv50, nvc0 and svga to keep
things working.
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
4552fd50d959ab99546cfa994f8ba5bdf5d66bc7 24-Apr-2012 Marek Olšák <maraeo@gmail.com> gallium: add void *user_buffer in pipe_vertex_buffer

This reduces CPU overhead in st_draw_vbo and removes a lot of unnecessary code
in that function which was required only to comply with the gallium interface,
but wasn't any useful really.

Adapted drivers: i915, llvmpipe, r300, softpipe.
No changes required in: r600, radeonsi.

User vertex buffers have been disabled in nv30, nv50, nvc0 and svga to keep
things working.
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
18bcb962bbad451a5e34f0315f03b8fb4533ea73 29-Apr-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: unbind vertex buffers on destroy
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
89c488871056185b8633aae7e7573b398827b038 19-Apr-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: don't call u_vbuf_upload_buffers if there's nothing to upload
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
634066946e265aa5d2628ddca16c6556d2091a66 19-Apr-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: don't upload user buffers if the driver supports them
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
6fe30fbc96a7b102d7c23ae0dd7be0b8739276c9 19-Apr-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: optimize u_vbuf_translate_find_free_vb_slots
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
b5e5e61439bda7a3cf1f909b48467371ea53d9d7 19-Apr-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: turn bool arrays into bitmasks and loops into bitwise operations

Optimized functions:
- u_vbuf_need_minmax_index
- u_vbuf_mapping_vertex_buffer_blocks
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
eaf8fe3335b1c7e62275ac0fef202f51750ffba9 19-Apr-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: take advantage of all new vertex fetch caps
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
a0e352f5ebac0f533481d353b7f3ba66b3a9ed7f 19-Apr-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: simplify u_vbuf_set_vertex_buffers
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
039f53b814cef8fce0f591e3ff36a68f4780b620 19-Apr-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: rename native_attribs -> driver_attribs
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
e0773da1e897164ed7597437070e32b867734ee5 10-Apr-2012 Marek Olšák <maraeo@gmail.com> gallium: make user vertex buffers optional

This couldn't be split because it would break bisecting.

Summary:
* r300g,r600g: stop using u_vbuf
* r300g,r600g: also report that the FIXED vertex type is unsupported
* u_vbuf: refactor for use in the state tracker
* cso: wire up u_vbuf with cso_context
* st/mesa: conditionally install u_vbuf
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
ae799a4948ac1becb48568a274c2ada5d77aa07c 11-Apr-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: pull u_vbuf_draw_max_vertex_count into r300g
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
7fe3631a7a0ad7602b4e947ac87ef86875c8bb3f 10-Apr-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: make use of the new CAPs to determine what to do

This adds the ability to initialize u_vbuf_caps before creating u_vbuf itself.
It will be useful for determining if u_vbuf should be used or not.

Also adapt r300g and r600g.
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
7d36478d888accd18d55cc76ba41af0ad7d3baf8 10-Apr-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: use user_ptr from pipe_resource
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
5ec7c28fdbc2e05d20b1a07cba1fe6ac3b6658f9 31-Mar-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: override draw_vbo
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
889238c8b1e6b8ac5eed30ec3122be94216ca7cf 31-Mar-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: override create/bind/destroy_vertex_elements_state
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
2d03d4f4a365d7af5f4dac20700009152eba1682 31-Mar-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: override set_vertex_buffers
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
31714ea4d5a20285f398286fe45b53d0609926dd 31-Mar-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: override set_index_buffer

This makes u_vbuf_mgr call the driver instead of the other way around.
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
2bdf93449a0b00145fabdd3f7866acbafa18e734 07-Jan-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: don't unroll indices if mapping vertex buffers blocks
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
c2cc630f2896175ff0f368d9199acbe24afb7e75 04-Jan-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: use cso_cache to cache vertex element states

Improves performance to 28 fps in Cogs.
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
ce44bae366ade59fb2dbdfbfe5a1ab8d24518a57 03-Jan-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: implement another upload codepath which unrolls indices

Improves performance from cca 1 fps to 23 fps in Cogs.
This new codepath is not always used, instead, there is a heuristic which
determines whether to use it. Using translate for uploads is generally
slower than what we have had already, it's a win only in a few cases.
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
2b851526c1c047bba7ebb7e51706b1694f027947 03-Jan-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: cleanup variable names to be consistent
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
64242b23c1893dd6e1c048beee0e1573aeaf1abc 03-Jan-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: cleanup the computation of how many vertices to upload/translate
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
c897b943f4ba6ad4c7547d16aa9bca47ac1230de 03-Jan-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: convert min_index,max_index to start,count
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
5968e4068cdcb0551f1c519f236560bb44ea659e 01-Jan-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: translate per-vertex, per-instance, and constant attribs separately

We don't wanna convert per-instance or constant (zero-stride) attribs into
ordinary vertex attribs.

More importantly, the translation of instance attribs now finally works.
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
dbd60d27e8087a3bacf36d4eceef15dc4fcdccee 01-Jan-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: take start_instance into account when uploading instanced attribs
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
f94d390213308d4aca1515c75acc6865ebb45796 01-Jan-2012 Marek Olšák <maraeo@gmail.com> u_upload_mgr: remove the 'flushed' parameter

Not used by anybody.

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
c727cc175bcbf96f12f27c46819667948d5ebbe2 01-Jan-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: don't map user buffers, just obtain a pointer to them
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
f430f794ace50022b1b81408a3721b8e0b2519bb 01-Jan-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: only map a subrange of buffers to translate
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
fb0aa34fab77fe8a7fc3253d5ecf635ce37a21c7 01-Jan-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: remove the workaround for half floats and translate
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
de93347d482a96f88c898622c9620f03e677e386 01-Dec-2011 Vinson Lee <vlee@vmware.com> u_vbuf: Silence uninitialized variable warnings.

Fixes these GCC warnings.
u_vbuf.c: In function ‘u_vbuf_draw_begin’:
u_vbuf.c:839:20: warning: ‘max_index’ may be used uninitialized in this function [-Wuninitialized]
u_vbuf.c:838:20: warning: ‘min_index’ may be used uninitialized in this function [-Wuninitialized]

Signed-off-by: Vinson Lee <vlee@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c
fba685a0995e76f86af5920163297e5c3b32fb4b 22-Nov-2011 Marek Olšák <maraeo@gmail.com> u_vbuf_mgr: rename to u_vbuf
/external/mesa3d/src/gallium/auxiliary/util/u_vbuf.c