profile/ivi/mesa.git
11 years agoglcpp: Fix visibility CFLAGS in automake
Adam Jackson [Wed, 2 Jan 2013 19:02:00 +0000 (14:02 -0500)]
glcpp: Fix visibility CFLAGS in automake

Note: this is a candidate for the 9.0 stable branch.

Signed-off-by: Adam Jackson <ajax@redhat.com>
(cherry picked from commit 0daabd52394899ec4947dc2cf3119201d2e79b1c)

11 years agoclover: Install CL headers.
Johannes Obermayr [Tue, 4 Dec 2012 13:18:03 +0000 (14:18 +0100)]
clover: Install CL headers.

Note: This is a candidate for the stable branches.
(cherry picked from commit b361bb3de4bd8d27f6fcb920e5516e51db00ef73)

11 years agobuild: Fix GLES linkage without libglapi
Andreas Boll [Thu, 6 Dec 2012 17:36:25 +0000 (18:36 +0100)]
build: Fix GLES linkage without libglapi

fixes a regression introduced with
fc9ea7c74dc5cb996c3d9fe6663fd6da080e8360

NOTE: This is a candidate for the 9.0 branch.

Reported-by: Brian Paul <brianp@vmware.com>
Acked-by: Matt Turner <mattst88@gmail.com>
(cherry picked from commit 520892688af7ce9baca6e2b72e7e7eaebe02260c)

11 years agoglsl: fix uninitialised variable from constructor
Dave Airlie [Fri, 30 Nov 2012 10:24:33 +0000 (20:24 +1000)]
glsl: fix uninitialised variable from constructor

Coverity pointed out this uninitialised class member.

Note: This is a candidate for stable branches.

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit f3476ec8fa5a94d469a12318c537b13ce9cc5a45)

11 years agoglsl: initialise killed_all field.
Dave Airlie [Fri, 30 Nov 2012 10:23:20 +0000 (20:23 +1000)]
glsl: initialise killed_all field.

coverity pointed out this field was being used uninitialised.

Note: This is a candidate for stable branches.

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 906670a7906a785210c872f637239bf4afa5b63d)

11 years agoglsl: fix cut-n-paste error in error handling. (v2)
Dave Airlie [Fri, 30 Nov 2012 08:33:21 +0000 (18:33 +1000)]
glsl: fix cut-n-paste error in error handling. (v2)

Reported by coverity scan.

v2: fix second case

Note: This is a candidate for stable branches.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit e85c9a4d2874a302195c66742b446f0645440c43)

11 years agoutil: added pipe_surface_release() function
Brian Paul [Fri, 30 Nov 2012 17:10:25 +0000 (10:10 -0700)]
util: added pipe_surface_release() function

To fix a pipe_context::surface_destroy() use-after-free problem.
We previously added pipe_sampler_view_release() for similar reasons.

Note: this is a candidate for the stable branches.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
(cherry picked from commit 51223784d6a8ee93cf004c9ba87a7e4dcb7b3161)

11 years agobuild: use git ls-files for adding all Makefile.in into the release tarball
Andreas Boll [Fri, 16 Nov 2012 09:46:06 +0000 (10:46 +0100)]
build: use git ls-files for adding all Makefile.in into the release tarball

Until we have proper 'make dist' this is an improvement of the current
situation, because each time some old Makefiles got converted to automake
we had to update the tarballs target.

NOTE: This is a candidate for the 9.0 branch.

Cc: Eric Anholt <eric@anholt.net>
Acked-by: Matt Turner <mattst88@gmail.com>
(cherry picked from commit 0f5e2ce8541855c65852dabbb19313fd0bb65b3d)

Conflicts:
Makefile.am

11 years agoi965/gen4: Fix memory leak each time compile_gs_prog() is called.
Eric Anholt [Fri, 16 Nov 2012 17:56:03 +0000 (09:56 -0800)]
i965/gen4: Fix memory leak each time compile_gs_prog() is called.

Commit 774fb90db3e83d5e7326b7a72e05ce805c306b24 introduced a ralloc context to
each user of struct brw_compile, but for this one a NULL context was used,
causing the later ralloc_free(mem_ctx) to not do anything.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55175
NOTE: This is a candidate for the stable branches.
(cherry picked from commit 59bfd66a614177320817a97e1dadfcfcf3b9b092)

11 years agoradeonsi: add a new SI pci id
Alex Deucher [Wed, 21 Nov 2012 23:48:18 +0000 (18:48 -0500)]
radeonsi: add a new SI pci id

Note: this is a candidate for the stable branch.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit e2df37f69a4e513b756fc193a544d48d8fd0ddac)

11 years agoi915: Fix wrong sizeof argument in i915_update_tex_unit.
Vinson Lee [Wed, 14 Nov 2012 07:20:42 +0000 (23:20 -0800)]
i915: Fix wrong sizeof argument in i915_update_tex_unit.

The bug was found by Coverity.

NOTE: This is a candidate for the stable branches.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
(cherry picked from commit 10f214e5b248e5dd5f323c689549cd66d2f6ad22)

11 years agoAdd .dirstamp to toplevel .gitignore
Andreas Boll [Sat, 17 Nov 2012 17:04:54 +0000 (18:04 +0100)]
Add .dirstamp to toplevel .gitignore
(cherry picked from commit 59b3d3ad6e77af92eb23b77c59dc60e6f9566d87)

11 years agoegl/dri2: Set error code when dri2CreateContextAttribs fails
Chad Versace [Fri, 9 Nov 2012 22:06:41 +0000 (14:06 -0800)]
egl/dri2: Set error code when dri2CreateContextAttribs fails

When dri2CreateContextContextAttribs failed, eglCreateContext returned
NULL yet set the error code to EGL_SUCCESS! The problem was that
eglCreateContext ignored the error code returned by
driCreateContextAttribs.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56706
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit 5cf8536690226b3bd19d19197fcec501a278703c)

11 years agoi965: Validate requested GLES context version in brwCreateContext
Chad Versace [Fri, 9 Nov 2012 22:06:40 +0000 (14:06 -0800)]
i965: Validate requested GLES context version in brwCreateContext

For GLES1 and GLES2, brwCreateContext neglected to validate the requested
context version received from the DRI layer. If DRI requested an OpenGL
ES2 context with version 3.9, we provided it one.

Before this fix, the switch statement that validated the requested GL
context flavor was an ugly #ifdef copy-paste mess. Instead of reproducing
the copy-past-mess for GLES1 and GLES2, I first refactored it.  Now the
switch statement is readable.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit 243cf7a924eaef78ce0d5150747fae6c3c4e6974)

11 years agoautomake: strip LLVM_CXXFLAGS and LLVM_CPPFLAGS too
Maarten Lankhorst [Mon, 19 Nov 2012 08:43:29 +0000 (09:43 +0100)]
automake: strip LLVM_CXXFLAGS and LLVM_CPPFLAGS too

