History log of /external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
492b69f3be3e355064c67bc6f4a30d40e997ce9d 30-Oct-2012 Marek Olšák <maraeo@gmail.com> vbo: fix glVertexAttribI* functions

The functions were broken, because they converted ints to floats.
Now we can finally advertise OpenGL 3.0. ;)

In this commit, the vbo module also tracks the type for each attrib
in addition to the size. It can be one of FLOAT, INT, UNSIGNED_INT.

The little ugliness is the vertex attribs are declared as floats even though
there may be integer values. The code just copies integer values into them
without any conversion.

This implementation passes the glVertexAttribI piglit test which I am going
to commit in piglit soon. The test covers vertex arrays, immediate mode and
display lists.

NOTE: This is a candidate for the stable branches.

Reviewed-by: Brian Paul <brianp@vmware.com>

v2: cosmetic changes as suggested by Brian
(cherry picked from commit acf438f5375e2426386694e541b843dc6f8fd11a)
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.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_exec_draw.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_exec_draw.c
802ca81e260f6ccfe2cf492e96b2887131bed09c 22-Apr-2012 Marek Olšák <maraeo@gmail.com> vbo: call UpdateState directly when notifying a driver about _NEW_ARRAY

Core Mesa doesn't need to know about this.

This also removes the hack in recalculate_input_bindings.

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
97e2f625b8bcba96acde29dcd017031e036f4a24 16-Apr-2012 Marek Olšák <maraeo@gmail.com> vbo: remove vbo_context::mat_currval

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
8c990de0d682bbedfd7e1988d4f8948ea99b0cc3 16-Apr-2012 Marek Olšák <maraeo@gmail.com> vbo: remove vbo_context::generic_currval

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
fa48137f292bbf8cbcd65e9caf33633cddc96600 16-Apr-2012 Marek Olšák <maraeo@gmail.com> vbo: remove vbo_context::legacy_currval

It's not nice when you have several variables pointing to the same array
and you wanna ask your editor "where is this used" and you only get an answer
for one of the four currval, legacy_currval, generic_currval, mat_currval,
which is quite useless, because you never see the whole picture.

Let's get rid of the additional pointers.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
576c8c592a4be7047a00b0c8fe3851b09f10d8d4 16-Apr-2012 Marek Olšák <maraeo@gmail.com> mesa: add _NEW_VARYING_VP_INPUTS for gl_context::varying_vp_inputs

This is a frequently-updated state and _NEW_ARRAY already causes revalidation
of the vbo module. It's kinda counter-productive to recompute arrays
in the vbo module if _NEW_ARRAY is set and then set _NEW_ARRAY again.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.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_exec_draw.c
dca6a28a14f22d77273d79d44f57b0d853c0242d 31-Oct-2011 Mathias Fröhlich <Mathias.Froehlich@web.de> mesa: Make gl_program::InputsRead 64 bits.

Make gl_program::InputsRead a 64 bits bitfield.
Adapt the intel and radeon driver to handle a 64 bits
InputsRead value.

Signed-off-by: Mathias Froehlich <Mathias.Froehlich@web.de>
Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
ed42c2580717527b2005580940fc766d95bb6b0b 31-Oct-2011 Mathias Fröhlich <Mathias.Froehlich@web.de> vbo: Use The VERT_{ATTRIB,BIT} defines.

Signed-off-by: Mathias Froehlich <Mathias.Froehlich@web.de>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
97dedfda5fbb4078db28519e50adeeeb8e1a1dc1 10-Nov-2011 Brian Paul <brianp@vmware.com> vbo: better handling of VBO allocation failures

Previously, if we failed to allocate a VBO (either for display list
compilation or immediate mode rendering) we'd eventually segfault
when trying to map the non-existant buffer or in a glVertex/Color/etc
call when we hit a null pointer.

