History log of /external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f29fd7897adc920ef816840a3f4fc25dcd65228b 03-Aug-2016 Jason Ekstrand <jason.ekstrand@intel.com> util: Move format_r11g11b10f.h to src/util

It's used from both mesa main and gallium.

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
13c68e1447f90d067462ec4fa3186c5c871a56fe 10-May-2016 Dave Airlie <airlied@redhat.com> mesa/vbo: fix check for zero aliases with 2/10/10/10

This fixes:
GL33-CTS.gtf33.GL3Tests.vertex_type_2_10_10_10_rev.vertex_type_2_10_10_10_rev_attrib

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Cc: mesa-stable@lists.freedesktop.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
c4254ee526145ce9bab227264226f5d6f741ff0e 20-Feb-2015 Dave Airlie <airlied@redhat.com> mesa/vbo: add support for 64-bit vertex attributes. (v1)

This adds support in the vbo and array code to handle
double vertex attributes.

v0.2: merge code to handle doubles in vbo layer.
v1: don't use v0, merge api_array elt code.

Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
09b03254091d054800834ddee604885a1093673f 11-Mar-2015 Marius Predut <marius.predut@intel.com> vbo: improve the code style by adjust the preprocessing c code directives

Brian Paul review suggestion: there's more macro use here than necessary.
Removed and redefine some #define preprocessing directives.
Removed the directive input parameter 'T' .
No functional changes.

Signed-off-by: Marius Predut <marius.predut@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
1a93e7690dc90211164082d6a2d26d93da8127ef 25-Feb-2015 Marius Predut <marius.predut@intel.com> mesa: use fi_type in vertex attribute code

For 32-bit builds, floating point operations use x86 FPU registers,
not SSE registers. If we're actually storing an integer in a float
variable, the value might get modified when written to memory. This
patch changes the VBO code to use the fi_type (float/int union) to
store/copy vertex attributes.

Also, this can improve performance on x86 because moving floats with
integer registers instead of FP registers is faster.

Neil Roberts review:
- include changes on all places that are storing attribute values.
- check with and without -O3 compiler flag.
Brian Paul review:
- use fi_type type instead gl_constant_value type
- fix a bunch of nit-picks.
- fix compiler warnings

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82668
Signed-off-by: Marius Predut <marius.predut@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
0feb0b73731cebd1513dd7f4e6cdf6de81edb802 20-Feb-2015 Marek Olšák <marek.olsak@amd.com> vbo: fix an unitialized-variable warning

It looks like a bug to me.

Cc: 10.5 10.4 10.3 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
49c71050de1e0df451e29621558b4adfefb7e098 29-Mar-2014 Anuj Phogat <anuj.phogat@gmail.com> mesa: Use location VERT_ATTRIB_GENERIC0 for vertex attribute 0

In OpenGL 3.1 attribute 0 becomes non-magic, just like in
OpenGL ES 2.0. Earlier versions of OpenGL used attribute 0
exclusively for vertex position.

V2: Add a utility function _mesa_attr_zero_aliases_vertex() in
varray.h

Fixes 4 Khronos OpenGL CTS failures:
glGetVertexAttrib
depth24_basic
depth24_precision
rgb8_rgba8_rgb

Cc: <mesa-stable@lists.freedesktop.org>
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
877128505431adaf817dc8069172ebe4a1cdf5d8 17-Jan-2014 José Fonseca <jfonseca@vmware.com> s/Tungsten Graphics/VMware/

Tungsten Graphics Inc. was acquired by VMware Inc. in 2008. Leaving the
old copyright name is creating unnecessary confusion, hence this change.

This was the sed script I used:

$ cat tg2vmw.sed
# Run as:
#
# git reset --hard HEAD && find include scons src -type f -not -name 'sed*' -print0 | xargs -0 sed -i -f tg2vmw.sed
#

# Rename copyrights
s/Tungsten Gra\(ph\|hp\)ics,\? [iI]nc\.\?\(, Cedar Park\)\?\(, Austin\)\?\(, \(Texas\|TX\)\)\?\.\?/VMware, Inc./g
/Copyright/s/Tungsten Graphics\(,\? [iI]nc\.\)\?\(, Cedar Park\)\?\(, Austin\)\?\(, \(Texas\|TX\)\)\?\.\?/VMware, Inc./
s/TUNGSTEN GRAPHICS/VMWARE/g

# Rename emails
s/alanh@tungstengraphics.com/alanh@vmware.com/
s/jens@tungstengraphics.com/jowen@vmware.com/g
s/jrfonseca-at-tungstengraphics-dot-com/jfonseca-at-vmware-dot-com/
s/jrfonseca\?@tungstengraphics.com/jfonseca@vmware.com/g
s/keithw\?@tungstengraphics.com/keithw@vmware.com/g
s/michel@tungstengraphics.com/daenzer@vmware.com/g
s/thomas-at-tungstengraphics-dot-com/thellstom-at-vmware-dot-com/
s/zack@tungstengraphics.com/zackr@vmware.com/