It seems that -NDEBUG and other flags might still be leaked through
those variables, so strip those off there as well.

NOTE: This is a candidate for the 9.0 branch.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
(cherry picked from commit ddb901fbf4489ffcd85d3320f23913eb1d4fbdfe)

11 years agomesa: Fix segfault on reading from a missing color read buffer.
Eric Anholt [Tue, 13 Nov 2012 21:39:37 +0000 (13:39 -0800)]
mesa: Fix segfault on reading from a missing color read buffer.

The diff looks funny, but it's moving the integer vs non-integer check
below the _mesa_source_buffer_exists() check that ensures
_ColorReadBuffer is non-null, so we get a GL_INVALID_OPERATION instead
of a segfault.  This looks like it had regressed in the
_mesa_error_check_format_and_type() changes, which removed the first of
the two duplicated checks for the source buffer.  Fixes segfault in the
new piglit ARB_framebuffer_object/negative-readpixels-no-rb.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45877
NOTE: This is a candidate for the stable branches.
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit 5c99697f74c68f7e170564d791b95d986a18774a)

11 years agomesa: add MaxNumLevels to gl_texture_image, remove MaxLog2
Marek Olšák [Sun, 11 Nov 2012 14:22:32 +0000 (15:22 +0100)]
mesa: add MaxNumLevels to gl_texture_image, remove MaxLog2

MaxLog2 led to bugs, because it didn't work well with 1D and 3D textures.

NOTE: This is a candidate for the stable branches.

v2: correct the comment at MaxNumlevels

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 8111342e814304730bed34446ea816cbc17a5775)

11 years agoi965: Fix AA Line Distance Mode in 3DSTATE_SF on Ivybridge.
Kenneth Graunke [Thu, 8 Nov 2012 12:13:26 +0000 (04:13 -0800)]
i965: Fix AA Line Distance Mode in 3DSTATE_SF on Ivybridge.

We were accidentally setting bit 14 in DWord 2 (which is Reserved/MBZ)
rather than bit 14 in DWord 3 (which is AA Line Distance Mode).

There's also no reason to ever set it to legacy mode; the bit is only
used when drawing antialiased lines anyway.  Set it unconditionally.

NOTE: This is a candidate for stable branches.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit e639385064663ba401544de5dbd463fa7f6cce2d)

11 years agoglcpp: Reject garbage after #else and #endif tokens
Matt Turner [Tue, 6 Nov 2012 18:59:30 +0000 (10:59 -0800)]
glcpp: Reject garbage after #else and #endif tokens

Previously we were accepting garbage after #else and #endif tokens when
the previous preprocessor conditional evaluated to false (eg, #if 0).

When the preprocessor hits a false conditional, it switches the lexer
into the SKIP state, in which it ignores non-control tokens. The parser
pops the SKIP state off the stack when it reaches the associated #elif,
#else, or #endif. Unfortunately, that meant that it only left the SKIP
state after the lexing the entire line containing the #token and thus
would accept garbage after the #token.

To fix this we use a mid-rule, which is executed immediately after the
#token is parsed.

NOTE: This is a candidate for the stable branch
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56442
Fixes: preprocess17_frag.test from oglconform
Reviewed-by: Carl Worth <cworth@cworth.org> (glcpp-parse.y)
Acked-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit 060e69679925f171cfcc2a5f84fab1d833a7e804)

11 years agomesa: Don't glPopAttrib() GL_POINT_SPRITE_COORD_ORIGIN on < OpenGL-2.0
Mario Kleiner [Sun, 7 Oct 2012 01:44:14 +0000 (03:44 +0200)]
mesa: Don't glPopAttrib() GL_POINT_SPRITE_COORD_ORIGIN on < OpenGL-2.0

The GL_POINT_BIT state attribute GL_POINT_SPRITE_COORD_ORIGIN
is only supported on OpenGL-2.0 or later. Prevent glPopAttrib()
from trying to restore it on OpenGL-1.4 implementations which
support GL_ARB_POINT_SPRITE, as otherwise the sequence...

glPushAttrib(GL_POINT_BIT);
glPopAttrib();

throws an GL_INVALID_ENUM error in glPopAttrib().

See also commit f778174ea1e431a7113f12c12beb4aba9e825a9f

NOTE: This is a candidate for the 9.0 branch.

Signed-off-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
(cherry picked from commit eabbe5c45f5d05822c5f841628afa4008398d553)

11 years agomesa: Fix glGetVertexAttribI[u]iv now that we have real integer attribs.
Kenneth Graunke [Thu, 8 Nov 2012 04:29:40 +0000 (20:29 -0800)]
mesa: Fix glGetVertexAttribI[u]iv now that we have real integer attribs.

Since cf438f5375e242, we store actual integers for the attribute data.
We just need to reinterpret the GLfloat array as a GLint/GLuint array
so we can read the proper data.

Fixes oglconform's glsl-vertex-attrib/basic.VertexAttribI[1234][u]i
subtests (after fixing an unrelated bug in those test cases).

v2: Use the COPY_4V macro to be concise.

NOTE: This is a candidate for the stable branches.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Marek Olšák <maraeo@gmail.com> [v1]
(cherry picked from commit c299f44782d7d7d6719fce622a121aad58856139)

11 years agoglsl_to_tgsi: fix dst register for texturing fetches.
Dave Airlie [Sat, 1 Sep 2012 03:55:38 +0000 (13:55 +1000)]
glsl_to_tgsi: fix dst register for texturing fetches.

I've no idea why there isn't a piglit that triggers this behaviour,
but while enabling TBOs for softpipe and r600g, I noticed all the
integer tests failed. I tracked it back to the TXF returning a float
when it should be returning an int. This fixed it and I haven't
seen any regressions in a full piglit run on softpipe.

http://bugs.freedesktop.org/55010

NOTE: This is a candidate for the 9.0 branch.

Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 9785ae0973cc206afc36dbc7d5b9553f92d06b47)

11 years agometa: Remove redundant code in _mesa_meta_GenerateMipmap
Anuj Phogat [Fri, 2 Nov 2012 18:18:16 +0000 (11:18 -0700)]
meta: Remove redundant code in _mesa_meta_GenerateMipmap

Integer textures generate invalid operation in glGenerateMipmap.
So, the code related to integer textures is now redundant.

Note: This is a candidate for stable branches.
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit a196f43596f6cb85a8f3e446596a2fb8e0ee7872)

11 years agomesa: Generate invalid operation in glGenerateMipMap for integer textures
Anuj Phogat [Fri, 2 Nov 2012 17:47:33 +0000 (10:47 -0700)]
mesa: Generate invalid operation in glGenerateMipMap for integer textures