Now we don't try to map non-existant buffers and if we do fail to
allocate a VBO we plug in no-op functions for glVertex/Color/etc
so we don't segfault.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
038d654bcb4e9d88eab420cefc3169d4845db4c9 24-Aug-2011 Brian Paul <brianp@vmware.com> vbo: remove unused var, remove unneeded local var
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.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_exec_draw.c
6183edc070e2d3dce36ab5ee7aee72b0c38775a7 22-Aug-2011 Ian Romanick <ian.d.romanick@intel.com> mesa: Remove target parameter from dd_function_table::FlushMappedBufferRange

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_exec_draw.c
4ddae2fb666c86e3267ef6e3d2699f9bfb40d206 22-Aug-2011 Ian Romanick <ian.d.romanick@intel.com> mesa: Remove target parameter from dd_function_table::MapBufferRange

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_exec_draw.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_exec_draw.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_exec_draw.c
204991bf5d29caa3fa54df9e4f6898faa73752cf 07-Apr-2011 Brian Paul <brianp@vmware.com> mesa: Update _ElementSize.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
7cba2df4a6f3b4435fe4be277db4a87b2a0f89e3 21-Feb-2011 Brian Paul <brianp@vmware.com> vbo: rename, document function params
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
f0c8e7c32766cb78756de24a9ca5e8c28017a682 21-Feb-2011 Brian Paul <brianp@vmware.com> vbo: comments
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
0ba2810e47d68ec24a93c5fc74cf99afe50e8c9b 21-Feb-2011 Brian Paul <brianp@vmware.com> vbo: replace assert(0) with proper assertions
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
5a01361ceaf29614ba008278e31cf2ffe85f251b 27-Dec-2010 Marek Olšák <maraeo@gmail.com> vbo: notify a driver that we change buffer offsets, strides, etc.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
14b36cd568b7f3ae963430248fcd7ef0b7a165f6 09-Jan-2011 Vinson Lee <vlee@vmware.com> vbo: Include mfeatures.h in files that perform feature tests.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
2e64c2209e7f9d5acbcc9d70bf315732f3c403b3 31-Oct-2010 Francisco Jerez <currojerez@riseup.net> vbo: Avoid unnecessary copy to/from current in vertex format upgrade.

Rebuilding the vertex format from scratch every time we see a new
vertex attribute is rather costly, new attributes can be appended at
the end avoiding a copy to current and then back again, and the full
attr pointer recalculation.

In the not so likely case of an already existing attribute having its
size increased the old behavior is preserved, this could be optimized
more, not sure if it's worth it.

It's a modest improvement in FlightGear (that game punishes the VBO
module pretty hard in general, framerate goes from some 46 FPS to 50
FPS with the nouveau classic driver).

Signed-off-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.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_exec_draw.c
9846b0627149e221c9fbd7c3379e33fb68e68511 01-Aug-2010 Vinson Lee <vlee@vmware.com> mesa: Remove inclusion of compiler.h from mtypes.h.

mtypes.h does not use any symbols from compiler.h.

Also add the required headers for files that depended on symbols from
compiler.h but were indirectly including compiler.h through mtypes.h.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
1a537b639ee7f2d35230c68ba89491711919656d 30-Jul-2010 Vinson Lee <vlee@vmware.com> mesa: Remove unnecessary headers.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.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_exec_draw.c
c7ac486261ad30ef654f6d0b1608da4e8483cd40 19-Feb-2010 Kenneth Graunke <kenneth@whitecape.org> Remove _mesa_memcpy in favor of plain memcpy.

This may break the SUNOS4 build, but it's no longer relevant.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
37d326503dcd6c779e90c3f8f4626beba28dc449 13-Jan-2010 Vinson Lee <vlee@vmware.com> vbo: Remove unnecessary header from vbo_exec_draw.c.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
898de4a9d5e47ed32c600e5907476fd9338aa7e9 05-Nov-2009 Brian Paul <brianp@vmware.com> Merge branch 'mesa_7_6_branch'

Conflicts:

src/mesa/drivers/windows/gdi/mesa.def
1c3f7ab74ce492d6c92f2e3a0f29957fa9a71d96 05-Nov-2009 Brian Paul <brianp@vmware.com> vbo: fix out-of-bounds array access

The exec->vtx.inputs[] array was being written past its end. This was
clobbering the following vbo_exec_context::eval state. Probably not noticed
since evaluators and immediate mode rendering don't happen at the same time.

Fixed the loop in vbo_exec_vtx_init().
Changed the size of the vbo_exec_context::vtx.arrays[] array.
Added a bunch of debug-build assertions.

Issue found by Vinson Lee.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
cef97267d696d37f4dccb22951499ca25d5d87ad 12-Sep-2009 Chia-I Wu <olvaffe@gmail.com> mesa/main: New feature FEATURE_beginend.