# Remove dead links
s@Tungsten Graphics (http://www.tungstengraphics.com)@Tungsten Graphics@g

# C string src/gallium/state_trackers/vega/api_misc.c
s/"Tungsten Graphics, Inc"/"VMware, Inc"/

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
48b6d70bef7c2c151a0cdd2a4ccb46cd7f5a6ab3 07-Nov-2013 Chris Forbes <chrisf@ijw.co.nz> vbo: add 10_11_11 support to vbo_attrib_tmp

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Eric Anholt <eric@anholt.net>
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
0e2f0baa43b7d06c88168fdbcff3e26b6dd4970b 29-Oct-2013 Brian Paul <brianp@vmware.com> vbo: fix MSVC double->float conversion warnings
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
f75acabb9640bcbd3a8e6061695da3d01f55a3ef 27-Nov-2012 Brian Paul <brianp@vmware.com> vbo: move another line of code after declarations

Signed-off-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
8765c0d20fb849733c39f088279909c989fbe9e0 27-Nov-2012 Brian Paul <brianp@vmware.com> vbo: move code after declarations to fix MSVC errors

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
f94e672b47621701ad070e6799a8e22ad02539fa 27-Nov-2012 Brian Paul <brianp@vmware.com> vbo: minor whitespace fix
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
7a414fea876807810c27cedb243920bd7b088ea7 27-Nov-2012 Kenneth Graunke <kenneth@whitecape.org> mesa/vbo: Check for invalid types in various packed vertex functions.

According to the ARB_vertex_type_2_10_10_10_rev specification:
"The error INVALID_ENUM is generated by VertexP*, NormalP*,
TexCoordP*, MultiTexCoordP*, ColorP*, or SecondaryColorP if <type>
is not UNSIGNED_INT_2_10_10_10_REV or INT_2_10_10_10_REV."

Fixes 7 subcases of oglconform's packed-vertex test.

v2: Add "gl" prefix to error messages (pointed out by Brian).
Also rebase atop the ctx plumbing.

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
6a529e2b484c6d17c6244efee8e7dae4de79e386 22-Nov-2012 Kenneth Graunke <kenneth@whitecape.org> mesa/vbo: Support the ES 3.0 signed normalized scaling rules.

Traditionally, OpenGL has had two separate equations for converting from
signed normalized fixed-point data to floating point data. One was used
primarily for vertex data, while the other was primarily for texturing
and framebuffer data.

However, ES 3.0 and GL 4.2 change this, declaring there's only one
equation to be used in all cases. Unfortunately, it's the other one.

v2: Correctly convert 0b10 to -1.0, as pointed out by Chris Forbes.

Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
c8d8d5db72171fd382babbb0e95fab363a84cb49 22-Nov-2012 Kenneth Graunke <kenneth@whitecape.org> mesa/vbo: Plumb ctx through to the conv_i(10|2)_to_norm_float functions.

The rules for converting these values actually depend on the current
context API and version. The next patch will implement those changes.

v2: Mark ctx as const, as suggested by Brian.

Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
bf75a1f09211a9ca90b2ea3366b3331919793f9d 12-Oct-2012 Kenneth Graunke <kenneth@whitecape.org> mesa/vbo: Fix scaling issue in 2-bit signed normalized packing.

Since a signed 2-bit integer can only represent -1, 0, or 1, it is
tempting to simply to convert it directly to a float. This maps it
onto the correct range of [-1.0, 1.0]. However, it gives different
values compared to the usual equation:

(2.0 * 1.0 + 1.0) * (1.0 / 3.0) = +1.0 (same)
(2.0 * 0.0 + 1.0) * (1.0 / 3.0) = +0.33333333... (different)
(2.0 * -1.0 + 1.0) * (1.0 / 3.0) = -0.33333333... (different)

According to the GL_ARB_vertex_type_2_10_10_10_rev extension, signed
normalization is performed using equation 2.2 from the GL 3.2
specification, which is:

f = (2c + 1)/(2^b - 1). (2.2)

Comments below that equation state: "In general, this representation is
used for signed normalized fixed-point parameters in GL commands, such
as vertex attribute values." Which is what we're doing here.

The 3.2 specification goes on to declare an alternate formula:

f = max{c/(2^(b-1) - 1), -1.0} (2.3)

which is closer to the existing code, and maps the end points to exactly
-1.0 and 1.0. Comments below the equation state: "In general, this
representation is used for signed normalized fixed-point texture or
framebuffer values." Which is *not* what we're doing here.

It then states: "Everywhere that signed normalized fixed-point
values are converted, the equation used is specified." This is the real
clincher: the extension explicitly specifies that we must use equation
2.2, not 2.3. So we need to do (2x + 1) / 3.

This matches the behavior expected by oglconform's packed-vertex test,
and is correct for desktop GL (pre-4.2). It's not correct for ES 3.0,
but a future patch will correct that.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Tested-by: Marek Olšák <maraeo@gmail.com>
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
e9967aba61a7cc62ce13ab691d14bb5a26a86896 12-Oct-2012 Kenneth Graunke <kenneth@whitecape.org> mesa/vbo: Fix scaling issue in 10-bit signed normalized packing.

For the 10-bit components, the divisor was incorrect. A 10-bit signed
integer can represent -2^9 through 2^9 - 1, which leads to the following
ranges:

(float)value.x -> [ -512, 511]
2.0F * (float)value.x -> [-1024, 1022]
2.0F * (float)value.x + 1.0F -> [-1023, 1023]

So dividing by 511 would incorrectly scale it to approximately:
[-2.001956947, 2.001956947]. To correctly scale to [-1.0, 1.0], we need
to divide by 1023.

This correctly implements the desktop GL rules. ES 3.0 has different
rules, but those will be implemented in a separate patch.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Tested-by: Marek Olšák <maraeo@gmail.com>
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
acf438f5375e2426386694e541b843dc6f8fd11a 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
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
ec5341800b6abc42ceb612842b8c8029fc12365f 27-Oct-2012 Brian Paul <brianp@vmware.com> vbo: silence MSVC double/float conversion warnings

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
1bc16bf98a1b5a4cca0c0ae2a80ba7982c6e4651 08-May-2012 Brian Paul <brianp@vmware.com> mesa: fix glMaterial / dlist bug

When glColorMaterial() is used to latch glColor commands to a material
attribute, glMaterial calls to change that material should become no-ops.
This failed to work properly when the glMaterial call was inside a
display list.

This removes the Material function from the vbo_attrib_tmp.h template
file. We have separate/different implementations for the "save" and
"exec" cases now.

NOTE: This is a candidate for the 8.0 branch.
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
9520f483b8f1e45fa474674b415554988de5d8d3 01-Oct-2011 Brian Paul <brianp@vmware.com> mesa: s/INLINE/inline/

INLINE is still seen in some files (some generated files, etc) but this
is a good start.

Acked-by: Kenneth Graunke <kenneth@whitecape.org>
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
a11b4c1e7aa0958e6128bbfae2173e289b2cce8f 20-Sep-2011 Yuanhan Liu <yuanhan.liu@linux.intel.com> mesa: fix error handling for glMaterial*

Trigger GL_INVALID_ENUM error if the face paramter is not a valid value.

Trigger GL_INVALID_VALUE error if the GL_SHININESS value is out side
[0, ctx->Constant.MaxShiniess].

v2: fix the max shininess value.

v3: suggested by Brian, move the face check into glMaterialfv function
to reduce code duplicate. Also, refactor the error message.

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
6edef25a4b41583e1c285653fc0b84a316e9743d 07-Sep-2011 Vinson Lee <vlee@vmware.com> mesa/vbo: s/inline/INLINE/

MSVC does not support inline keyword.
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
51fcf080a342896ea0bc71dce01e948c810a8db9 04-Sep-2011 Dave Airlie <airlied@redhat.com> mesa/vbo: add ARB_vertex_type_2_10_10_10_rev APIs.

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 <airlied@redhat.com>
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
a2924b488b8d77381779bbb5a0097c467678d39b 02-Mar-2011 Brian Paul <brianp@vmware.com> vbo: generate GL_INVALID_VALUE for bad glVertexAttrib index
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
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/vbo/vbo_attrib_tmp.h
beea704be231ef13edab93a7299efa297039239d 29-Oct-2010 Brian Paul <brianp@vmware.com> vbo: re-indent file
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
4a95185c9f30c2de7a03bb1a0653f51b53b1111d 22-May-2009 Brian Paul <brianp@vmware.com> mesa: rename MAX_VERTEX_ATTRIBS to MAX_VERTEX_GENERIC_ATTRIBS

Be clearer that this is the number of generic vertex program/shader
attributes, not counting the legacy attributes (pos, normal, color, etc).
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
2421b25dd777ebfd614ae45907fd4af8c2713102 15-Jan-2007 Keith Whitwell <keith@tungstengraphics.com> Remove special-case handling for index and edgeflag

This isn't required with the changes to core mesa and the new
attribute layout.
/external/mesa3d/src/mesa/vbo/vbo_attrib_tmp.h
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_attrib_tmp.h