Khronos has reached a conclusion and disallowed following texture formats in
glGenerateMipMap():
 (a) ASTC textures
 (b) integer internal formats (e.g., RGBA8UI, RG16I)
 (c) textures with stencil formats (e.g., STENCIL_INDEX8)
 (d) textures with packed depth/stencil formats (e.g, DEPTH24_STENCIL8)

https://cvs.khronos.org/bugzilla/show_bug.cgi?id=9471

Note: This is a candidate for stable branches.
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit c0a78d7d7b51e125d143e693fdfc78b90f2d68cf)

11 years agomesa: Fix core GL genned-name handling for glBeginQuery().
Eric Anholt [Wed, 31 Oct 2012 22:36:27 +0000 (15:36 -0700)]
mesa: Fix core GL genned-name handling for glBeginQuery().

Fixes piglit gl-3.1/genned-names.

NOTE: This is a candidate for the 9.0 branch.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
(cherry picked from commit 4fce0230fc3528be32562410bcddfc887c4d25a0)

11 years agomesa: Fix the core GL genned-name handling for glBindBufferBase()/Range().
Eric Anholt [Wed, 31 Oct 2012 22:33:41 +0000 (15:33 -0700)]
mesa: Fix the core GL genned-name handling for glBindBufferBase()/Range().

This is part of fixing gl-3.1/genned-names.

v2: Fix a missing return value.

NOTE: This is a candidate for the 9.0 branch.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
(cherry picked from commit 947d8ff4a7c4b7ffb4013056b48dbabe6b3931b0)

11 years agollvmpipe: Obey back writemask.
José Fonseca [Tue, 30 Oct 2012 19:45:25 +0000 (19:45 +0000)]
llvmpipe: Obey back writemask.

Tested with a modified glean tstencil2 test.

NOTE: This is a candidate for stable branches.

Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit f69fc3612768d9cfed974b9d6ecf6a70fa0db99c)

11 years agoglsl_to_tgsi: set correct register type for array and structure elements
Bryan Cain [Tue, 23 Oct 2012 16:58:40 +0000 (11:58 -0500)]
glsl_to_tgsi: set correct register type for array and structure elements

This fixes an issue where glsl_to_tgsi_visior::get_opcode() would emit the
wrong opcode because the register type was GLSL_TYPE_ARRAY/STRUCT instead of
GLSL_TYPE_FLOAT/INT/UINT/BOOL, so the function would use the float opcodes for
operations on integer or boolean values dereferenced from an array or
structure.  Assertions have been added to get_opcode() to prevent this bug
from reappearing in the future.

NOTE: This is a candidate for the stable branches.

Reviewed-by: Brian Paul <brianp@vmware.com>
Tested-by: Andreas Boll <andreas.boll.dev@gmail.com>
(cherry picked from commit 170f0459a2367406d4ec838b2eebdc6ff2f84f2c)

11 years agonv50/ir: restore use of long immediate encodings
Christoph Bumiller [Thu, 25 Oct 2012 12:32:29 +0000 (14:32 +0200)]
nv50/ir: restore use of long immediate encodings

NOTE: This is a candidate for the 9.0 branch.
(cherry picked from commit 9ae7d8bb799a8c5008c7c4824d414ca856e13ba5)

11 years agoi965/vs: Preserve the type when copy propagating into an instruction.
Kenneth Graunke [Thu, 25 Oct 2012 09:29:15 +0000 (02:29 -0700)]
i965/vs: Preserve the type when copy propagating into an instruction.

Consider the following code, which reinterprets a register as a
different type:

mov(8)          g6<1>F          g1.4<0,4,1>.xF
and(8)          g5<1>.xUD       g6<4,4,1>.xUD   0x7fffffffUD

Copy propagation would notice that we can replace the use of g6 with
g1.4 and eliminate the MOV.  Unfortunately, it failed to preserve the UD
type, incorrectly generating:

and(8)          g5<1>.xUD       g6<4,4,1>.xF    0x7fffffffUD

Found while debugging Ian's uncommitted ARB_vertex_program LOG opcode
test with my new Mesa IR -> Vec4 IR translator.

NOTE: This is a candidate for stable release branches.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit 03ea156f1b3e57ef223c0340afb49e513fa0b407)

11 years agoi965/vs: Don't lose the MRF writemask when doing compute-to-MRF.
Kenneth Graunke [Thu, 25 Oct 2012 04:16:46 +0000 (21:16 -0700)]
i965/vs: Don't lose the MRF writemask when doing compute-to-MRF.

Consider the following code sequence:

   mul(8)          g4<1>F          g1<0,4,1>.wzwwF g3<4,4,1>.wzwwF
   mov.sat(8)      m1<1>.xyF       g4<4,4,1>F
   mul(8)          g4<1>F          g1<0,4,1>.xxyxF g3<4,4,1>.xxyxF
   mov.sat(8)      m1<1>.zwF       g4<4,4,1>F

The compute-to-MRF pass will discover the first mov.sat and attempt to
replace it by rewriting earlier instructions.  Everything works out,
so it replaces scan_inst's destination file, reg, and reg_offset,
resulting in:

   mul(8)          m1<1>F          g1<0,4,1>.wzwwF g3<4,4,1>.wzwwF
   mul(8)          g4<1>F          g1<0,4,1>.xxyxF g3<4,4,1>.xxyxF
   mov.sat(8)      m1<1>.zwF       g4<4,4,1>F

Unfortunately, it loses the .xy writemask on the mov.sat's MRF
destination.  While this doesn't pose an immediate problem, it then
proceeds to transform the second mov.sat, resulting in:

   mul(8)          m1<1>F          g1<0,4,1>.wzwwF g3<4,4,1>.wzwwF
   mul(8)          m1<1>F          g1<0,4,1>.xxyxF g3<4,4,1>.xxyxF

Instead of writing both halves of the vector (like the original code),
it overwrites the full vector both times, clobbering the desired .xy
values.

When encountering a MOV, the compute-to-MRF code scans for instructions
which generate channels of the MOV source.  It ensures that all
necessary channels are available (possibly written by several
instructions).  In this case, *more* channels are available than
necessary, so we want to take the subset that's actually used.
Taking the bitwise and of both writemasks should accomplish that.

This was discovered by analyzing an ARB_vertex_program test
(glean/vertProg1/MUL test (with swizzle and masking)) with my new
Mesa IR -> Vec4 IR translator code.  However, it should be possible
with GLSL programs as well.

NOTE: This is a candidate for stable release branches.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit 10ff6772c8054aea12ac0f08e2e3898fd4a7f76b)

11 years agoglcpp: Don't use infinite lookhead for #define differentiation.
Kenneth Graunke [Mon, 22 Oct 2012 17:56:46 +0000 (10:56 -0700)]
glcpp: Don't use infinite lookhead for #define differentiation.

Previously, we used lookahead patterns to differentiate:

   #define FOO(x)  function macro
   #define FOO (x) object macro

Unfortunately, our rule for function macros:

   {HASH}define{HSPACE}+/{IDENTIFIER}"("