This feature corresponds to the Begin/End paradigm. Disabling this
feature also eliminates the use of GLvertexformat completely.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
8096aa521369c3bcf5226c060efa6dd06e48ddc8 28-Aug-2009 Eric Anholt <eric@anholt.net> vbo: Fix array pointer calculation for MapBufferRange-mapped vertex data.

We would end up with the offset from the start of the mapping rather than
the offset from the start of the buffer.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
476290946e7bd3b7fe5688622127d8c6a9c7f367 26-Aug-2009 Brian Paul <brianp@vmware.com> Merge branch 'mesa_7_5_branch'
93aa0fd81c44c7a5f29f30e8f730e060597b06ad 24-Aug-2009 Brian Paul <brianp@vmware.com> vbo: fix divide by zero exception

Fixes bug 23489.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
b9b04872d526ed7955f647542399e110ace0325c 24-Aug-2009 Brian Paul <brianp@vmware.com> vbo: fix divide by zero exception

Fixes bug 23489.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
bd4c6a2e503db43e81ef41f77d876308badd93eb 12-Aug-2009 Brian Paul <brianp@vmware.com> vbo: use _mesa_is_bufferobj()
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.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_exec_draw.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
9a0b570ab64169cee66f848d97d65f22c43d13ec 03-Jul-2009 Corbin Simpson <MostAwesomeDude@gmail.com> vbo: If MapBufferRange fails, try MapBuffer instead.

