Age | Commit message (Collapse) | Author |
|
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.
|
|
Rename some structs and fields to be more consistant with the rest of mesa.
|
|
Should help to solve failed assertion in i965 driver (see bug 19708)
|
|
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.
|
|
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.
|
|
put into bufferobjects
|
|
(cherry picked from commit 026e7731e549e0777c010348460fd48b3d75a843)
|
|
(cherry picked from commit 8a369b909a6648ae7a5a0c2dcb972a2f96f99a80)
|
|
|
|
|
|
Also, check the FEATURE flags in many places.
(cherry picked from commit 40d1a40f294f1ed2dacfad6f5498322fc08cc2d1)
Conflicts:
src/mesa/main/config.h
src/mesa/main/context.c
src/mesa/main/texobj.c
src/mesa/main/texstate.c
src/mesa/main/texstore.c
|
|
|
|
vbo_save_EndList())
|
|
Primitive begin in one dlist, end in another.
|
|
Use new _mesa_reference_buffer_object() function wherever possible.
Fixes buffer object/display list crash reported in ParaView.
|
|
|
|
This fixes problems with incorrect material coefficients when glMaterial
is called per-vertex.
|
|
|
|
|
|
|
|
|
|
|
|
executing a display list. fix #10604
|
|
|
|
Also added an assertion to check that NR_MAT_ATTRIBS == MAT_ATTRIB_MAX.
In the unlikely event this ever changes, maybe restore the code.
|
|
In the case that a buffer object is bound to
ELEMENT_ARRARY_BUFFER, it is invalid to directly
dereference indices passed to glDrawElements.
|
|
of -I flags.
|
|
|
|
|
|
(see bug 10587)
|
|
|
|
Conflicts:
src/mesa/main/context.c
|
|
-include missing definitions
-add files to compile
-remove files from compile list which are removed from the repositry
-add support for vbo
new file: src/mesa/vbo/descrip.mms
modified: src/mesa/descrip.mms
modified: src/mesa/drivers/osmesa/descrip.mms
modified: src/mesa/drivers/x11/descrip.mms
modified: src/mesa/swrast_setup/descrip.mms
modified: src/mesa/tnl/descrip.mms
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
and sw mesa)
|
|
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)
|
|
|
|
|
|
|
|
|
|
|
|
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
|