Mesa (10.0): 44 new commits
Carl Worth
cworth at kemper.freedesktop.org
Tue Mar 11 21:28:35 UTC 2014
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c29c9947a3dfabd67f7a8b803cd072d75e659c59
Author: Carl Worth <cworth at cworth.org>
Date: Mon Mar 10 15:39:06 2014 -0700
get-pick-list: Update to only find patches nominated for the 10.0 branch
In early February, the 10.1 branch was created. From then on, patches that
don't specifically say "10.0" are intended for 10.1, not 10.0.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=518526700ed7ab58067cd7d7e0ab9739895314d4
Author: Hans <hans at chromium.org>
Date: Sat Mar 1 11:28:18 2014 -0700
mesa: don't define c99 math functions for MSVC >= 1800
Signed-off-by: Brian Paul <brianp at vmware.com>
Cc: "10.0" "10.1" <mesa-stable at lists.freedesktop.org>
(cherry picked from commit 837da9bdaec2b4496c6d25ea0379f8c2996ed697)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2f9e7f63945f2ace1c3a50d8618864a861ff64e0
Author: Hans <hans at chromium.org>
Date: Sat Mar 1 11:26:09 2014 -0700
util: don't define isfinite(), isnan() for MSVC >= 1800
Signed-off-by: Brian Paul <brianp at vmware.com>
Cc: "10.0" "10.1" <mesa-stable at lists.freedesktop.org>
(cherry picked from commit bf2566032589e0c46dbd4ddef0d75d354d2a16b5)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9cdb86a1dabd533d5d1f96da172bd2f978f7fe9c
Author: Brian Paul <brianp at vmware.com>
Date: Sat Mar 1 12:14:15 2014 -0700
softpipe: use 64-bit arithmetic in softpipe_resource_layout()
To avoid 32-bit integer overflow for large textures. Note: we're
already doing this in llvmpipe.
Cc: "10.0" "10.1" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
(cherry picked from commit 465b2c42bca59f0f198aeb8543cfabd5989584b4)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4588a32dee58c47c954813c74d471f893d14872c
Author: Julien Cristau <jcristau at debian.org>
Date: Sat Mar 1 10:11:11 2014 +0100
glx/dri2: fix build failure on HURD
Patch from Debian package.
Cc: "10.0 10.1" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
(cherry picked from commit 6f0e2731e862d1c2d8d21927040bead5049a2d68)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=aba40445c25d01026ce29baabf2e4b24e176a55e
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Sat Feb 22 18:09:31 2014 +1300
i965: Validate (and resolve) all the bound textures.
BRW_MAX_TEX_UNIT is the static limit on the number of textures we
support per-stage, not in total.
Core's `Unit` array is sized by MAX_COMBINED_TEXTURE_IMAGE_UNITS, which
is significantly larger, and across the various shader stages, up to
ctx->Const.MaxCombinedTextureImageUnits elements of it may be actually
used.
Fixes invisible bad behavior in piglit's max-samplers test (although
this escalated to an assertion failure on HSW with texture_view, since
non-immutable textures only have _Format set by validation.)
Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Cc: "9.2 10.0 10.1" <mesa-stable at lists.freedesktop.org>
Cc: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
(cherry picked from commit befbda56a246f77797bdf13fc005353441db2879)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6a81f2bc9b024c33fbcb15ea2215dd407dea8c9c
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Feb 22 03:04:02 2014 +0000
dri/i9*5: correctly calculate the amount of system memory
The variable name states megabytes, while we calculate the amount in
kilobytes. Correct this by dividing with the correct amount.
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Cc: "10.0 10.1" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
(cherry picked from commit fc25956badb8e1932cc19d8c97b4be16e92dfc65)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a02c50ef4e9fa1d2bbb5d8ef05ef67b9d74ed075
Author: Tom Stellard <thomas.stellard at amd.com>
Date: Mon Feb 24 16:51:05 2014 -0500
r600g/compute: PIPE_CAP_COMPUTE should be false for pre-evergreen GPUs
This prevents clover from using unsupported devices.
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
CC: "10.0 10.1" <mesa-stable at lists.freedesktop.org>
(cherry picked from commit f61e382f0afc48bc09f21c50639f760acca85bc5)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=af1831d0035363a0d1a127d44309a37e8d3930c1
Author: Brian Paul <brianp at vmware.com>
Date: Thu Feb 27 08:36:13 2014 -0700
mesa: do depth/stencil format conversion in glGetTexImage
glGetTexImage(GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8) was just
using memcpy() instead of _mesa_unpack_uint_24_8_depth_stencil_row()
to convert texels from the hardware format to the GL format.
Fixes issue reported by David Meng at Intel. The new piglit
ext_packed_depth_stencil-getteximage test checks for this bug.
Also, add some format/type assertions. We don't yet handle the
GL_FLOAT_32_UNSIGNED_INT_24_8_REV type. That should be fixed in
a follow-on patch.
Reviewed-by: Eric Anholt <eric at anholt.net>
Cc: "10.0" "10.1" <mesa-stable at lists.freedesktop.org>
(cherry picked from commit 43dee0295e5da42425f1a3b6a3b3108173f4b676)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=59ab5bf0a078836e5e1d4b0ff0e8f36bcfb033fe
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date: Tue Jan 7 17:46:45 2014 -0800
i965: Fix the region's pitch condition to use blitter
intelEmitCopyBlit uses a signed 16-bit integer to represent
buffer pitch, so it can only handle buffer pitches < 32k.
Cc: mesa-stable at lists.freedesktop.org
Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
(cherry picked from commit b3094d9927fe7aa5a84892262404aaad4d728724)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=85e04ad280f4fc7dc67cbf072244f74089964a99
Author: Fredrik Höglund <fredrik at kde.org>
Date: Sat Feb 15 18:48:40 2014 +0100
glx: Fix the GLXFBConfig attrib sort priorities
The sort priorites for GLX_SAMPLES and GLX_SAMPLE_BUFFERS are
not defined in GL_ARB_multisample, but they are defined in
the GLX 1.4 specification.
Cc: "9.2 10.0 10.1" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
(cherry picked from commit 3616e862f29838d73fcb05134b1dc628da499fc2)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6b2cf05192eafea5f8b7c895a7202628b43ef78b
Author: Fredrik Höglund <fredrik at kde.org>
Date: Thu Feb 13 21:07:09 2014 +0100
glx: Fix the default values for GLXFBConfig attributes
The default values for GLX_DRAWABLE_TYPE and GLX_RENDER_TYPE are
GLX_WINDOW_BIT and GLX_RGBA_BIT respectively, as specified in
the GLX 1.4 specification.
This fixes the glx-choosefbconfig-defaults piglit test.
Cc: "9.2 10.0 10.1" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Dave Airlie <airlied at redhat.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
(cherry picked from commit f41c2f6c332ae9b9784ac924b718963a1086cb85)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3fc389efeb5b1ea55dcab50a927877c88e13976e
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Mon Feb 24 16:46:19 2014 +0000
nv50: correctly calculate the number of vertical blocks during transfer map
Cc: "10.0 10.1" <mesa-stable at lists.freedesktop.org>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
(cherry picked from commit 882070cc81588a133d81e3ef8790d7375f494eff)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bab122c320d2aae28c9e3416f0a5f6f7a80d2f49
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Feb 19 17:20:11 2014 -0800
i965: Create a hardware context before initializing state module.
brw_init_state() calls brw_upload_initial_gpu_state(). If hardware
contexts are enabled (brw->hw_ctx != NULL), this will upload some
initial invariant state for the GPU. Without hardware contexts, we
rely on this state being uploaded via atoms that subscribe to the
BRW_NEW_CONTEXT bit.
Commit 46d3c2bf4ddd227193b98861f1e632498fe547d8 accidentally moved
the call to brw_init_state() before creating a hardware context.
This meant brw_upload_initial_gpu_state would always early return.
Except on Gen6+, we stopped uploading the initial GPU state via
state atoms, so it never happened.
Fixes a regression since 46d3c2bf4ddd227193b98861f1e632498fe547d8.
Cc: "10.0 10.1" <mesa-stable at lists.freedesktop.org>
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
(cherry picked from commit 3663bbe773187dee341556ef29e58b1143ef2f5c)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cf7daac48337f9a39a5651943342d72688894abf
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Feb 18 09:36:08 2014 -0800
glsl: Only warn for macro names containing __
From page 14 (page 20 of the PDF) of the GLSL 1.10 spec:
"In addition, all identifiers containing two consecutive underscores
(__) are reserved as possible future keywords."
The intention is that names containing __ are reserved for internal use
by the implementation, and names prefixed with GL_ are reserved for use
by Khronos. Names simply containing __ are dangerous to use, but should
be allowed.
Per the Khronos bug mentioned below, a future version of the GLSL
specification will clarify this.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Cc: "9.2 10.0 10.1" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Tested-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>
Tested-by: Darius Spitznagel <d.spitznagel at goodbytez.de>
Cc: Tapani Pälli <lemody at gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71870
Bugzilla: Khronos #11702
(cherry picked from commit 2c85fd5a964a78c9f7a93994fb79f1723c6f45b5)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=de6068a218a2aa77b27eb41e62fd8c785611d839
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Feb 18 09:10:36 2014 -0800
glcpp: Only warn for macro names containing __
Section 3.3 (Preprocessor) of the GLSL 1.30 spec (and later) and the
GLSL ES spec (all versions) say:
"All macro names containing two consecutive underscores ( __ ) are
reserved for future use as predefined macro names. All macro names
prefixed with "GL_" ("GL" followed by a single underscore) are also
reserved."
The intention is that names containing __ are reserved for internal use
by the implementation, and names prefixed with GL_ are reserved for use
by Khronos. Since every extension adds a name prefixed with GL_ (i.e.,
the name of the extension), that should be an error. Names simply
containing __ are dangerous to use, but should be allowed. In similar
cases, the C++ preprocessor specification says, "no diagnostic is
required."
Per the Khronos bug mentioned below, a future version of the GLSL
specification will clarify this.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Cc: "9.2 10.0 10.1" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Tested-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>
Tested-by: Darius Spitznagel <d.spitznagel at goodbytez.de>
Cc: Tapani Pälli <lemody at gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71870
Bugzilla: Khronos #11702
(cherry picked from commit 0bd78926304e72ef3566e977d0cb5a959d86b809)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c074e347453e8452d17e23295f031fff9dab1065
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date: Thu Dec 19 14:17:19 2013 -0800
glsl: Fix condition to generate shader link error
GL_ARB_ES2_compatibility doesn't say anything about shader linking
when one of the shaders (vertex or fragment shader) is absent. So,
the extension shouldn't change the behavior specified in GLSL
specification.
Tested the behavior on proprietary linux drivers of NVIDIA and AMD.
Both of them allow linking a version 100 shader program in OpenGL
context, when one of the shaders is absent.
Makes following Khronos CTS tests to pass:
successfulcompilevert_linkprogram.test
successfulcompilefrag_linkprogram.test
Cc: mesa-stable at lists.freedesktop.org
Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
(cherry picked from commit 03597cf802a7a89c4853794e6206ab8ab003898d)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=00d1daf2a85d84a208e438c26bec33fbac2d6089
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date: Fri Feb 14 17:27:29 2014 -0800
mesa: Add GL_TEXTURE_CUBE_MAP_ARRAY to legal_get_tex_level_parameter_target()
Fixes failing Khronos CTS test packed_depth_stencil_init.test
Cc: <mesa-stable at lists.freedesktop.org>
Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
(cherry picked from commit 6bd2472a8b9a969d06dc110bd30ccd8daf713959)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=09a346a1c1d5757815fc6154e1923c154eca08da
Author: Kusanagi Kouichi <slash at ac.auone-net.jp>
Date: Wed Feb 12 16:07:55 2014 +0900
targets/vdpau: Always use c++ to link
If built without llvm, the following error occurs with mplayer:
Failed to open VDPAU backend .../libvdpau_r600.so: undefined symbol: _ZTVN10__cxxabiv117__class_type_infoE
[vo/vdpau] Error when calling vdp_device_create_x11: 1
Cc: <mesa-stable at lists.freedesktop.org>
Signed-off-by: Kusanagi Kouichi <slash at ac.auone-net.jp>
Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com>
(cherry picked from commit 61f6cddef72a49d87e2b31ed49cdbc941d3b1efc)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5202312160347dab4c8514859ff5c2f9a7bfad79
Author: Carl Worth <cworth at cworth.org>
Date: Thu Feb 13 09:49:27 2014 -0800
main: Avoid double-free of shader Label
As documented, the _mesa_free_shader_program_data function:
"Frees all the data that hangs off a shader program object, but not
the object itself."
This means that this function may be called multiple times on the same object,
(and has been observed to). Meanwhile, the shProg->Label field was not being
set to NULL after its free(). This led to a second call to free() of the same
address on the second call to this function.
Fix this by setting this field to NULL after free(), (just as with all other
calls to free() in this function).
Reviewed-by: Brian Paul <brianp at vmware.com>
CC: mesa-stable at lists.freedesktop.org
(cherry picked from commit a92581acf2aba5e5e9fa199b778e649d5741754d)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d6e83e9a7ab1e1d27a90277fe30ca1cb22baa1bc
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Wed Feb 12 18:22:56 2014 -0500
nouveau: fix chipset checks for nv1a by using the oclass instead
Commit f4ebcd133b9 ("dri/nouveau: NV17_3D class is not available for
NV1a chipset") fixed this partially by using the correct 3d class.
However there were a lot of checks left over comparing against the
chipset.
Reported-and-tested-by: John F. Godfrey <jfgodfrey at gmail.com>
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: 9.2 10.0 10.1 <mesa-stable at lists.freedesktop.org>
Reviewed-by: Francisco Jerez <currojerez at riseup.net>
(cherry picked from commit 0c8b165366d68291e3013c7308b8b1fdd5ade2a2)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ad54c842fad754803a3499fffde9b9139a906da3
Author: Fredrik Höglund <fredrik at kde.org>
Date: Fri Feb 7 20:34:08 2014 +0100
mesa: Preserve the NewArrays state when copying a VAO
Cc: "10.1" "10.0" <mesa-stable at lists.freedesktop.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=72895
Reviewed-by: Brian Paul <brianp at vmware.com>
(cherry picked from commit 9afbd04d892f96e7fc6b689ca57ea5da124f7560)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a4719eff1af9e459a0714c1932f49ab4451bcdb5
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Jan 25 15:23:41 2014 +0000
dri/nouveau: Pass the API into _mesa_initialize_context
Currently we create a OPENGL_COMPAT context regardless of
what was requested by the program. Correct that by retaining
the program's request and passing it into _mesa_initialize_context.
Based on a similar commit for radeon/r200 by Ian Romanick.
Cc: "9.1 9.2 10.0" <mesa-stable at lists.freedesktop.org>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
(cherry picked from commit 76d9f6d9729db1c999317a6b44818aa90c30a0b3)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5f35078700b24cdead1e8f9372fdb14e748c05bc
Author: Daniel Kurtz <djkurtz at chromium.org>
Date: Fri Feb 7 19:29:06 2014 +0800
glsl: Add locking to builtin_builder singleton
Consider a multithreaded program with two contexts A and B, and the
following scenario:
1. Context A calls initialize(), which allocates mem_ctx and starts
building built-ins.
2. Context B calls initialize(), which sees mem_ctx != NULL and assumes
everything is already set up. It returns.
3. Context B calls find(), which fails to find the built-in since it
hasn't been created yet.
4. Context A finally finishes initializing the built-ins.
This will break at step 3. Adding a lock ensures that subsequent
callers of initialize() will wait until initialization is actually
complete.
Similarly, if any thread calls release while another thread is still
initializing, or calling find(), the mem_ctx/shader would get free'd while
from under it, leading to corruption or use-after-free crashes.
Fixes sporadic failures in Piglit's glx-multithread-shader-compile.
Bugzilla: https://bugs.freedesktop.org/69200
Signed-off-by: Daniel Kurtz <djkurtz at chromium.org>
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Cc: "10.1 10.0" <mesa-stable at lists.freedesktop.org>
(cherry picked from commit b47d231526821f5cff99546a984103a7222bc66c)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=aa1f7b42379b7574f06d0df2cee3e4d9f54e1ccf
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Sat Feb 8 15:22:46 2014 -0500
nouveau/video: make sure that firmware is present when checking caps
Apparently some players are ill-prepared for us claiming that a decoder
exists only to have creating it fail, and express this poor preparation
with crashes (e.g. flash). Check that firmware is there to increase the
chances of there being a high correlation between reported capabilities
and ability to create a decoder.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: 10.0 10.1 <mesa-stable at lists.freedesktop.org>
Tested-by: Emil Velikov <emil.l.velikov at gmail.com>
(cherry picked from commit 40dd777b3307301e6580c5757c322a2ec99b5b37)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d141825eff4addb69a605e76a5c758ab3d8ce055
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Wed Jan 29 12:36:13 2014 -0500
nv30: report 8 maximum inputs
nvfx_fragprog_assign_generic only allows for up to 10/8 texcoords for
nv40/nv30. This fixes compilation of the varying-packing tests.
Furthermore it appears that the last 2 inputs on nv4x don't seem to
work in those tests, so just report 8 everywhere for now.
Tested on NV42, NV44. NV4B appears to have additional problems.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: 9.1 9.2 10.0 10.1 <mesa-stable at lists.freedesktop.org>
(cherry picked from commit 356aff3a5c08be055d6befff99a72f5551b3ac2d)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d13adcae22bf624bd34b28a212b107746f64141c
Author: Brian Paul <brianp at vmware.com>
Date: Sat Feb 8 13:39:45 2014 -0700
mesa: update assertion in detach_shader() for geom shaders
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=74723
Cc: "10.0" "10.1" <mesa-stable at lists.freedesktop.org>
Tested-by: Andreas Boll <andreas.boll.dev at gmail.com>
(cherry picked from commit c325ec896545cc909f2f0e359f0bb0513a8a53b5)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e91dd3661cfc10c0dc2d7da7156cbe78c9d2a1c0
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Feb 5 21:42:00 2014 -0800
glsl: Don't lose precision qualifiers when encountering "centroid".
Mesa fails to retain the precision qualifier when parsing:
#version 300 es
centroid in mediump vec2 v;
Consider how the parser's type_qualifier production is applied.
First, the precision_qualifier rule creates a new ast_type_qualifier:
<precision: mediump>
Then the storage_qualifier rule creates a second one:
<flags: in>
and calls merge_qualifier() to fold in any previous qualifications,
returning:
<flags: in, precision: mediump>
Finally, the auxiliary_storage_qualifier creates one for "centroid":
<flags: centroid>
it then does $$ = $1 and $$.flags |= $2.flags, resulting in:
<flags: centroid, in>
Since precision isn't stored in the flags bitfield, it is lost. We need
to instead call merge_qualifier to combine all the fields.
Cc: mesa-stable at lists.freedesktop.org
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reported-by: Kevin Rogovin <kevin.rogovin at intel.com>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
(cherry picked from commit 2062f40d81de4743758851b03dad506f9cb6f306)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=490b810d0ee385695aff7031b83785f01955f53a
Author: Brian Paul <brianp at vmware.com>
Date: Fri Feb 7 09:32:05 2014 -0700
st/mesa: avoid sw fallback for getting/decompressing textures
If st_GetTexImage() is to decompress the texture, avoid the fallback
path even if prefer_blit_based_texture_transfer = false. For drivers
that returned PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFER = 0, we
were always taking the fallback path for texture decompression rather
than rendering a quad. The later is a lot faster.
Cc: "10.0" "10.1" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
(cherry picked from commit f47e5962885d9f7de23a8c9c9ba035017e24ffd6)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d37086c6fc2b47703ee89fd2eaf94ad51dccf52e
Author: Matt Turner <mattst88 at gmail.com>
Date: Mon Feb 3 11:51:51 2014 -0800
glsl: Initialize ubo_binding_mask flags to zero.
Missed in commit e63bb298. Caused sporadic test failures, like
incorrect-in-layout-qualifier-repeated-prim.geom.
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
(cherry picked from commit e2ef93cf94ee553e5de70a7c26fd0724d967d0b2)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cfd8aed240583295374840f29d3f627c50e97216
Author: Marek Olšák <marek.olsak at amd.com>
Date: Thu Feb 6 02:16:50 2014 +0100
st/mesa: fix crash when a shader uses a TBO and it's not bound
This binds a NULL sampler view in that case.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=74251
Cc: "10.1" "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Brian Paul <brianp at vmware.com>
(cherry picked from commit c6dbcf10dff1f8343a26081f5489ef732ebb5460)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1b6aec4b5ab9441f979f6eae4d56787e7483cc39
Author: Paul Berry <stereotype441 at gmail.com>
Date: Fri Jan 31 09:55:35 2014 -0800
glsl: Fix continue statements in do-while loops.
From the GLSL 4.40 spec, section 6.4 (Jumps):
The continue jump is used only in loops. It skips the remainder of
the body of the inner most loop of which it is inside. For while
and do-while loops, this jump is to the next evaluation of the
loop condition-expression from which the loop continues as
previously defined.
Previously, we incorrectly treated a "continue" statement as jumping
to the top of a do-while loop.
This patch fixes the problem by replicating the loop condition when
converting the "continue" statement to IR. (We already do a similar
thing in "for" loops, to ensure that "continue" causes the loop
expression to be executed).
Fixes piglit tests:
- glsl-fs-continue-inside-do-while.shader_test
- glsl-vs-continue-inside-do-while.shader_test
- glsl-fs-continue-in-switch-in-do-while.shader_test
- glsl-vs-continue-in-switch-in-do-while.shader_test
Cc: mesa-stable at lists.freedesktop.org
Acked-by: Carl Worth <cworth at cworth.org>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
(cherry picked from commit 7f5740899fe8ee2d7fecebf1b9622e06dbc78f43)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6d6bdd88e708820653312edda85f536c590a669c
Author: Paul Berry <stereotype441 at gmail.com>
Date: Fri Jan 31 09:50:37 2014 -0800
glsl: Make condition_to_hir() callable from outside ast_iteration_statement.
In addition to making it public, we also need to change its first
argument from an ir_loop * to an exec_list *, so that it can be used
to insert the condition anywhere in the IR (rather than just in the
body of the loop).
This will be necessary in order to make continue statements work
properly in do-while loops.
Cc: mesa-stable at lists.freedesktop.org
Acked-by: Carl Worth <cworth at cworth.org>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
(cherry picked from commit 56790856b303ad5ba86d7eb261ade91edaa3ee0b)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2a1918695373a8306deac2a55d6f10492ceb775a
Author: Topi Pohjolainen <topi.pohjolainen at intel.com>
Date: Mon Jan 27 10:50:01 2014 +0200
i965/blorp: do not use unnecessary hw-blending support
This is really not needed as blorp blit programs already sample
XRGB normally and get alpha channel set to 1.0 automatically by
the sampler engine. This is simply copied directly to the payload
of the render target write message and hence there is no need for
any additional blending support from the pixel processing pipeline.
The blending formula is anyway broken for color components, it
multiplies the color component with itself (blend factor is the
component itself).
Alpha blending in turn would not fix the alpha to one independent
of the source but simply used the source alpha as is instead
(1.0 * src_alpha + 0.0 * dst_alpha).
Quoting Eric:
"If we want to actually make the no-alpha-bits-present thing work,
we need to override the bits in the surface state or in the
generated code. In the normal draw path, it's done for sampling
by the swizzling code in brw_wm_surface_state.c, and the blending
overrides is just to fix up the alpha blending stage which
doesn't pay attention to that for the destination surface."
If one modifies piglit test gl-3.2-layered-rendering-blit to use
color component values other than zero or one, this change will
kick in on IVB. No regressions on IVB.
This is effectively revert of c0554141a9b831b4e614747104dcbbe0fe489b9d:
i965/blorp: Support overriding destination alpha to 1.0.
Currently, Blorp requires the source and destination formats to be
equal. However, we'd really like to be able to blit between XRGB and
ARGB formats; our BLT engine paths have supported this for a long time.
For ARGB -> XRGB, nothing needs to occur: the missing alpha is already
interpreted as 1.0. For XRGB -> ARGB, we need to smash the alpha
channel to 1.0 when writing the destination colors. This is fairly
straightforward with blending.
For now, this code is never used, as the source and destination formats
still must be equal. The next patch will relax that restriction.
NOTE: This is a candidate for the 9.1 branch.
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
(cherry picked from commit 933be19cdf97aed977cd656e5c15c99cbdb52b7f)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=dc0053b33f5bd95965c1820d814edc2ab6d8b5c9
Author: Christian König <christian.koenig at amd.com>
Date: Mon Feb 3 02:28:58 2014 -0700
radeon/uvd: fix feedback buffer handling v2
Without the correct feedback buffer size UVD runs
into an error on each frame, reducing the maximum FPS.
v2: fixing Michels comments
Signed-off-by: Christian König <christian.koenig at amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
Cc: "10.1" "10.0" "9.2" <mesa-stable at lists.freedesktop.org>
(cherry picked from commit c3c24c3accd1401cbe96098e44850bb1130d80b9)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e70e368af51a861c646a351d6d61b4fdf7253e89
Author: Brian Paul <brianp at vmware.com>
Date: Mon Feb 3 11:33:03 2014 -0700
draw: fix incorrect color of flat-shaded clipped lines
When we clipped a line weren't copying the provoking vertex
color to the second vertex. We also weren't checking for
first vs. last provoking vertex.
Fixes failures found with the new piglit line-flat-clip-color test.
Cc: "10.0, 10.1" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
(cherry picked from commit fc3fcd1e01093e8ab8d06d95c53f875ace57ca7f)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e10b0e0f50e65e59305bc93e649b0db5bc0276ac
Author: Brian Paul <brianp at vmware.com>
Date: Fri Jan 31 17:27:04 2014 -0700
gallium/auxiliary/indices: replace free() with FREE()
To match the CALLOC_STRUCT() call.
Cc: "10.0, 10.1" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
(cherry picked from commit 307fd76053da39242ada2701b0d32b2177fe3493)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b74da80b71ae9799ba06cfcfdcd3307db3fb2208
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Sat Dec 14 11:27:29 2013 -0800
meta: Consistenly use non-Apple VAO functions
For these objects, meta was already using the non-Apple function to
delete the objects. Everywhere else in the file uses
_mesa_GenVertexArrays and _mesa_BindVertexArrays.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
Cc: "9.1 9.2 10.0" <mesa-stable at lists.freedesktop.org>
(cherry picked from commit abfa65ca811099332c8683dada9a2ee44cc01dc9)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=89c6473ff0890b84f1400b9cd6f31146b75a7f4c
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Fri Dec 13 15:59:38 2013 -0800
meta: Fallback to software for GetTexImage of compressed GL_TEXTURE_CUBE_MAP_ARRAY
The hardware decompression path isn't even close to being able to handle
this. This converts the crash (assertion failure) in
"EXT_texture_compression_s3tc/getteximage-targets S3TC CUBE_ARRAY" to a
plain old failure.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
Cc: "9.1 9.2 10.0" <mesa-stable at lists.freedesktop.org>
(cherry picked from commit 070f55d8935af6fee62506b54bc86c1bf5049a82)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a4a8af4cbbe726ac00147e30310c1f84c92533bb
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Sat Dec 14 11:58:45 2013 -0800
meta: Release resources used by _mesa_meta_DrawPixels
_mesa_meta_DrawPixels creates a VAO and (potentially) two fragment
programs, but none of them are ever released. Leaking piles of memory
is generally frowned upon.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
Cc: "9.1 9.2 10.0" <mesa-stable at lists.freedesktop.org>
(cherry picked from commit fcb498302bff912ca4f3169d37cc04b58e77d0fa)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c1bcdcde1c7e0c369f2cc4b4d7e56e9c3ea6707f
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Fri Dec 13 14:36:17 2013 -0800
meta: Release resources used by decompress_texture_image
decompress_texture_image creates an FBO, an RBO, a VBO, a VAO, and a
sampler object, but none of them are ever released. Later patches will
add program objects, exacerbating the problem. Leaking piles of memory
is generally frowned upon.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
Cc: "9.1 9.2 10.0" <mesa-stable at lists.freedesktop.org>
(cherry picked from commit 2d3f92e881dbd9d1aff17bba0d182c8ef645a2ca)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d18b18213416ba891885332e17eca523fafa6d6b
Author: Brian Paul <brianp at vmware.com>
Date: Fri Jan 31 17:09:44 2014 -0700
radeon: move driContextSetFlags(ctx) call after ctx var is initialized
CC: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
(cherry picked from commit f51ca46f0c7c3b87b62f6047b266faeffbaae619)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5297fdc0c814badb0f86d312823ebf35c75adf54
Author: Brian Paul <brianp at vmware.com>
Date: Fri Jan 31 17:09:44 2014 -0700
r200: move driContextSetFlags(ctx) call after ctx var is initialized
Otherwise, ctx was a garbage value.
CC: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
(cherry picked from commit 2d6d69bab6c74d92514b81a68c6c8b1dc428182a)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=edf066f3851a25f1cec562d8bde80d290291703a
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date: Mon Jan 27 17:23:32 2014 -0800
mesa: Generate correct error code in glDrawBuffers()
OpenGL 3.3 spec expects GL_INVALID_OPERATION:
"For both the default framebuffer and framebuffer objects, the
constants FRONT, BACK, LEFT, RIGHT, and FRONT AND BACK are not
valid in the bufs array passed to DrawBuffers, and will result
in the error INVALID OPERATION."
But OpenGL 4.0 spec changed the error code to GL_INVALID_ENUM:
"For both the default framebuffer and framebuffer objects, the
constants FRONT, BACK, LEFT, RIGHT, and FRONT_AND_BACK are not
valid in the bufs array passed to DrawBuffers, and will result
in the error INVALID_ENUM."
This patch changes the behaviour to match OpenGL 4.0 spec
Fixes Khronos OpenGL CTS draw_buffers_api.test.
V2: Update the comment in code.
Cc: mesa-stable at lists.freedesktop.org
Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
(cherry picked from commit 33034755583edfb7c5b773b8e38a9dfa8d317821)
More information about the mesa-commit
mailing list