Fixes segfaults with radeon winsys.
(Probably libdrm_radeon doing something that it shouldn't.)
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
4147bb24d49a10498e00039fc1dc9aa5f1316777 30-Jun-2009 Keith Whitwell <keithw@vmware.com> Merge branch 'mesa_7_5_branch' into dlist-statechange-shortcircuit

Need this to pick up fixes for per-vertex materials.
b40dc7e7fcafc30ebaa3778ee847c8983987de83 30-Jun-2009 Brian Paul <brianp@vmware.com> Merge branch 'mesa_7_5_branch'

Conflicts:

src/mesa/vbo/vbo_exec_draw.c
6e09c1fd085361212c5bfccf6b2810f3f8052231 30-Jun-2009 José Fonseca <jfonseca@vmware.com> mesa: Set FLUSH_EXPLICIT_BIT flags when calling FlushMappedBufferRange.

As prescribed by ARB_map_buffer_range.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.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_exec_draw.c
4b55e3695279daef221669ff063631cf3675da0c 22-May-2009 Brian Paul <brianp@vmware.com> vbo: asst. reformatting, clean-ups
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
c3538969e1ae3e626a618934aa8f35a7a22ddb39 22-May-2009 Brian Paul <brianp@vmware.com> vbo: fix crash in vbo_exec_bind_arrays()

When a vertex shader uses generic vertex attribute 0, but not gl_Vertex,
we need to set attribute[16] to point to attribute[0]. We were setting the
attribute size, but not the pointer.

Fixes crash in glsl/multitex.c when using the VertCoord attribute instead
of gl_Vertex.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
460e5b11c98e07d12c655e5bf2f1e993d05bd7a1 07-Mar-2009 Brian Paul <brianp@vmware.com> mesa: s/int/GLsizeiptr/ to silence warning with 64-bit build
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
8ad65a23d14f82461c00b1d8dcc1393167f36ab0 04-Mar-2009 José Fonseca <jfonseca@vmware.com> mesa: Follow ARB_map_buffer_range more stricly.

Namelly, FlushMappedBufferRange takes a subrange relative to the original
range.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
99a540bfbeea1762266a937deffc5010511eb38d 04-Mar-2009 José Fonseca <jfonseca@vmware.com> Merge commit 'origin/master' into gallium-map-range
368ca83a3fdfbe8dfe591ab73d29c500d1a91c0a 04-Mar-2009 Keith Whitwell <keithw@vmware.com> vbo: second attempt - avoid getting buffer_ptr and buffer_map out of sync
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
fba923ff4415ce8a14c890dea65bcb07b2f87fb5 04-Mar-2009 Keith Whitwell <keithw@vmware.com> Revert "vbo: avoid getting buffer_ptr and buffer_map out of sync"

This fixed a minor bug but broke everything else.

This reverts commit 579ef8ab1984d895867f547afa60b3bec4c4599a.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
579ef8ab1984d895867f547afa60b3bec4c4599a 04-Mar-2009 Keith Whitwell <keithw@vmware.com> vbo: avoid getting buffer_ptr and buffer_map out of sync
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
cfd5298f240612ef69ae321aebbc425710a8d731 04-Mar-2009 José Fonseca <jfonseca@vmware.com> mesa: Implement and use FlushMappedBufferRange.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
004d8f11882c6c149a395cf2e86d5d5fb3fa114b 03-Mar-2009 José Fonseca <jfonseca@vmware.com> mesa: Massage the interface to more closely resemble ARB_map_buffer_range
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
916de35d677ca5238e9515840fa5aa9f81302c5b 03-Mar-2009 Keith Whitwell <keithw@vmware.com> Merge commit 'origin/gallium-0.1'

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
c4d1f4607abf3dfbcfcffc5c67bb89d420d3381a 03-Mar-2009 Keith Whitwell <keithw@vmware.com> vbo: use MapBufferRange where available

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.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
e97681c7f551a2a2a6bd5eff0f4192a870c816c0 09-Feb-2009 Brian Paul <brianp@vmware.com> mesa: merge gallium-0.2 into gallium-master-merge

Merge commit 'origin/gallium-0.2' into gallium-master-merge

Conflicts:

Makefile
docs/relnotes-7.4.html
docs/relnotes.html
src/mesa/drivers/dri/i965/brw_wm.h
src/mesa/main/imports.c
src/mesa/main/mtypes.h
src/mesa/main/texcompress.c
src/mesa/main/texenvprogram.c
src/mesa/main/version.h
src/mesa/vbo/vbo_exec_api.c
src/mesa/vbo/vbo_save_draw.c
dea0d4d56326f148a42c766bdbaf1b5bb247cc59 03-Feb-2009 Brian Paul <brianp@vmware.com> mesa: fix GLSL issue preventing use of all 16 generic vertex attributes

Only 15 actually worked before since we always reserved generic[0] as an
alias for vertex position.

The case of vertex attribute 0 is tricky. The spec says that there is no
aliasing between generic vertex attributes 0..MAX_VERTEX_ATTRIBS-1 and the
conventional attributes. But it also says that calls to glVertexAttrib(0, v)
are equivalent to glVertex(v). The distinction seems to be in glVertex-mode
versus vertex array mode.

So update the VBO code so that if the shader uses generic[0] but not gl_Vertex,
route the attribute data set with glVertex() to go to shader input generic[0].

No change needed for the glDrawArrays/Elements() path.

This is a potentially risky change so regressions are possible. All the usual
tests seem OK though.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.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_exec_draw.c
d7f1cb5b5a134b63227d5746a2dd1f05597c5c2f 10-Oct-2008 Keith Whitwell <keith@tungstengraphics.com> Merge commit 'origin/gallium-0.1' into gallium-0.2

Conflicts:

src/gallium/auxiliary/gallivm/instructionssoa.cpp
src/gallium/auxiliary/gallivm/soabuiltins.c
src/gallium/auxiliary/rtasm/rtasm_x86sse.c
src/gallium/auxiliary/rtasm/rtasm_x86sse.h
src/mesa/main/texenvprogram.c
src/mesa/shader/arbprogparse.c
src/mesa/shader/prog_statevars.c
src/mesa/state_tracker/st_draw.c
src/mesa/vbo/vbo_exec_draw.c
239617fbe22d4dd7b2794510a6665f09602b5adf 07-Oct-2008 Brian Paul <brian.paul@tungstengraphics.com> mesa: replace GLuint with GLbitfield to be clearer about usage

Also, fix up some comments to be doxygen style.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
1680ef869625dc1fe9cf481b180382a34e0738e7 03-Oct-2008 Keith Whitwell <keith@tungstengraphics.com> mesa: avoid generating constant vertex attributes in fixedfunc programs

Keep track of enabled/active vertex attributes.
Keep track of potential vertex program outputs.

When generating fragment program, replace references to fragment attributes
which are effectively non-varying and non-computed passthrough attributes with
references to the new CURRENT_ATTRIB tracked state value.

Only downside is slight ugliness in VBO code where we need to validate state
twice in succession.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
6222eb3fcd12147ea2e7ccc20a71a921cebbb0d2 25-Sep-2008 Brian Paul <brian.paul@tungstengraphics.com> mesa: fix some VBO buffer object issues

The VBO module may use a real VBO or a malloc'd buffer for vertex storage.
Be careful not to accidentally replace the later with the former when drawing.
Check if using a real VBO at destroy time to prevent a double-free.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
33fef8be825ee8ec6abc0c2ffd9a3a967d84df88 18-Dec-2007 Keith Whitwell <keith@tungstengraphics.com> vbo: unmap and remap immediate vbo before/after each draw.

Also use BufferData(NULL) to get fresh storage and avoid synchronous
operation where we would have to flush and wait for the fence after each
draw because of the map.

This will chew through a whole load of buffer space on small draws, so
it isn't a proper solution. Need to support a no-fence or append mapping
mode to do this right, or use user buffers.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
6f765fbde42a4f729780aa39d2b0ed9d736dd5a8 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_exec_draw.c
9acf207277b4de91b917b37a92f6b612f4710c80 17-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> mesa: s/GL_POLYGON+1/PRIM_OUTSIDE_BEGIN_END/
(cherry picked from commit 8a369b909a6648ae7a5a0c2dcb972a2f96f99a80)
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
a69fc5129bdf2f245c5bf2e0fe7b542caf7809a9 04-Sep-2008 Brian Paul <brian.paul@tungstengraphics.com> mesa: improved gl_buffer_object reference counting

Use new _mesa_reference_buffer_object() function wherever possible.
Fixes buffer object/display list crash reported in ParaView.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
37c74af01ce52b603f565a6c8a9094500d5cb87a 04-Sep-2008 Brian Paul <brian.paul@tungstengraphics.com> mesa: improved gl_buffer_object reference counting

Use new _mesa_reference_buffer_object() function wherever possible.
Fixes buffer object/display list crash reported in ParaView.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
8a369b909a6648ae7a5a0c2dcb972a2f96f99a80 17-Jun-2008 Brian Paul <brian.paul@tungstengraphics.com> mesa: s/GL_POLYGON+1/PRIM_OUTSIDE_BEGIN_END/
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
ffbd455a36f1d7600bd5b60e91768133d901d2f4 16-May-2008 Brian Paul <brian.paul@tungstengraphics.com> fix an attr/src mix-up when setting-up/binding vertex arrays

This fixes problems with incorrect material coefficients when glMaterial
is called per-vertex.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
a2e6beade196aef269bda6bb3efb68809f85a683 16-May-2008 Brian Paul <brian.paul@tungstengraphics.com> fix an attr/src mix-up when setting-up/binding vertex arrays

This fixes problems with incorrect material coefficients when glMaterial
is called per-vertex.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
9d4ab42f4be3a26f702729cc79ef67f8afc2eca5 18-Dec-2007 Keith Whitwell <keith@tungstengraphics.com> vbo: unmap and remap immediate vbo before/after each draw.

Also use BufferData(NULL) to get fresh storage and avoid synchronous
operation where we would have to flush and wait for the fence after each
draw because of the map.

This will chew through a whole load of buffer space on small draws, so
it isn't a proper solution. Need to support a no-fence or append mapping
mode to do this right, or use user buffers.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
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_exec_draw.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_exec_draw.c
c080123998f28d9317331aec7ddfcd1074b29daf 26-Feb-2007 Aapo Tahkola <aapo@aapo-desktop.(none)> Fix #10071 - wrong max_index in vbo draw_prims. (Papadakos Panagiotis)
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
5970400476c5c0a1223a49e9ec2eb511ae94b246 25-Jan-2007 Roland Scheidegger <sroland@tungstengraphics.com> re-fix bug 9062 in vbo code
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
fd2756006a0baf63f60548d8f509de5b9a143608 30-Oct-2006 Keith Whitwell <keith@tungstengraphics.com> Move edgeflag into the VERT_ATTRIB_SEVEN slot. This means that our
NV_vertex_program implementation has slightly incorrect aliasing
behaviour. I think this is reasonable given the simplification and
the fact that the mainstream ARB_vp continues to have the correct
behaviour.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
99efde461d3b8615863bdb7308e05289e0db0422 30-Oct-2006 Keith Whitwell <keith@tungstengraphics.com> better handling of current attributes. Trivial dlist and varray tests work
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c
fd12b37dbada6f945a94b93ecf332d0b6a8eef06 29-Oct-2006 Keith Whitwell <keith@tungstengraphics.com> Checkpoint of new vbo-building code. Currently builds regular arrays
rather than VBO's - VBOs are easy but need to look closer at the
driver interface. The trivial/tri demo works.
/external/mesa3d/src/mesa/vbo/vbo_exec_draw.c