History log of /external/mesa3d/src/mesa/main/vtxfmt.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f16031513f32f9094238af80c01db4025c70519b 05-Sep-2012 Ian Romanick <ian.d.romanick@intel.com> mesa: Don't set vtxfmt dispatch pointers for many things in ES2 or core

NOTE: This is a candidate for the 9.0 branch

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit aa0f588e2d4c160879699180f0e7f4d3e52b55b9)
/external/mesa3d/src/mesa/main/vtxfmt.c
04d6ffa06deff792aea49eccc4bceb1a91a1892e 18-Aug-2012 Ian Romanick <ian.d.romanick@intel.com> mesa: Disallow more deprecated functions in core context

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/main/vtxfmt.c
8e7b6a69e9cb00345e0c08966036b305cbda46c9 17-Aug-2012 Ian Romanick <ian.d.romanick@intel.com> mesa: Don't allow display lists or evaluators in core context

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/main/vtxfmt.c
a010215463c63680c69e90202fe3fcd2e5b25fa6 29-Jul-2012 Ian Romanick <ian.d.romanick@intel.com> mesa: Kill ES2 wrapper functions

v2: Fix completely broken condition around ClearColorIiEXT and
ClearColorIuiEXT.

v3: Add special VertexAttrib handling for ES2.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/main/vtxfmt.c
3d0b54c7c6021becb3cae9245fc8f88a0f0f2be9 25-Jul-2012 Jordan Justen <jordan.l.justen@intel.com> mesa: don't enable legacy GL functions when using API_OPENGL_CORE

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/main/vtxfmt.c
09714c09a40501d82823e42f7461d7b8d7bf11c0 19-Jul-2012 Jordan Justen <jordan.l.justen@intel.com> mesa: add support for using API_OPENGL_CORE

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/main/vtxfmt.c
db7404defd47aa22082b52a6a31a08fb39fab626 18-Dec-2011 Marek Olšák <maraeo@gmail.com> mesa: implement new DrawTransformFeedback functions

Acked-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/main/vtxfmt.c
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/main/vtxfmt.c
d534b6840477e4da18f303a8b7f47a73bfcee4cf 28-Feb-2012 Eric Anholt <eric@anholt.net> mesa: Fix typo in comment.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/main/vtxfmt.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/main/vtxfmt.c
667351bc5f07a149234e7f3a0b7c1139624d3de0 21-Nov-2010 Dave Airlie <airlied@redhat.com> mesa: add initial API changes for ARB_vertex_type_2_10_10_10_rev.

add new APIs to the internal mesa driver interface + set funcs in vtxfmt.c

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/main/vtxfmt.c
09201cc7a0c4c50871bb8aa5d00ac70aa4e9e670 31-May-2011 Pierre-Eric Pelloux-Prayer <pelloux@gmail.com> mesa: add implementation of glDrawElementsInstancedBaseVertex

Signed-off-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/main/vtxfmt.c
db61b9ce39bccc43140357652ceb78baaf2aea44 07-Jan-2011 Vinson Lee <vlee@vmware.com> mesa: Directly include mfeatures.h in files that perform feature tests.
/external/mesa3d/src/mesa/main/vtxfmt.c
5ed51e950f8b5850cada5aa6289215dbf254c1c7 21-Nov-2010 Brian Paul <brianp@vmware.com> mesa: hook up GL 3.x entrypoints

Fix up some details in the xml files and regenerate dispatch files.
/external/mesa3d/src/mesa/main/vtxfmt.c
ca2618f4b632bf4b357a539a8fb7dafc99b35976 29-Oct-2010 Brian Paul <brianp@vmware.com> mesa: implement integer-valued vertex attribute functions

The integers still get converted to floats. That'll have to change someday.
/external/mesa3d/src/mesa/main/vtxfmt.c
b3de6e703d91da4f7f402f9ca33ccbbe31e97d99 22-Oct-2010 Brian Paul <brianp@vmware.com> mesa: plug in primitive restart function
/external/mesa3d/src/mesa/main/vtxfmt.c
1d33e940d2050f3d9180019f6ffd57f6fc295507 14-Oct-2010 Kristian Høgsberg <krh@bitplanet.net> Only install vtxfmt tables for OpenGL