relies on infinite lookahead, and apparently triggers a Flex bug where
the generated code overflows a state buffer (see YY_STATE_BUF_SIZE).

There's no need to use infinite lookahead.  We can simply change state,
match the identifier, and use a single character lookahead for the '('.
This apparently makes Flex not generate the giant state array, which
avoids the buffer overflow, and should be more efficient anyway.

Fixes piglit test 17000-consecutive-chars-identifier.frag.

NOTE: This is a candidate for every release branch ever.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Carl Worth <cworth@cworth.org>
(cherry picked from commit 9142ade15416415f2d5eb20b093b898c649cd2bb)

11 years agost/mesa: free TGSI tokens with ureg_free_tokens()
Brian Paul [Fri, 19 Oct 2012 21:34:55 +0000 (15:34 -0600)]
st/mesa: free TGSI tokens with ureg_free_tokens()

since they're allocated by ureg_get_tokens().

NOTE: This is a candidate for the 8.0 and 9.0 branches.

(cherry picked from commit 11070105f0b5ad20f12bb40a8dd0b357924bcfdd)

11 years agost/mesa: replace REALLOC() with realloc()
Brian Paul [Fri, 19 Oct 2012 20:51:20 +0000 (14:51 -0600)]
st/mesa: replace REALLOC() with realloc()

We should use the later since we're freeing the memory with free(),
not the gallium FREE() macro.

This fixes a mismatch when using the gallium debug memory functions.

NOTE: This is a candidate for the 9.0 branch.
(cherry picked from commit bb93439873e0f270383d8a802eec79807d32c10a)

11 years agomesa: Don't flatten IF statements by default.
Kenneth Graunke [Thu, 20 Sep 2012 21:27:29 +0000 (14:27 -0700)]
mesa: Don't flatten IF statements by default.

MaxIfDepth of 0 means "flatten all the time", not "never flatten".
This is only desirable on hardware that can't support control flow;
software rasterization and most hardware drivers want this.

This alters behavior for swrast as well as i915.  Tested on i915.

NOTE: This is a candidate for stable release branches.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit 56705cd36bf48d5050ac9ec10d91fd097a577f42)

11 years agoradeonsi: add some new SI pci ids
Alex Deucher [Tue, 16 Oct 2012 17:11:38 +0000 (13:11 -0400)]
radeonsi: add some new SI pci ids

Note: this is a candidate for the stable branch.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit ed8d87c6a641efe8667c0ba580260ffaff5ffc7e)

11 years agomesa: Fix a crash in update_texture_state() for external texture type
Abdiel Janulgue [Fri, 12 Oct 2012 08:51:03 +0000 (11:51 +0300)]
mesa: Fix a crash in update_texture_state() for external texture type

NOTE: This is a candidate for the stable branch.

Signed-off-by: Abdiel <abdiel.janulgue@intel.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit bcb10ca17221833b2502970fb94ff52cf328ee30)

11 years agoutil: null-out the node's prev/next pointers in list_del()
Chris Fester [Thu, 11 Oct 2012 22:01:23 +0000 (16:01 -0600)]
util: null-out the node's prev/next pointers in list_del()

Note: This is a candidate for the 9.0 branch.
Signed-off-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit 3fffe8f7b77938fcbf449a7f9a2ae9614c8e2bd4)

11 years agoandroid: generate matching remap_helper to dispatch table
Tapani Pälli [Tue, 2 Oct 2012 11:50:31 +0000 (14:50 +0300)]
android: generate matching remap_helper to dispatch table

commit a010215463c63680c69e90202fe3fcd2e5b25fa6 removed ES2 specific dispatch
table and remap_helper, since now we are using dispatch.h which is generated
from gl_and_es_API.xml we need to generate a matching remap_helper using the
same xml.

Note: This is a candidate for the 9.0 branch.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit 60565b564bc969ce47fb8417c79050c261e5aec9)

11 years agosvga: don't use uninitialized framebuffer state
Brian Paul [Thu, 11 Oct 2012 00:31:52 +0000 (18:31 -0600)]
svga: don't use uninitialized framebuffer state

Only the first 'nr_cbufs' color buffers in the pipe_framebuffer_state are
valid.  The rest of the color buffer pointers might be unitialized.
Fixes a regression in the piglit fbo-srgb-blit test since changes in the
gallium blitter code.

NOTE: This is a candidate for the 9.0 branch (just to be safe).

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
(cherry picked from commit 60a9390978db0a3c9b0170c726ebe684baf75734)

11 years agoi965/vs: Implement register spilling.
Kenneth Graunke [Mon, 1 Oct 2012 22:28:56 +0000 (15:28 -0700)]
i965/vs: Implement register spilling.

To validate this code, I ran piglit -t vs quick.tests with the "go spill
everything" debugging code enabled.  There was only one regression:
glsl-vs-unroll-explosion simply ran out of registers.  This should be
fine in the real world, since no one actually spills every single
register.

NOTE: This is a candidate for the 9.0 branch. Even if it proves to have
bugs, it's likely better than simply failing to compile.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit 9237f0ea8d176fb5dcd41868dcc723fe34f6b1f3)

11 years agoi965/vs: Fix unit mismatch in scratch base_offset parameter.
Kenneth Graunke [Mon, 1 Oct 2012 22:28:55 +0000 (15:28 -0700)]
i965/vs: Fix unit mismatch in scratch base_offset parameter.

move_grf_array_access_to_scratch() calculates scratch buffer offsets in
bytes.  However, emit_scratch_read/write() expects the base_offset
parameter to be measured in OWords.

As a result, a shader using a scratch read/write offset greater than
zero (in practice, a shader containing more than one variable in
scratch) would use too large an offset, frequently exceeding the
available scratch space.

This patch corrects the mismatch by removing spurious conversion from
OWords to bytes in move_grf_array_access_to_scratch().

This is based on a patch by Paul Berry.

NOTE: This is a candidate for stable release branches.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit 46e529672bb124b78eb454cbf55c72074ef6d35c)

11 years agonouveau: fix undefined behaviour when testing sample_count
Christoph Bumiller [Sat, 19 Jan 2013 19:53:22 +0000 (20:53 +0100)]
nouveau: fix undefined behaviour when testing sample_count

NOTE: This is a candidate for the 9.0 branch.

11 years agonv50/ir: wrap assertion using typeid in #ifndef NDEBUG
Christoph Bumiller [Mon, 7 Jan 2013 14:50:19 +0000 (15:50 +0100)]
nv50/ir: wrap assertion using typeid in #ifndef NDEBUG

Note: this is a candidate for the 9.0 stable branch.

11 years agonvc0: add missing call to map edge flag in push_vbo
Christoph Bumiller [Mon, 7 Jan 2013 19:18:06 +0000 (20:18 +0100)]
nvc0: add missing call to map edge flag in push_vbo

