History log of /external/mesa3d/src/mesa/vbo/vbo.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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.h
bc8e0f5b0ff82c919ed1ee67e4fad55705937b30 08-May-2012 Jordan Justen <jordan.l.justen@intel.com> vbo: add software primitive restart support

vbo_sw_primitive_restart implements primitive restart in software
by splitting primitive draws apart.

This is based on similar support in mesa/state_tracker/st_draw.c.

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/vbo/vbo.h
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.h
fd4a3d463c103192311aacc04f5f871f4a1035df 09-Feb-2012 Dave Airlie <airlied@redhat.com> mesa/vbo: inline vbo_sizeof_ib_type.

Can't see any reason this wouldn't be better off as an inline.

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/vbo/vbo.h
42d4972bf0b147b0241c2be7e6579fd64cf2c216 31-Dec-2011 Yuanhan Liu <yuanhan.liu@linux.intel.com> vbo: introduce vbo_get_minmax_indices function

Introduce vbo_get_minmax_indices() function to handle the min/max index
computation for nr_prims(>= 1). The old code just compute the first
prim's min/max index; this would results an error rendering if user
called functions like glMultiDrawElements(). This patch servers as
fixing this issue.

As when nr_prims = 1, we can pass 1 to paramter nr_prims, thus I made
vbo_get_minmax_index() static.

v2: per Roland's suggestion, put the indices address compuation into
vbo_get_minmax_index() instead.

Also do comination if possible to reduce map/unmap count

v3: per Brian's suggestion, use a pointer for start_prim to avoid
structure copy per loop.

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/vbo/vbo.h
efa1fac2158c9146b87f0d4340a864661721de21 28-Dec-2011 Yuanhan Liu <yuanhan.liu@linux.intel.com> vbo: introduce vbo_sizeof_ib_type() function

introduce vbo_sizeof_ib_type() function to return the index data type
size. I see some place use switch(ib->type) to get the index data type,
which is sort of duplicate.

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/vbo/vbo.h
dc7b6d7d6defdfe4f79fb682d3378a3bed8b5db9 19-Dec-2011 Paul Berry <stereotype441@gmail.com> mesa: Add count_tessellated_primitives() function.

This function computes the number of primitives that will be generated
when the given drawing operation is performed. It accounts for the
tessellation that is performed on line strips, line loops, triangle
strips, triangle fans, quads, quad strips, and polygons, so it is
suitable for implementing the primitive counters needed by transform
feedback.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/vbo/vbo.h
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.h
8c7c589c4e70d7cdcceb350aa4edd3d9eec4403e 06-Oct-2011 Chad Versace <chad@chad-versace.us> vbo: Redeclare bind_array() as non-static vbo_bind_array()

This is necessary because i965 will need to call vbo_bind_array() when
cleaning up after a buffer resolve meta-op.

Detailed Explanation
--------------------
The vbo module tracks vertex attributes separately from the gl_context.
Specifically, the vbo module maintins vertex attributes in
vbo_exec_context::array::inputs, which is synchronized with
gl_context::Array::ArrayObj::VertexAttrib by vbo_bind_array().
vbo_draw_arrays() calls vbo_bind_array() to perform the synchronization
before calling the real draw call, vbo_context::draw_arrays.

Intel hardware accomplishes buffer resolves with a meta-op. Frequently,
that meta-op must be performed within glDraw* in the moment immediately
before the draw occurs (The hardware designers hate us...). After
performing the meta-op, but before calling vbo_bind_array(), the
gl_context's vertex attributes will have been restored to their original
state (that is, their state before the meta-op began), but the vbo
module's vertex attribute are those used in the last meta-op. Therefore we
must manually synchronize the two with vbo_bind_array() before continuing
with the original draw command (that is, the one requested with glDraw*).

See brw_predraw_resolve_buffers(), which will be added in a future commit.

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Chad Versace <chad@chad-versace.us>
/external/mesa3d/src/mesa/vbo/vbo.h
8731f0363fea81394417b2da8a9ac9788a0dcfc6 02-Mar-2011 Brian Paul <brianp@vmware.com> vbo: add vbo_always_unmap_buffers()

Drivers can call this function as needed. It tells the VBO module to
always unmap the current glBegin/glEnd VBO when we flush. Otherwise
it's possible to be in a flushed state but still have the VBO mapped.
/external/mesa3d/src/mesa/vbo/vbo.h
6d1f28d6c045f768da2eee779006535acf382cce 22-Feb-2011 Brian Paul <brianp@vmware.com> vbo: added vbo_check_buffers_are_unmapped() debug function
/external/mesa3d/src/mesa/vbo/vbo.h
b62e78c783a76215f404ba69eef9b4f58b4a07ea 20-Jan-2011 Brian Paul <brianp@vmware.com> vbo: added comment
/external/mesa3d/src/mesa/vbo/vbo.h
43c291683c1cad16f7bec0eb5f0fafb3aedbf8bb 30-Dec-2010 Vinson Lee <vlee@vmware.com> vbo: Clean up header file inclusion in vbo.h.
/external/mesa3d/src/mesa/vbo/vbo.h
b3d2ec9942303d1d03e28a25b030eb060415abfb 17-Oct-2010 Mathias Fröhlich <Mathias.Froehlich@web.de> vbo: Avoid the copy to current in dlists if not required.