GLES1 and GLES2 install their own exec pointers and don't need the
Save table. Also, the SET_* macros use different indices for the different
APIs so the offsets used in vtxfmt.c are actually wrong for the ES APIs.
/external/mesa3d/src/mesa/main/vtxfmt.c
81ccb3e2ce708619f4c23537a237d61bdffdd35f 13-Oct-2010 Kristian Høgsberg <krh@bitplanet.net> Drop the "neutral" tnl module

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.
/external/mesa3d/src/mesa/main/vtxfmt.c
f9995b30756140724f41daf963fa06167912be7f 12-Oct-2010 Kristian Høgsberg <krh@bitplanet.net> Drop GLcontext typedef and use struct gl_context instead
/external/mesa3d/src/mesa/main/vtxfmt.c
3b7ac45162412a79c3cd4d4dbc16bd54db597608 05-Apr-2010 Brian Paul <brianp@vmware.com> mesa: implement core Mesa support for GL_ARB_draw_instanced
/external/mesa3d/src/mesa/main/vtxfmt.c
ae943f8e202fc3791bd56ac863e5493cd17bb44c 17-Jan-2010 Vinson Lee <vlee@vmware.com> mesa: Remove unnecessary headers from vtxfmt.c.
/external/mesa3d/src/mesa/main/vtxfmt.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/main/vtxfmt.c
a73ba2d31b87e974f6846a8aaced704634f6f657 09-Sep-2009 Chia-I Wu <olvaffe@gmail.com> mesa/main: Make FEATURE_dlist follow feature conventions.

As shown in mfeatures.h, this allows users of dlist.h to work without
knowing if the feature is available.
/external/mesa3d/src/mesa/main/vtxfmt.c
aefa1f6ab1d9267b223b06ae205ab34c8e0d7c02 08-Sep-2009 Chia-I Wu <olvaffe@gmail.com> mesa/main: Make FEATURE_evaluators follow feature conventions.

As shown in mfeatures.h, this allows users of eval.h to work without
knowing if the feature is available.
/external/mesa3d/src/mesa/main/vtxfmt.c
80630d1fed6cd32e75f5e97e2cd27509be21d093 08-Sep-2009 Chia-I Wu <olvaffe@gmail.com> mesa/main: New feature FEATURE_arrayelt.

This allows the removal of AEcontext.
/external/mesa3d/src/mesa/main/vtxfmt.c
92d7ed8a20d4a018ce5324e6537ae7b478b9e5bf 27-Aug-2009 Eric Anholt <eric@anholt.net> mesa: Add support for ARB_draw_elements_base_vertex.
/external/mesa3d/src/mesa/main/vtxfmt.c
60b08eb1fdf287d28ec66b9282513ab35a61aee0 31-Aug-2009 Eric Anholt <eric@anholt.net> mesa: Make MultiDrawElements submit multiple primitives at once.

Previously, MultiDrawElements just called DrawElements a bunch of times.
By sending several primitives down the pipeline at once, we avoid a bunch
of validation. On my GL demo, this improves fps by 2.5% (+/- .41%) and
reduces CPU usage by 70.5% (+/- 2.9%) (n=3).

Reviewed by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/main/vtxfmt.c
c64a2b708944ec671b1104067245500fcfc6ed94 03-Mar-2009 Keith Whitwell <keithw@vmware.com> mesa: Add BeginVertices driver call

