| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
We now raise an GL_INVALID_ENUM in glBegin() if mode is illegal, as was
done in Yuanhan Liu's original patch.
Take geometry shaders support into account too.
Reviewed-by: Yuanhan Liu <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds the vertex processing paths for the 2101010 types. It converts
the attributes to floats for all the immediate entry points, some entrypoints
are normalised and the attrib APIs take a normalized parameter.
There are four main paths,
ui10 -> float unnormalized
i10 -> float unnormalized
ui10 -> float normalized
i10 -> float normalized
along with the ui2/i2 equivs.
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
Reviewed-by: Brian Paul <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Reviewed-by: Eric Anholt <[email protected]>
|
|
|
|
|
|
|
| |
Move vbo_exec_FlushVertices_internal out of FEATURE_beginend.
Reviewed-by: Brian Paul <[email protected]>
Reviewed-by: Chad Versace <[email protected]>
|
|
|
|
|
|
| |
See the piglit dlist-fdo31590.c test
NOTE: This is a candidate for the 7.10 branch.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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*.
|
|
|
|
|
| |
There is no need to have a special version of ATTR for
!FEATURE_beginend, since 81ccb3e2ce708619f4c23537a237d61bdffdd35f.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
| |
The integers still get converted to floats. That'll have to change someday.
|
|
|
|
|
| |
We handle splitting of glDrawArrays() calls into two primitives here
so that drivers don't have to worry about it.
|
|
|
|
|
|
|
| |
Just always check for FLUSH_UPDATE_CURRENT and call Driver.BeginVertices
when necessary. By using the unlikely() macros, this ends up as
a 10% performance improvement (for isosurf, anyway) over the old,
complicated function pointer swapping.
|
| |
|
|
|
|
|
| |
_vbo_Materialf calls _vbo_Materialfv, which uses the params argument as
an array.
|
|
|
|
| |
This let's us drop stubs.c.
|
|
|
|
|
|
|
| |
Fixes failed assertion from fd.o bug 27713.
The assertion was added with the new resource/transfer changes.
This patch could apply to the 7.8 branch but it's not essential.
|
| |
|
|
|
|
|
|
| |
glapi/dispatch.h is a core Mesa header file. Move the header file to
main/ to make this clear. It also becomes clear after this change that
IN_DRI_DRIVER is only used in core Mesa to enable the remap table.
|
| |
|
| |
|
|
|
|
| |
This may break the SUNOS4 build, but it's no longer relevant.
|
|
|
|
|
|
|
|
| |
This object can be shared with another context, so we cannot just
delete it when the owning context is being destroyed.
Ensuring that buffer objects are properly refcounted guarantees
NullBufferObj is destroyed when all references to it are removed.
|
|
|
|
| |
This fixes invalid failed assertions when running multi-threaded apps.
|
| |
|
|\
| |
| |
| |
| |
| | |
Conflicts:
src/mesa/drivers/windows/gdi/mesa.def
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| |
| | |
This feature corresponds to the Begin/End paradigm. Disabling this
feature also eliminates the use of GLvertexformat completely.
|
| |
| |
| |
| |
| | |
As shown in mfeatures.h, this allows users of dlist.h to work without
knowing if the feature is available.
|
| |
| |
| |
| |
| | |
As shown in mfeatures.h, this allows users of eval.h to work without
knowing if the feature is available.
|
|/
|
|
| |
This allows the removal of AEcontext.
|
| |
|
|\ |
|
| |
| |
| |
| |
| | |
This was sometimes seen when Glean exited upon test failure when using
Gallium.
|
|\|
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
Makefile
src/mesa/main/version.h
src/mesa/shader/slang/slang_preprocess.c
src/mesa/state_tracker/st_cb_bufferobjects.c
|
| |
| |
| |
| |
| |
| | |
We were adding references to the input arrays, but failing to drop
them on destruction. This could lead to a 64kb buffer being leaked
each context destruction.
|
|/
|
|
|
| |
Since shared array objects may point to the null/default buffer object,
the null/default buffer object should be part of the shared state.
|
|
|
|
|
|
|
|
| |
Previous change broke redbook/polys and probably others. I'm fairly
sure that drivers like r300 don't need to touch
ctx->Driver.NeedVertices, but this code is incredibly fragile and I'm
not confident about removing it from there. Hopefully this gets
things working again.
|
|
|
|
|
|
|
|
| |
This variable is being used in the r300 driver to trigger a flush under
circumstances unrelated to the use in the vbo module. Tighten up the
checks in vbo so as to avoid conflict with r300.
Reported by Maciej Cencora <[email protected]>
|
| |
|