The current state is allowed to be undefined past DrawElements et al.
Consequently omit that copying at least in the display list code.
This pays us some percents performance.

Signed-off-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/vbo/vbo.h
98ee6739d97b5592a7dad0b453c78e180a51ad50 07-Dec-2010 Chia-I Wu <olv@lunarg.com> vbo: Fix GLES2 glVertexAttrib.

Attribute 0 has no special meaning in GLES2. Add VertexAttrib4f_nopos
for that purpose and make _es_VertexAttrib* call the new function.

Rename _vbo_* to _es_* to avoid confusion. These functions are only
used by GLES, and now some of them (_es_VertexAttrib*) even behave
differently than vbo_VertexAttrib*.
/external/mesa3d/src/mesa/vbo/vbo.h
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.h
43873b53c4d15f10f0321c770b1b8bd537cc226d 12-Oct-2010 Eric Anholt <eric@anholt.net> i965: Don't rebase the index buffer to min 0 if any arrays are in VBOs.

There was a check to only do the rebase if we didn't have everything
in VBOs, but nexuiz apparently hands us a mix of VBOs and arrays,
resulting in blocking on the GPU to do a rebase.

Improves nexuiz 800x600, high-settings performance on my Ironlake 41%
(+/- 1.3%), from 14.0fps to 19.7fps.
/external/mesa3d/src/mesa/vbo/vbo.h
44f9aef9ee9ceda0659e882afbac4d877267c4fd 23-Apr-2010 Kristian Høgsberg <krh@bitplanet.net> mesa: Move GLES1/2 vbo entrypoints to vbo_exec_api.c

This let's us drop stubs.c.
/external/mesa3d/src/mesa/vbo/vbo.h
3b7ac45162412a79c3cd4d4dbc16bd54db597608 05-Apr-2010 Brian Paul <brianp@vmware.com> mesa: implement core Mesa support for GL_ARB_draw_instanced
/external/mesa3d/src/mesa/vbo/vbo.h
92d7ed8a20d4a018ce5324e6537ae7b478b9e5bf 27-Aug-2009 Eric Anholt <eric@anholt.net> mesa: Add support for ARB_draw_elements_base_vertex.
/external/mesa3d/src/mesa/vbo/vbo.h
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.h
8d2400f2161efa95d2ef18fec353db4841f09637 08-Jul-2008 Jonathan White <jwhite@tungstengraphics.com> mesa: added GLAPIENTRY keywords
/external/mesa3d/src/mesa/vbo/vbo.h
dd3311aa89035aa2e624f54b6914cfbcf57b33d7 04-Jul-2008 Brian Paul <brian.paul@tungstengraphics.com> mesa: added _vbo_VertexAttrib4f()
/external/mesa3d/src/mesa/vbo/vbo.h
1b241a4369fcba5972a7ab38b9a5595a434e0b56 20-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> mesa: added _vbo_Materialfv()
/external/mesa3d/src/mesa/vbo/vbo.h
71f67dde34546f40c7617948f8fa945288e55e17 20-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> mesa: _vbo_Color4f, _vbo_Normal3f, _vbo_MultiTexCoord4f functions
/external/mesa3d/src/mesa/vbo/vbo.h
c885775cae8feabe5431ba7867fac99332f5ee8e 08-Dec-2007 Brian <brian.paul@tungstengraphics.com> New vbo_set_draw_func() to keep vbo context opaque to state tracker and tnl module.
/external/mesa3d/src/mesa/vbo/vbo.h
5568a7d30120d830c93494a7b3382bfa8b4d2800 17-Aug-2007 Brian <brian.paul@tungstengraphics.com> added vbo_use_buffer_objects() to specify that immediate mode data should be put into bufferobjects
/external/mesa3d/src/mesa/vbo/vbo.h
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.h
893526b8a823fe1b88f2b46376155afb91c84016 30-Jan-2007 Keith Whitwell <keith@tungstengraphics.com> Use new rebase helper. Remove other rebase code.
/external/mesa3d/src/mesa/vbo/vbo.h
240641de0c8532009fd21be7d4b0b84e471e91e8 30-Jan-2007 Keith Whitwell <keith@tungstengraphics.com> Helper for rebasing draw requests where min_index != 0.
/external/mesa3d/src/mesa/vbo/vbo.h
1b7c24c33c43e2c0db391735b2f2ca0026459cc9 15-Jan-2007 keithw <keithw@keithw-laptop.(none)> Hook in split functionality
/external/mesa3d/src/mesa/vbo/vbo.h
1f07439fe8c6803f70a27a1cdb9d76360ae40571 31-Oct-2006 Keith Whitwell <keith@tungstengraphics.com> move public structure definitions to vbo.h
/external/mesa3d/src/mesa/vbo/vbo.h
48f5deab94be832a782a440f55a7bc742d50a62f 30-Oct-2006 Keith Whitwell <keith@tungstengraphics.com> switch several dri drivers over
/external/mesa3d/src/mesa/vbo/vbo.h