Provides notification to the VBO modules prior to the first immediate call.
Pairs with FlushVertices()
/external/mesa3d/src/mesa/main/vtxfmt.c
94b30dc390f1fdd526c080080830016fad3e2ee2 25-Apr-2006 Brian Paul <brian.paul@tungstengraphics.com> Put color index attribute into the 6th attribute slot.
Update a lot of loops, conditionals to use the _TNL_FIRST/LAST_* values
instead of specific vertex attributes.
Remove the EdgeFlagv function from the GLvertexformat struct.
/external/mesa3d/src/mesa/main/vtxfmt.c
095c6699f449ed4803f23e844cc0227743a9c3e1 25-Apr-2006 Brian Paul <brian.paul@tungstengraphics.com> No longer alias generic vertex attribs with conventional attribs for GL_ARB_vertex_program.
/external/mesa3d/src/mesa/main/vtxfmt.c
126c89e35fb5179fe077f7593f31ea874c89dd65 05-Aug-2005 Ian Romanick <idr@us.ibm.com> Fix recent problems with display lists and other parts of the code.
CALL_by_offset, SET_by_offset, and GET_by_offset all had various problems.

The core issue is that parts of the device-independent code in Mesa assumes
that all functions have slots in the dispatch table. This is especially
true in the display list code. It will merrilly try to set dispatch
pointers for glVertexAttrib1fARB even if GL_ARB_vertex_program is not
supported. When the GET/SET/CALL macros are invoked, they would read a 0
from the remap table. The problem is that 0 is the dispatch offset for
glNewList!

One change is that the remap table is now initialized to be full of -1
values. In addtion, all of the *_by_offset marcos misbehave in an obvious
way if the specified offset is -1. SET_by_offset will do nothing,
GET_by_offset will return NULL, and CALL_by_offset, since it uses
GET_by_offset, will segfault.

I also had to add GL_EXT_blend_func_separate to the list of default
extensions in all_mesa_extensions (src/mesa/drivers/dri/common/utils.c).
Even though many drivers do not export this extension, glBlendFunc is
internally implemented by calling glBlendFuncSeparate. Without this
addition, glBlendFunc stopped working on drivers (such as mga) that do not
export GL_EXT_blend_func_separate.

There are still a few assertions / crashes in GL_ARB_vertex_program tests,
but I don't think that these are related to any of my changes.
/external/mesa3d/src/mesa/main/vtxfmt.c
1585c234e0db4bfb7cd85c4111594f6da1582e6f 28-Jul-2005 Ian Romanick <idr@us.ibm.com> Major rip-up of internal function insertion interface. The old
_glapi_add_entrypoint has been replaced by a new routine called
_glapi_add_dispatch. This new routine dynamically assignes dispatch offsets
to functions added. This allows IHVs to add support for extension functions
that do not have assigned dispatch offsets.

It also means that a driver has no idea what offset will be assigned to a
function. The vast majority of the changes in this commit account for that.
An additional table, driDispatchRemapTable, is added. Functions not in the
Linux OpenGL ABI (i.e., anything not in GL 1.2 + ARB_multitexture) has a
fixed offset in this new table. The entry in this table specifies the
offset in of the function in the real dispatch table.

The internal interface was also bumped from version 20050725 to 20050727.

This has been tested with various programs in progs/demos on:

radeon (Radeon Mobility M6)
r128 (Rage 128 Pro)
mga (G400)
/external/mesa3d/src/mesa/main/vtxfmt.c
9bdfee3a470a535ebe31074651fbacf680bcea6a 18-Jul-2005 Ian Romanick <idr@us.ibm.com> Wrap every place that accesses a dispatch table with a macro. A new script-
generated file, called src/mesa/glapi/dispatch.h, is added. This file
contains three macros for each API function. It contains a GET, a SET, and
a CALL. Each of the macros take a pointer to the context and a pointer to
the dispatch table.

In several threads on mesa3d-dev we discussed replacing _glapi_add_entrypoint
with a new function called _glapi_add_dispatch. For this discussion, the
important difference between the two is that the caller of _glapi_add_dispatch
does *not* know what the dispatch offset will be at compile time. Because of
this callers need to track the dispatch offset returned by
_glapi_add_dispatch.

http://marc.theaimsgroup.com/?t=111947074700001&r=1&w=2

The downside is that driver code then has to access the dispatch table two
different ways. It accesses it using structure tags (e.g., exec->Begin) for
functions with fixed offsets and via a remap table (e.g., exec[
remap->NewExtensionFunction ]) for functions without fixed offsets. Yuck!