Note: this is a candidate for the 9.0 stable branch.

11 years agowayland: Don't cancel a roundtrip when any event is received
Jonas Ådahl [Tue, 25 Dec 2012 12:01:08 +0000 (13:01 +0100)]
wayland: Don't cancel a roundtrip when any event is received

Since wl_display_dispatch_queue() returns the number of processed events
or -1 on error, only cancel the roundtrip if an -1 is returned.

This also fixes a potential memory corruption bug happening when the
roundtrip does an early return and the callback later writes to the then
out of scope stack allocated `done' parameter.

Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
11 years agoegl/wayland: Dispatch the event queue before get_buffers
Ander Conselvan de Oliveira [Thu, 22 Nov 2012 13:34:49 +0000 (15:34 +0200)]
egl/wayland: Dispatch the event queue before get_buffers

When a client frame callback is executed and the client starts rendering
again, the egl event queue might not have been dispatched so that the
buffer release event for the previous frame hasn't been processed. In
that case a third buffer is allocated, even though it would be possible
to reuse the buffer that was just released.

The wl_display_dispatch_queue_pending() entry point is available from
wayland-client 1.0.2, so require that in configure.ac.  Also, just
let the pkg-config macro throw its own error, which will show what version
we were looking for and failed to find.

Note: This is a candidate for stable branches.

Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
11 years agoegl/wayland: Add invalidate back in eglSwapBuffers()
Kristian Høgsberg [Fri, 30 Nov 2012 18:29:17 +0000 (13:29 -0500)]
egl/wayland: Add invalidate back in eglSwapBuffers()

Commit ca3ed3e024864e91ca3cccc59fb96950e1d079b5 fixed the problem where
eglMakeCurrent would trigger a getbuffer callback that then breaks the
following wl_egl_window_resize() call.  However, we still need to
invalidate buffers in eglSwapBuffers, since in wayland we always swap
buffers, so the dri driver needs to come out and ask us for the next buffer
after each swapbuffer.

Note: this is a candidate for stable branches.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
11 years agoegl/wayland: Don't invalidate drawable on swap buffers
Ander Conselvan de Oliveira [Fri, 30 Nov 2012 15:41:02 +0000 (17:41 +0200)]
egl/wayland: Don't invalidate drawable on swap buffers

We used to invalidate the drawable after a call to eglSwapBuffers(),
so that a wl_egl_window_resize() would take effect for the next frame.
However, that leads to calling dri2_get_buffers() when eglMakeCurrent()
is called with the current context and surface, and a later call to
wl_egl_window_resize() would not take effect until the next buffer
swap.

Instead, add a callback from wl_egl_window_resize() back to the wayland
egl platform, and invalidate the drawable only when it is resized.

This solves a bug on wayland clients when going back to windowed mode
from fullscreen when clicking a pop up menu, where the window size
after this would be the fullscreen size.

Note: this is a candidate for stable branches.
CC: wayland-devel@lists.freedesktop.org
11 years agor600g: always use a tiled resource as the destination of MSAA resolve
Marek Olšák [Fri, 21 Dec 2012 19:34:52 +0000 (20:34 +0100)]
r600g: always use a tiled resource as the destination of MSAA resolve

i.e. we have to allocate a temporary tiled resource if dst isn't tiled.

This fixes hardlocks on r6xx-r7xx, though using a linear resource is forbidden
on later asics as well.

NOTE: This is a candidate for the stable branches.
(cherry picked from commit 9c6410e5c3ffc74564fae5afcc1b6982759cdd01)

Conflicts:
src/gallium/drivers/r600/r600_blit.c
src/gallium/drivers/r600/r600_texture.c

11 years agor600g: try to fix streamout for the cases where BURST_COUNT > 0
Marek Olšák [Wed, 19 Dec 2012 15:59:45 +0000 (16:59 +0100)]
r600g: try to fix streamout for the cases where BURST_COUNT > 0

The burst was incorrectly used, because ELEM_SIZE was always 0.
I don't know if the burst works, because I don't know of any test
which uses it.

NOTE: This is a candidate for the stable branches.

Reviewed-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 6a2ec765bd22ae5d94e5fdac8507c659175efa4e)

Conflicts:
src/gallium/drivers/r600/r600_shader.c

11 years agor300: Don't disable destination read if the src blend factor needs it
Stefan Dösinger [Fri, 7 Dec 2012 16:38:35 +0000 (17:38 +0100)]
r300: Don't disable destination read if the src blend factor needs it

The read can remain disabled if the src alpha factor needs it because
the result would still be zero.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57984

NOTE: This is a candidate for stable release branches.

Signed-off-by: Marek Olšák <maraeo@gmail.com>
(cherry picked from commit ff5a9868c8d5041a3d944ce300c857934f4e8251)

11 years agomesa: fix BlitFramebuffer between linear and sRGB formats
Marek Olšák [Fri, 23 Nov 2012 02:02:44 +0000 (03:02 +0100)]
mesa: fix BlitFramebuffer between linear and sRGB formats

NOTE: This is a candidate for the stable branches.

Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit 91ca053714957aca5205122e8478002c62cc4344)

11 years agor600g: fix lod bias/explicit lod with cube maps.
Dave Airlie [Tue, 6 Nov 2012 21:51:56 +0000 (07:51 +1000)]
r600g: fix lod bias/explicit lod with cube maps.

While developing cube map array support I found that we didn't
support this properly, also piglit didn't test for it at all.

I've submitted a test to piglit to check for this, and this
fixes explicit lod and lod bias with cube maps.

NOTE: This is a candidate for the 9.0 branch.

Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 037b4f80384c72c12e31192d1a30411d4660972d)

11 years agor600g: fix broken streamout if streamout_begin caused a context flush
Marek Olšák [Thu, 22 Nov 2012 23:38:44 +0000 (00:38 +0100)]
r600g: fix broken streamout if streamout_begin caused a context flush

This fixes graphics corruption in the case where the DISCARD_RANGE flag
is used to map a buffer.

NOTE: This is a candidate for the stable branches.
(cherry picked from commit cff4c948ed2708a6eb4b090ae87443a707cbd67f)

11 years agor600g: advertise 32 streamout vec4 outputs
Marek Olšák [Fri, 26 Oct 2012 16:41:49 +0000 (18:41 +0200)]
r600g: advertise 32 streamout vec4 outputs

to match the varying limit.
(cherry picked from commit b78b62497f1e5cc64eb924c64e4685fe5d814fd7)

11 years agor600g: fix streamout on RS780 and RS880
Marek Olšák [Mon, 24 Sep 2012 23:43:49 +0000 (01:43 +0200)]
r600g: fix streamout on RS780 and RS880

The latest kernel from git is required. Transform feedback (along with GL3.0)
is turned off on older kernels.
(cherry picked from commit d063c7b1421a6e8ad4e2efc1bf913920766cc5ee)

11 years agost/mesa: fix computation of last_level in GenerateMipmap
Marek Olšák [Sun, 11 Nov 2012 14:32:59 +0000 (15:32 +0100)]
st/mesa: fix computation of last_level in GenerateMipmap

Array textures were broken.

NOTE: This is a candidate for the stable branches.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit e7dde5c8fb8ae6964bd5972d5962c2a26fc6ee0f)

11 years agost/mesa: fix computation of last_level during texture creation
Marek Olšák [Sun, 11 Nov 2012 15:29:00 +0000 (16:29 +0100)]
st/mesa: fix computation of last_level during texture creation

Array textures were broken.

NOTE: This is a candidate for the stable branches.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 6dd839f23a8ee7b6853f7320a2715df44040b358)

11 years agost/mesa: fix guessing the base level size
Marek Olšák [Sun, 11 Nov 2012 15:08:56 +0000 (16:08 +0100)]
st/mesa: fix guessing the base level size

It was pretty broken with array textures, where the array size (height or
depth depending on the target) shouldn't be magnified.

The guessing also doesn't fail with 1D and cube textures.

NOTE: This is a candidate for the stable branches.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit c06258dd0297e1fe7910f48a59aa0de79029ce39)

Conflicts:
src/mesa/state_tracker/st_cb_texture.c

11 years agomesa: fix error checking of TexStorage(levels) for array and rect textures
Marek Olšák [Sun, 11 Nov 2012 14:25:55 +0000 (15:25 +0100)]
mesa: fix error checking of TexStorage(levels) for array and rect textures

NOTE: This is a candidate for the stable branches.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 985f2aec4a2ca74f6612f34ce0887eafcc163e08)

Conflicts:
src/mesa/main/texstorage.c

11 years agomesa: add MaxNumLevels to gl_texture_image, remove MaxLog2
Marek Olšák [Sun, 11 Nov 2012 14:22:32 +0000 (15:22 +0100)]
mesa: add MaxNumLevels to gl_texture_image, remove MaxLog2

MaxLog2 led to bugs, because it didn't work well with 1D and 3D textures.

NOTE: This is a candidate for the stable branches.

v2: correct the comment at MaxNumlevels

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 8111342e814304730bed34446ea816cbc17a5775)

Conflicts:
src/mesa/main/teximage.h

11 years agovbo: fix glVertexAttribI* functions
Marek Olšák [Tue, 30 Oct 2012 13:44:22 +0000 (14:44 +0100)]
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
(cherry picked from commit acf438f5375e2426386694e541b843dc6f8fd11a)

11 years agodraw: fix assertion failure in draw_emit_vertex_attr
Marek Olšák [Tue, 30 Oct 2012 00:07:17 +0000 (01:07 +0100)]
draw: fix assertion failure in draw_emit_vertex_attr

This is a regression since b3921e1f53833420e0a0fd581f7417.

The array stores VS outputs, not FS inputs.
Now llvmpipe can do 32 varyings too.

NOTE: This is a candidate for the stable branches.

Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit 183e122bdfe27f875c3c121964484dae9587c051)

11 years agomesa: bump MAX_VARYING to 32
Marek Olšák [Fri, 26 Oct 2012 15:37:07 +0000 (17:37 +0200)]
mesa: bump MAX_VARYING to 32

We're starting to get apps utilizing more than 16 varyings and
most current hardware supports 32 anyway.

Tested with r600g.
swrast, softpipe and llvmpipe still advertise 16 varyings.

This fixes a WebGL crash after launching this demo:
https://developer.mozilla.org/en-US/demos/detail/falling-cubes

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54402

NOTE: This is a candidate for the stable branches.

Acked-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit b3921e1f53833420e0a0fd581f741744e7957a05)

Conflicts:
src/mesa/main/context.c

11 years agor300g: fix texture border color for sRGB formats
Marek Olšák [Thu, 25 Oct 2012 23:03:53 +0000 (01:03 +0200)]
r300g: fix texture border color for sRGB formats

NOTE: This is a candidate for the stable branches.
(cherry picked from commit 8fb4b1dce156d02a0907925364d8945915c29bcf)

11 years agost/mesa: fix integer texture border color for some formats (v2)
Marek Olšák [Mon, 15 Oct 2012 01:55:23 +0000 (03:55 +0200)]
st/mesa: fix integer texture border color for some formats (v2)

And the clear color too, though that may be an issue only with GL_RGB if it's
actually RGBA in the driver.

NOTE: This is a candidate for the stable branches.

Reviewed-by: Brian Paul <brianp@vmware.com>
v2: The types of st_translate_color parameters were changed to gl_color_union
    and pipe_color_union as per Brian's comment.
(cherry picked from commit 2bbd307fa638f6d256d020ddf1cff5fc7f735fd2)

11 years ago[PATCH] makefiles: use configured name for -ldrm* where possible
Maarten Lankhorst [Fri, 16 Nov 2012 17:50:57 +0000 (18:50 +0100)]
[PATCH] makefiles: use configured name for -ldrm* where possible

For precise lts support I had to do some magic with the library names, which works fine
as long as the libraries from pkg-config are used.

The parts with src/gallium/targets/va-*/Makefile will not apply on the master branch,
but do apply to the 9.0 branch.

NOTE: This is a candidate for the 9.0 branch.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Acked-by: Matt Turner <mattst88@gmail.com>
(cherry picked from commit 4f0537e645f9c34e305f2808c70eafbbc1c7689c)

11 years agonv50/ir/tgsi: fix srcMask for TXP with SHADOW1D
Christoph Bumiller [Wed, 24 Oct 2012 18:33:02 +0000 (20:33 +0200)]
nv50/ir/tgsi: fix srcMask for TXP with SHADOW1D
(cherry picked from commit d310e29302fb409c0c23442c2b1d1a6c044dd6f0)

11 years agonv50: point vertex runout at a valid address
Ben Skeggs [Mon, 8 Oct 2012 00:25:39 +0000 (10:25 +1000)]
nv50: point vertex runout at a valid address

Reviewed-by: Christoph Bumiller <e0425955@student.tuwien.ac.at>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
(cherry picked from commit 63c3a799aecff5348ecec3c4c13355996e4bf820)

11 years agonvc0: point vertex runout at a valid address
Ben Skeggs [Mon, 8 Oct 2012 00:16:49 +0000 (10:16 +1000)]
nvc0: point vertex runout at a valid address

Reviewed-by: Christoph Bumiller <e0425955@student.tuwien.ac.at>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
(cherry picked from commit c47a01c29cf14d11731c88bc8ed10a3f575c5a12)

11 years agonvc0: fix missing permanent bo reference on poly cache
Ben Skeggs [Sun, 7 Oct 2012 23:13:46 +0000 (09:13 +1000)]
nvc0: fix missing permanent bo reference on poly cache

Reviewed-by: Christoph Bumiller <e0425955@student.tuwien.ac.at>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
(cherry picked from commit d53bbabe6119a697bcf1a2e393d1c2283560bc01)

11 years agodocs: add news item for 9.0.1 release
Andreas Boll [Sat, 17 Nov 2012 07:50:00 +0000 (08:50 +0100)]
docs: add news item for 9.0.1 release

11 years agodocs: fix release date of 9.0.1
Andreas Boll [Sat, 17 Nov 2012 07:46:05 +0000 (08:46 +0100)]
docs: fix release date of 9.0.1

11 years agodocs: Add 9.0.1 release md5sums
Ian Romanick [Fri, 16 Nov 2012 22:26:20 +0000 (14:26 -0800)]
docs: Add 9.0.1 release md5sums

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
11 years agodocs: Add 9.0.1 release notes upstream
Ian Romanick [Wed, 14 Nov 2012 18:46:47 +0000 (10:46 -0800)]
docs: Add 9.0.1 release notes

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
11 years agobuild: add missing files to tarballs target
Andreas Boll [Wed, 14 Nov 2012 20:43:31 +0000 (21:43 +0100)]
build: add missing files to tarballs target

fixes errors ./configure and make was complaining about

NOTE: This is a candidate for the 9.0 branch.

Reviewed-by: Matt Turner <mattst88@gmail.com>
(cherry picked from commit 8a9f0fdeabdf51fbb7db91e419827fd47910a401)

11 years agobuild: add missing Makefile.in files to tarballs target
Andreas Boll [Wed, 14 Nov 2012 20:39:15 +0000 (21:39 +0100)]
build: add missing Makefile.in files to tarballs target

fixes errors ./configure was complaining about

NOTE: This is a candidate for the 9.0 branch.

Reviewed-by: Matt Turner <mattst88@gmail.com>
(cherry picked from commit bc08f26485c77b3ef3ee7b07d67fd43f2644f1ac)

11 years agobuild: add config.sub and config.guess to tarballs target
Andreas Boll [Wed, 14 Nov 2012 20:34:44 +0000 (21:34 +0100)]
build: add config.sub and config.guess to tarballs target

fixes errors ./configure was complaining about

NOTE: This is a candidate for the 9.0 branch.

Reviewed-by: Matt Turner <mattst88@gmail.com>
(cherry picked from commit a0a90ea92034dc24170364d6d52df01ce623e835)

11 years agomesa: use .cherry-ignore in the get-pick-list.sh script
Andreas Boll [Mon, 22 Oct 2012 19:18:17 +0000 (21:18 +0200)]
mesa: use .cherry-ignore in the get-pick-list.sh script

NOTE: This is a candidate for the stable branches.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
(cherry picked from commit ca8988673baa65107a1b8f6f59b671725d9e4814)

11 years agomesa: add initial .cherry-ignore file for the 9.0 branch
Andreas Boll [Fri, 9 Nov 2012 10:07:15 +0000 (11:07 +0100)]
mesa: add initial .cherry-ignore file for the 9.0 branch

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
11 years agowayland: Destroy frame callback when destroying surface
Jonas Ådahl [Sat, 27 Oct 2012 22:50:12 +0000 (00:50 +0200)]
wayland: Destroy frame callback when destroying surface

If a frame callback is not destroyed when destroying a surface, its
handler function will be invoked if the surface was destroyed after the
callback was requested but before it was invoked, causing a write on
free:ed memory.

This can happen if eglDestroySurface() is called shortly after
eglSwapBuffers().

Note: This is a candidate for stable branches.

Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
(cherry picked from commit a3b6b2d3055070da9bf7054fecfd0b171c398eb7)

11 years agoegl_dri2/x11: Fix eglPostSubBufferNV()
Fredrik Höglund [Tue, 6 Nov 2012 16:36:34 +0000 (17:36 +0100)]
egl_dri2/x11: Fix eglPostSubBufferNV()

This got broken in commit 0a523a8820e8a2549ac1c7887eb1892b228af44b.

NOTE: This is a candidate for the 9.0 branch.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55856
(cherry picked from commit f42518962a08ce927e4ddd233d19d2661e135834)

11 years agomesa: Bump version to 9.0.1
Ian Romanick [Thu, 8 Nov 2012 18:47:44 +0000 (10:47 -0800)]
mesa: Bump version to 9.0.1

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
11 years agodocs: Add 9.0.1 release notes
Ian Romanick [Thu, 8 Nov 2012 18:44:49 +0000 (10:44 -0800)]
docs: Add 9.0.1 release notes

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agoglsl: Allow ir_if in the linker's move_non_declarations function.
Kenneth Graunke [Wed, 24 Oct 2012 20:17:24 +0000 (13:17 -0700)]
glsl: Allow ir_if in the linker's move_non_declarations function.

Global initializers using the ?: operator with at least one non-constant
operand generate ir_if statements.  For example,

   float foo = some_boolean ? 0.0 : 1.0;

becomes:

   (declare (temporary) float conditional_tmp)
   (if (var_ref some_boolean)
       ((assign (x) (var_ref conditional_tmp) (constant float (0.0))))
       ((assign (x) (var_ref conditional_tmp) (constant float (1.0)))))

This pattern is necessary because the second or third arguments could be
function calls, which create statements (not expressions).

The linker moves these global initializers into the main() function.
However, it incorrectly had an assertion that global initializer
statements were only assignments, calls, or temporary variable
declarations.  As demonstrated above, they can be if statements too.

Other than the assertion, everything works fine.  So remove it.

Fixes new Piglit test condition-08.vert, as well as an upcoming
game that will be released on Steam.

NOTE: This is a candidate for stable release branches.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit b45a68eebf3cf7227fc70082cb1e796041fc81ab)

12 years agoglx: Set sRGBCapable to a default value
Ian Romanick [Thu, 12 Jul 2012 20:56:32 +0000 (13:56 -0700)]
glx: Set sRGBCapable to a default value

Previously, if the server didn't send a GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT
tag, it would still be set to GLX_DONT_CARE (which is -1).  Set it to
GL_FALSE instead.

NOTE: This is a candidate for stable release branches.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Cc: Maciej Wieczorek <maciej.t.wieczorek@intel.com>
(cherry picked from commit 7b0f912e70d79bcb863ea38f7d3910ab2be0860e)

12 years agoralloc: Annotate printf functions with PRINTFLIKE(...)
Matt Turner [Tue, 23 Oct 2012 20:30:09 +0000 (13:30 -0700)]
ralloc: Annotate printf functions with PRINTFLIKE(...)

This is a squash of the following two commits:

    ralloc: Annotate printf functions with PRINTFLIKE(...)

    Catches problems such as (in the gles3 branch)

    glcpp-parse.y: In function '_glcpp_parser_handle_version_declaration':
    glcpp-parse.y:1990:39: warning: format '%lli' expects argument of type
     'long long int', but argument 4 has type 'int' [-Wformat]

    As a side-effect, remove ralloc.c's likely/unlikely macros and just use
    the ones from main/compiler.h.

    NOTE: This is a candidate for the release branches.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
    (cherry picked from commit 41b14d125196e75cdd4599a4c1069b41e7000d48)

and

    src/glsl/tests/Makefile.am: Specify -I... in AM_CPPFLAGS

    When specifying per-target CFLAGS (e.g., ralloc_test_CFLAGS) AM_CFLAGS
    are not used. AM_CPPFLAGS should be used for includes anyway.

    Fixes a build problem since 41b14d125:

    CC       ralloc_test-ralloc.o
    In file included from ../../../src/glsl/ralloc.c:42:0:
    ../../../src/glsl/ralloc.h:57:27: fatal error: main/compiler.h: No such file or directory

Acked-by: Paul Berry <stereotype441@gmail.com>
    (cherry picked from commit 67f1e7bf5f5d1482cb8684dd5a405b7bab5b1f34)

12 years agobuild: Ship install-sh in the tarball
Matt Turner [Tue, 23 Oct 2012 17:57:15 +0000 (10:57 -0700)]
build: Ship install-sh in the tarball

Fixes the problem where configure from the tarball would report missing
files:

$ ./configure
configure: error: cannot find install-sh, install.sh, or shtool in bin

NOTE: This is a candidate for the 9.0 branch.
(cherry picked from commit ec57fbbc72b552a4f894f32798a2ace16749f520)

12 years agoRe-add HAVE_PTHREADS preprocessor macro
Matt Turner [Thu, 11 Oct 2012 17:57:26 +0000 (10:57 -0700)]
Re-add HAVE_PTHREADS preprocessor macro

Broken in commit 814345f54b.

NOTE: This is a candidate for the 9.0 branch.
(cherry picked from commit 9a51edfb5af72a7a480f408f02d8ecd98c576b7b)

12 years agoglx: Add GLXBadProfileARB to the error string list
Adam Jackson [Wed, 17 Oct 2012 18:34:53 +0000 (14:34 -0400)]
glx: Add GLXBadProfileARB to the error string list

Note: This is a candidate for the stable branches.

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
(cherry picked from commit a30d14635d5d55ce0e022b0b66770da32155a3d7)

12 years agoglx: Fix listing of INTEL_swap_event in glXQueryExtensionsString()
Owen W. Taylor [Wed, 17 Oct 2012 04:50:28 +0000 (00:50 -0400)]
glx: Fix listing of INTEL_swap_event in glXQueryExtensionsString()

Due to a string mismatch, INTEL_swap_event wasn't listed among GLX
extensions for the connection, even when present on both client and
server. That is, glXQueryServerString and glXGetClientString reported the
extension, but glXQueryExtensionsString did not.

Note: This is a candidate for the stable branches.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56057
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit 1d0c6211212a2d486c8f7f64349fd9683061342e)

12 years agoegl: Return EGL_BAD_MATCH for invalid profile attributes
Matt Turner [Tue, 9 Oct 2012 00:01:34 +0000 (17:01 -0700)]
egl: Return EGL_BAD_MATCH for invalid profile attributes

Version 12 of the EGL_KHR_create_context spec changed this behavior.

NOTE: This is a candidate for the 9.0 branch
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit 587d5db11d8047663201c5fb06a6b2feb5d55891)

12 years agowayland: Drop support for ill-defined, unused wl_egl_pixmap
Kristian Høgsberg [Tue, 16 Oct 2012 18:30:53 +0000 (14:30 -0400)]
wayland: Drop support for ill-defined, unused wl_egl_pixmap

It doesn't provide the cross-process buffer sharing that a window system
pixmap could otherwise support and we don't have anything left that uses
this type of surface.

12 years agowayland: Remove 0.85 compatibility #ifdefs
Kristian Høgsberg [Tue, 16 Oct 2012 18:04:02 +0000 (14:04 -0400)]
wayland: Remove 0.85 compatibility #ifdefs

12 years agoegl/wayland: Update to Wayland 0.99 API
Kristian Høgsberg [Thu, 11 Oct 2012 02:10:42 +0000 (22:10 -0400)]
egl/wayland: Update to Wayland 0.99 API

The 0.99.0 Wayland release changes the event API to provide a thread-safe
mechanism for receiving events specific to a subsystem (such as EGL) and
we need to use it in the EGL platform.

The Wayland protocol now also requires a commit request to make changes
take effect, issue that from eglSwapBuffers.

12 years agogbm: Use the kms dumb ioctls for cursor instead of libkms
Kristian Høgsberg [Sun, 21 Oct 2012 17:00:28 +0000 (13:00 -0400)]
gbm: Use the kms dumb ioctls for cursor instead of libkms

We need to create bos suitable for cursor usage that we can map and
write data into.  The kms dumb ioctls is all we need for this, so drop
the dependency on libkms.

12 years agogbm: Reject buffers that are not wl_drm buffers in gbm_bo_import()
Kristian Høgsberg [Mon, 1 Oct 2012 15:19:10 +0000 (11:19 -0400)]
gbm: Reject buffers that are not wl_drm buffers in gbm_bo_import()

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
12 years agoi965: Fix regression in depth texture rendering on pre-SNB
Ian Romanick [Fri, 19 Oct 2012 21:04:08 +0000 (14:04 -0700)]
i965: Fix regression in depth texture rendering on pre-SNB

This was introduced by commit 24db6d6 (cherry-picked from a683012).  The
original patch fixed potential GPU hangs on SNB, and it caused some
rendering regressions there.  The benefits outweigh the costs.

However, the work-around is not necessary for pre-SNB chipsets.
Applying the work-around there gives rendering regressions with no
benefit.  This patch disables the work-around on pre-SNB chipsets.

Without the original patch, the piglit test
depthstencil-render-miplevels would reliably hang an SNB GPU.  On ILK
this test would not hang, and it does not hang with this patch.

NOTE: This is a candidate for the 8.0 and 9.0 branches

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Paul Berry <stereotype441@gmail.com>
12 years agost/mesa: Fix assertions for copying texture image to finalized miptree.
Michel Dänzer [Mon, 22 Oct 2012 17:20:56 +0000 (19:20 +0200)]
st/mesa: Fix assertions for copying texture image to finalized miptree.

The layer dimension of array textures is not subject to mipmap minification.
OTOH we were missing an assertion for the depth dimension.

Fixes assertion failures with piglit {f,v}s-textureSize-sampler1DArrayShadow.
For some reason, they only resulted in piglit 'warn' results for me, not
failures.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56211

NOTE: This is a candidate for the stable branches.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Tested-by: Andreas Boll <andreas.boll.dev@gmail.com>
(cherry picked from commit eee1ff423c6a0c9c776b4e76b79bb5ed5480d83c)