Using the macros allows both types of functions to be accessed
identically. If a driver needs to set a pointer for Begin, it does
'SET_Begin(ctx, exec, my_begin_function)'. If it needs to set a pointer
for NewExtensionFunction, it does 'SET_NewExtensionFunction(ctx, exec,
my_NewExtensionFunction_function)'. Furthermore, if at some point in
the future a static offset is assigned for NewExtensionFunction, only
the macros need to change (instead of every single place that accesses a
table for that function).

This code differs slightly from the originally posted patches in that the
CALL, GET, and SET marcos no longer take a context pointer as a parameter.
Brian Paul had suggested that the remap table could be stored as a global
since it would be set at CreateScreen time and would be constant for all
contexts. This change reflects that feedback.

http://marc.theaimsgroup.com/?t=112087194700001&r=1&w=2
/external/mesa3d/src/mesa/main/vtxfmt.c
c63f3cf85d9719581262b4cf9d69789926879eba 08-Dec-2004 Alan Hourihane <alanh@tungstengraphics.com> silence warnings
/external/mesa3d/src/mesa/main/vtxfmt.c
b5b8d22c4ee921dff99b898a5907023b20670a27 27-Nov-2004 Brian Paul <brian.paul@tungstengraphics.com> Change the dispatch offsets for the VertexAttrib*NV functions so they don't
alias with the corresponding ARB functions.
GL_ARB_vertex_shader (and OpenGL 2.0's) VertexAttrib functions don't alias
with conventional vertex attributes, as GL_NV_vertex_program does.
So, the ARB and NV version of VertexAttrib need to be distinct.
/external/mesa3d/src/mesa/main/vtxfmt.c
a6c423d95663cfd8601cf84e10e8e1b12fa6ef15 25-Aug-2004 Brian Paul <brian.paul@tungstengraphics.com> Silence gcc 3.4 warnings on ReactOS. Mostly unused var warnings. (patch 1015696)
/external/mesa3d/src/mesa/main/vtxfmt.c
0f1e19c03cdf5bd8a7c3db59cf395a0833ab0173 24-Feb-2004 Brian Paul <brian.paul@tungstengraphics.com> added some const keywords
/external/mesa3d/src/mesa/main/vtxfmt.c
ae0eaf93e092ac8e8b1c98f3e986de96940663fa 24-Nov-2003 Keith Whitwell <keith@tungstengraphics.com> Merge vtx-0-2-branch
/external/mesa3d/src/mesa/main/vtxfmt.c
a4fc8035f154c4c24b263f629308a0a659ce4563 06-Oct-2003 Keith Whitwell <keith@tungstengraphics.com> VertexAttrib4fv wasn't being installed (4f was).
/external/mesa3d/src/mesa/main/vtxfmt.c
9ac51f57efe07ed43a1e4224a7f5daddec401b36 05-Jun-2003 Ian Romanick <idr@us.ibm.com> Removed all RCS / CVS tags (Id, Header, Date, etc.) from everything.
/external/mesa3d/src/mesa/main/vtxfmt.c
05a4b37707d2c598ea68c05d07a3d65bcbf5a076 29-Oct-2002 Brian Paul <brian.paul@tungstengraphics.com> updated email addresses
/external/mesa3d/src/mesa/main/vtxfmt.c
3c63452e64df7e10aa073c6c3b9492b1d7dabbb8 25-Oct-2002 Brian Paul <brian.paul@tungstengraphics.com> Header file clean-up:
1. Remove all.h and PC_HEADER junk.
2. Rolled mem.c and mem.h into imports.c and imports.h
3. Include imports.h instead of mem.h
Restore _mesa_create/initialize_context() to be like they were in 4.0.4
New wrappers for a few std C functions: _mesa_atoi(), _mesa_strstr(), etc.
/external/mesa3d/src/mesa/main/vtxfmt.c
4e9676fb13f60ecdbc247b120031f18cd3febcb0 29-Jun-2002 Brian Paul <brian.paul@tungstengraphics.com> Applied Matt Sealey's patch to remove/isolate all stdio.h function calls.
Instead of mstdio.[ch], use imports.[ch] to isolate these functions.
/external/mesa3d/src/mesa/main/vtxfmt.c
306d3fcdbad523428501833405e47e9897896def 09-Apr-2002 Keith Whitwell <keith@tungstengraphics.com> bring in changes from dri tcl branch
/external/mesa3d/src/mesa/main/vtxfmt.c
d2237d48eccbd47a4e69078c25de09453730d298 15-Dec-2001 Brian Paul <brian.paul@tungstengraphics.com> vertex program fixes
/external/mesa3d/src/mesa/main/vtxfmt.c
86b842790b720cd6b1499ce8edca8a4e9c8dc029 14-Dec-2001 Brian Paul <brian.paul@tungstengraphics.com> vertex program check-in
/external/mesa3d/src/mesa/main/vtxfmt.c
471a774f433c23b263828aa591415741e78a35da 05-Dec-2001 Brian Paul <brian.paul@tungstengraphics.com> dispatch changes to minimize hassle with XFree86 libGL
/external/mesa3d/src/mesa/main/vtxfmt.c
b5fd886ee12ef52126969f712dee0bd4b2eea706 18-Nov-2001 Brian Paul <brian.paul@tungstengraphics.com> API dispath updates
/external/mesa3d/src/mesa/main/vtxfmt.c
467037de2233e1512b1e2981e4092a5d9764a4ee 12-Mar-2001 Gareth Hughes <gareth@valinux.com> Add missing header file include.
/external/mesa3d/src/mesa/main/vtxfmt.c
22144ab7552f0799bcfca506bf4ffa7f70a06649 12-Mar-2001 Gareth Hughes <gareth@valinux.com> Consistent copyright info (version number, date) across all files.
/external/mesa3d/src/mesa/main/vtxfmt.c
57ffddba9870a0e602ae454e13072a0af48fa150 12-Mar-2001 Gareth Hughes <gareth@valinux.com> Minor cleanups.
/external/mesa3d/src/mesa/main/vtxfmt.c
de6a2e0d194d1afa1a917cff7e80d77773b73c39 12-Mar-2001 Gareth Hughes <gareth@valinux.com> Clean up install, restore for exec vtxfmts.
/external/mesa3d/src/mesa/main/vtxfmt.c
d8aa0269cdadba1608522287bcb3b446c5848c09 11-Mar-2001 Gareth Hughes <gareth@valinux.com> Support for swappable tnl modules.

Core Mesa provides a neutral tnl module that verifies the currently
module before installing the tnl function pointers in a lazy fashion.
It also records which tnl functions have been swapped out, and only
restores these when tnl modules themselves are swapped.

Fallback strategies:

Drivers set a bitmask of dangerous stage changes. When such a state
change occurs, the driver should restore the neutral tnl module via
_mesa_restore_exec_vtxfmt(). The neutral tnl module will call
_mesa_update_state(), followed by ctx->Driver.ValidateTnlModule() if the
validation bitmask matches the new state bitmask. The driver should
call _tnl_wakeup_exec() if it can no longer handle the current state,
which will revert to the default tnl module. In this case, previous
vertices should be replayed as required (depending on the current
primitive) after the new tnl module is installed.

If the driver uses chooser functions for any part of the tnl module,
these should generally be reinstalled as part of the fallback to the
neutral tnl module. For example, if the lighting state changes, a
driver might fall back to the neutral tnl module, verify that the
current lighting state can be handled, and use the chooser function to
pick the most efficient implementation of the current lighting state.

It is up to the drivers to detect and handle fallback cases caused by
tnl function calls themselves (such as glTexCoord4f* if the current tnl
module can't handle projected textures, for example).
/external/mesa3d/src/mesa/main/vtxfmt.c
b014986fdb259eb60bd3e5a3fbcfcb218969f5f5 24-Nov-2000 Keith Whitwell <keith@tungstengraphics.com> New files...
/external/mesa3d/src/mesa/main/vtxfmt.c