OSDN Git Service

android-x86/external-mesa.git
12 years agoconfigure.ac: Don't use $CLANG since it will collide with the static analyzer.
Jeremy Huddleston [Thu, 5 May 2011 21:08:57 +0000 (14:08 -0700)]
configure.ac: Don't use $CLANG since it will collide with the static analyzer.

We just prefix the $CLANG environment variable in configure.ac with acv_mesa_

Found by: tinderbox
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
(cherry picked from commit b728eefb06c26e4b5a25db31bbda9fcf4d015e17)

12 years agogbm: fix copy & paste error in gbm_bo_get_handle documentation
Ander Conselvan de Oliveira [Wed, 25 Jan 2012 14:24:13 +0000 (16:24 +0200)]
gbm: fix copy & paste error in gbm_bo_get_handle documentation
(cherry picked from commit 33f8a3cfbe85db6514231d8ebc622af1f2139a13)

12 years agogbm: Add documentation for the public facing API
Rob Bradford [Tue, 20 Dec 2011 15:40:21 +0000 (15:40 +0000)]
gbm: Add documentation for the public facing API
(cherry picked from commit baab68e1a607b818c8988e70546fe3e6f97cf572)

12 years agoComplete ARGB8888 naming convention format renames missed
Scott Moreau [Tue, 17 Jan 2012 15:36:12 +0000 (10:36 -0500)]
Complete ARGB8888 naming convention format renames missed
(cherry picked from commit e0897009f8fe8100204038e37f5555966300383a)

12 years agost/mesa: Fix recurring surfaceless contexts
Benjamin Franzke [Tue, 24 Jan 2012 13:35:34 +0000 (14:35 +0100)]
st/mesa: Fix recurring surfaceless contexts

A current incomplete framebuffer was incorrectly used as a
st_framebuffer. When accessing st_framebuffer childs bad things happen:
e.g. st_framebuffer::iface was used to check whether its an incomplete
fb, instead we need to compare st_framebuffer::Base against
mesa_get_incomplete_framebuffer.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44919
Note: This is a candidate for the 8.0 branch.

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

12 years agoi965: Fix border color on Sandybridge and Ivybridge.
Kenneth Graunke [Fri, 20 Jan 2012 11:33:40 +0000 (03:33 -0800)]
i965: Fix border color on Sandybridge and Ivybridge.

While reading through the simulator, I found some interesting code that
looks like it checks the sampler default color pointer against the bound
set in STATE_BASE_ADDRESS.  On failure, it appears to program it to the
base address itself.

So I decided to try programming a legitimate bound, and lo and behold,
border color worked.

+92 piglits on Sandybridge.  Also fixes Lightsmark on Ivybridge.

NOTE: This is a candidate for stable release branches.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=28924
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38868
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit c25e5300cba7628b58df93ead14ebc3cc32f338c)

12 years agoglsl: Fix 'control reaches end of non-void function' warning.
Vinson Lee [Tue, 17 Jan 2012 02:01:22 +0000 (18:01 -0800)]
glsl: Fix 'control reaches end of non-void function' warning.

Fix this GCC warning on non-debug builds.
glsl_types.cpp: In member function 'gl_texture_index
glsl_type::sampler_index() const':
glsl_types.cpp:157: warning: control reaches end of non-void function

NOTE: This is a candidate for the 8.0 branch.

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

12 years agomesa: Loosen glBlitFramebuffer restrictions on depthstencil buffers (v2)
Chad Versace [Tue, 17 Jan 2012 20:01:34 +0000 (12:01 -0800)]
mesa: Loosen glBlitFramebuffer restrictions on depthstencil buffers (v2)

This loosens the format validation in glBlitFramebuffer. When blitting
depth bits, don't require an exact match between the depth formats; only
require that the two formats have the same number of depth bits and the
same depth datatype (float vs uint). Ditto for stencil.

Between S8_Z24 buffers, the EXT_framebuffer_blit spec allows
glBlitFramebuffer to blit the depth and stencil bits separately. So I see
no reason to prevent blitting the depth bits between X8_Z24 and S8_Z24 or
the stencil bits between S8 and S8_Z24. However, we of course don't want
to allow blitting from Z32 to Z32_FLOAT.

Fixes Piglit fbo/fbo-blit-d24s8 on Intel drivers with separate stencil
enabled.

The problem was that, on Intel drivers with separate stencil, the default
framebuffer has separate depth and stencil buffers with formats X8_Z24 and
S8. The test attempts to blit the depth bits from a S8_Z24 buffer into the
default framebuffer.

v2: Check that depth datatypes match.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44665
Note: This is a candidate for the 8.0 branch.
Reported-by: Xunx Fang <xunx.fang@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit f74d8aacbf2f6d140381e272d17c31162a3481b3)

12 years agoglsl: Fix isinf() for non-C99-compliant compilers.
Paul Berry [Tue, 17 Jan 2012 18:28:10 +0000 (10:28 -0800)]
glsl: Fix isinf() for non-C99-compliant compilers.

Commit ede60bc4670a8d9c14921c77abee1ac57fc0e6bf (glsl: Add isinf() and
isnan() builtins) uses "+INF" in the .ir file to represent infinity.
This worked on C99-compliant compilers, since the s-expression reader
uses strtod() to read numbers, and C99 requires strtod() to understand
"+INF".  However, it didn't work on non-C99-compliant compilers such
as MSVC.

This patch modifies the s-expression reader to explicitly check for
"+INF" rather than relying on strtod() to support it.

This is a candidate for the 8.0 branch.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44767
Tested-by: Morgan Armand <morgan.devel@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit 4f82fed49359676fc19598f8c65ca51958dd2d79)

12 years agomesa: Set default access flags based on the run-time API
Ian Romanick [Wed, 18 Jan 2012 00:24:05 +0000 (16:24 -0800)]
mesa: Set default access flags based on the run-time API

The default access flags for OpenGL ES (via GL_OES_map_buffer) and
desktop OpenGL are different.  The code previously tried to handle
this, but the decision was made at compile time.  Since the same
driver binary can be used for both OpenGL ES and desktop OpenGL, the
decision must be made at run-time.

This should fix bug #44433.  It appears that the test case does
various map and unmap operations and inspects the state of the buffer
object around each.  When it sees that GL_BUFFER_ACCESS does not match
its expectations, it fails.

NOTE: This is a candidate for release branches.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44433
(cherry picked from commit f0ea46790f8f4df9a39b0cfab5c5f1bf02c136fc)

12 years agoi965: Fix disassembly of data port writes on Ivybridge.
Kenneth Graunke [Wed, 18 Jan 2012 08:55:12 +0000 (00:55 -0800)]
i965: Fix disassembly of data port writes on Ivybridge.

msg_type moved by a bit, so the message type was being disassembled
incorrectly.  In particular, render target writes were showing up as
"OWORD block write".

NOTE: This is a candidate for stable release branches.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit dcdfd1905c8012fe0a90e553f2a894c12cf144cf)

12 years agoi965: Fix disassembly of sampler messages on Ivybridge.
Kenneth Graunke [Wed, 18 Jan 2012 08:50:31 +0000 (00:50 -0800)]
i965: Fix disassembly of sampler messages on Ivybridge.

Compared to sampler_gen5, simd_mode shifted by a bit and msg_type grew
by a bit.  So we were printing slightly incorrect numbers.

NOTE: This is a candidate for stable release branches.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit a608be5d3333244f5357c459135b17b4c2298e18)

12 years agoi965/vs: Take attributes into account when deciding urb_entry_size.
Kenneth Graunke [Wed, 18 Jan 2012 12:53:40 +0000 (04:53 -0800)]
i965/vs: Take attributes into account when deciding urb_entry_size.

Both the VF and VS share space in the URB.  First, the VF stores
attributes (shader inputs) there.  The VS then reads the attributes,
executes, and reuses the space to store varyings (shader outputs).

Thus, we need to calculate the amount of URB space necessary for inputs,
outputs, and pick whichever is greater.

The old VS backend correctly did this (brw_vs_emit.c:408), but the new
VS backend only considered outputs.

Fixes vertex scrambling in GLBenchmark PRO on Ivybridge.

NOTE: This is a candidate for the 8.0 branch.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41318
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit 2e712e41db0c0676e9f30fc73172c0e8de8d84d4)

12 years agointel: Set depth to 6 for cubemaps
Ian Romanick [Tue, 17 Jan 2012 20:41:15 +0000 (12:41 -0800)]
intel: Set depth to 6 for cubemaps

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41216
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=43212
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=43250
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Cc: Jin Yang <jin.a.yang@intel.com>
(cherry picked from commit 8a472427559ea33186c71dfbab8254651fec3077)

12 years agoi965: Add support for Z16 depth formats.
Eric Anholt [Fri, 18 Nov 2011 01:11:00 +0000 (17:11 -0800)]
i965: Add support for Z16 depth formats.

This is a squash of the following two commits.  The first caused a
regression on SNB systems without a HiZ capable DDX, and the second
fixes that regression.

    i965: Add support for Z16 depth formats.

    v2: Don't flag the format as being HiZ ready (there's DRI2 handshake
        pain to go through).

    Fixes piglit gl-3.0-required-sized-texture-formats

    NOTE: This is a candidate for the 8.0 branch.

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

    intel/gen6: Some framebuffers having separate depthstencil should be unsupported

    When the framebuffer has separate depth and stencil buffers, and HiZ is
    not enabled on the depth buffer, mark the framebuffer as unsupported. This
    happens when trying to create a framebuffer with Z16/S8 because we haven't
    enabled HiZ on Z16 yet.

    Fixes gles2conform test stencil8.

    Note: This is a candiate for the 8.0 branch.
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44948
Reviewed-and-tested-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed--by: Eric Anholt <eric@anholt.net>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
    (cherry picked from commit ba5252e590782a77b8a46d9c0ec4691cf8da6298)

12 years agoi965/gen7: Set up surface horizontal alignment field.
Eric Anholt [Tue, 17 Jan 2012 19:28:56 +0000 (11:28 -0800)]
i965/gen7: Set up surface horizontal alignment field.

This is required for Z16 support for texturing, which is the first
thing to have a horizontal alignment of 8.  Renderbuffers don't need
it, since they're always set up as the only mip level, but do it for
completeness anyway.

NOTE: This is a candidate for the 8.0 branch.

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

12 years agoi965/gen7: Remove stale comment.
Eric Anholt [Tue, 17 Jan 2012 19:27:11 +0000 (11:27 -0800)]
i965/gen7: Remove stale comment.

This field is actually set up above.

NOTE: This is a candidate for the 8.0 branch, to avoid conflicts.

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

12 years agoglsl: Fix leak of linked uniform names at relink/free of the shader_program.
Eric Anholt [Thu, 12 Jan 2012 21:16:33 +0000 (13:16 -0800)]
glsl: Fix leak of linked uniform names at relink/free of the shader_program.

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

12 years agoglsl: Fix leak of LinkedTransformFeedback.Varyings.
Eric Anholt [Thu, 12 Jan 2012 21:10:26 +0000 (13:10 -0800)]
glsl: Fix leak of LinkedTransformFeedback.Varyings.

I copy-and-pasted the thing I was allocating for as the context, so
the first time it would be NULL (root of a ralloc context) and they'd
chain off each other from then on.

NOTE: This is a candidate for the 8.0 branch.
(cherry picked from commit 5a0f395bcf70e524492e766a07cf0b816b42a20d)

12 years agomesa: Fix leak of uniform storage records on shader program link/free.
Eric Anholt [Thu, 12 Jan 2012 21:08:22 +0000 (13:08 -0800)]
mesa: Fix leak of uniform storage records on shader program link/free.

NOTE: This is a candidate for the 8.0 branch.
(cherry picked from commit 0f68d88034a9815445ae0a35aacc500f82f33a18)

12 years agoi965: Fix leak of the program cache BO on context destroy.
Eric Anholt [Thu, 12 Jan 2012 21:01:21 +0000 (13:01 -0800)]
i965: Fix leak of the program cache BO on context destroy.

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

12 years agoi965/vs: Fix leak of an empty hash_table structure per compile.
Eric Anholt [Thu, 12 Jan 2012 20:59:15 +0000 (12:59 -0800)]
i965/vs: Fix leak of an empty hash_table structure per compile.

This statement got duplicated above, probably in a rebase resolution,
so we never freed the extra one.

NOTE: This is a candidate for the 8.0 branch.
(cherry picked from commit 7f278e15ad271daaa08dd2fef84cca5e344d5771)

12 years agoi965: Fix refcount leak of the gl_program structure.
Eric Anholt [Thu, 12 Jan 2012 20:55:06 +0000 (12:55 -0800)]
i965: Fix refcount leak of the gl_program structure.

Fixes a leak of almost 200kb on a minimal shader_runner program
(algebraic-add-add-1).

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

12 years agomesa: Make the register allocator allocation take a ralloc context.
Eric Anholt [Thu, 12 Jan 2012 20:51:34 +0000 (12:51 -0800)]
mesa: Make the register allocator allocation take a ralloc context.

This fixes a memory leak on i965 context destruction.

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

12 years agomesa: use GL_MAP_INVALIDATE_RANGE_BIT in glTexImage paths
Brian Paul [Tue, 17 Jan 2012 15:12:30 +0000 (08:12 -0700)]
mesa: use GL_MAP_INVALIDATE_RANGE_BIT in glTexImage paths

Update the dd.h docs to indicate that GL_MAP_INVALIDATE_RANGE_BIT
can be used with GL_MAP_WRITE_BIT when mapping renderbuffers and
texture images.

Pass the flag when mapping texture images for glTexImage, glTexSubImage,
etc.  It's up to drivers whether to actually make use of the flag.

NOTE: This is a candidate for the 8.0 branch.

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

12 years agomesa: try RGBA_FLOAT16 before RGBA_FLOAT32 when choosing A,L,LA,I formats
Brian Paul [Mon, 16 Jan 2012 17:08:08 +0000 (10:08 -0700)]
mesa: try RGBA_FLOAT16 before RGBA_FLOAT32 when choosing A,L,LA,I formats

To try to use less tex memory and maybe get better performance.
Spotted by Roland Scheidegger.

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

Reviewed-by: José Fonseca <jfonseca@vmware.com>
(cherry picked from commit 1d7048f12e7e2e8f42d27aa665f7134f8f10cf4e)

12 years agomesa: fix tex format selection for GL_R32F and other R/G float formats
Brian Paul [Mon, 16 Jan 2012 16:05:05 +0000 (09:05 -0700)]
mesa: fix tex format selection for GL_R32F and other R/G float formats

The i965 driver advertises GL_ARB_texture_float and GL_ARB_texture_rg
support but the ctx->TextureFormatSupported[] table entries for
MESA_FORMAT_R_FLOAT32 and MESA_FORMAT_RGBA_FLOAT32 are false on gen 4
hardware.  So the case for GL_R32F would fail and we'd print an
implementation error.

This patch adds more Mesa tex format options for GL_R32F and other R/G
formats so we fall back to 16-bit formats when 32-bit formats aren't
available.

Eric made the same fix in commit 6216a5b4 for the non R/G formats.

v2: try 16-bit formats before 32-bit formats and try RG formats before
RGBA where possible.

This should fix https://bugs.freedesktop.org/show_bug.cgi?id=44039

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

Reviewed-by: José Fonseca <jfonseca@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
(cherry picked from commit 7628696004515074594d4fdac4e422c81c86b32c)

12 years agoi965: Bump Ivybridge's fake MRF range to g112-127 instead of g111-126.
Kenneth Graunke [Tue, 17 Jan 2012 16:08:25 +0000 (08:08 -0800)]
i965: Bump Ivybridge's fake MRF range to g112-127 instead of g111-126.

When I originally implemented the hack to use GRFs 111+ as fake MRFs, I
did so purely to avoid rewriting all the code that dealt with MRFs.
However, it turns out that a similar hack is actually required.

Newly discovered language in the BSpec indicates that SEND instructions
with EOT set "should" use g112-g127 as their source registers.  Based on
assertions in the simulator, this is actually a requirement on certain
platforms.

Since we're faking MRFs already, we may as well use the officially
sanctioned range.  My guess is that we avoided this issue because we
seldom use m0: URB writes in the new VS backend start at m1, and RT
writes in the new FS backend start at m2.

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 5acc7f38d42859db459567d4442c18764a4072e7)

12 years agointel: Return if pointer to intel_context is null
Anuj Phogat [Tue, 17 Jan 2012 21:21:52 +0000 (13:21 -0800)]
intel: Return if pointer to intel_context is null

It is better to test if(intel == NULL) and simply return in that case.

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit ce1c949b162260cec84431913f7aac83cb1b938e)

12 years agointel: Fix warnings of undefined ffs().
Eric Anholt [Thu, 12 Jan 2012 22:32:50 +0000 (14:32 -0800)]
intel: Fix warnings of undefined ffs().

For some reason these started showing up with the automake conversion.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit ccf0d31a210baf062dcc0e0c19527cdbbade0ac9)

12 years agoi965: Comment gen6_hiz_get_framebuffer_enum()
Chad Versace [Fri, 13 Jan 2012 18:26:01 +0000 (10:26 -0800)]
i965: Comment gen6_hiz_get_framebuffer_enum()

Make the comments precise. Explain why each branch is needed and correct.
Document the potential pitfall in the true-branch.

Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit e13c99a0043854cb286c773faa891a3115cd0a68)

12 years agonvc0: fix some limit cap values
Christoph Bumiller [Fri, 20 Jan 2012 12:43:32 +0000 (13:43 +0100)]
nvc0: fix some limit cap values

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

12 years agomesa: allocate transform_feedback_info::Outputs array dynamically
Christoph Bumiller [Fri, 20 Jan 2012 12:24:46 +0000 (13:24 +0100)]
mesa: allocate transform_feedback_info::Outputs array dynamically

The nvc0 gallium driver is advertising 128 MAX_INTERLEAVED_COMPS
which made it always assert in the linker when TFB was used since
the Outputs array was smaller than that maximum.

v2: added assertions

NOTE: This is a candidate for the 8.0 branch.

Reviewed-by: Paul Berry <stereotype441@gmail.com>
(cherry picked from commit d540af554adfe302387014c0f46d6ac3aaa75121)

12 years agonv50/ir: make use of TGSI_INTERPOLATE_COLOR
Christoph Bumiller [Thu, 12 Jan 2012 18:28:03 +0000 (19:28 +0100)]
nv50/ir: make use of TGSI_INTERPOLATE_COLOR

Flat SHADE_MODEL still overrides any non-flat interpolation
qualifier, but pulling that state out of the rasterizer cso
isn't really worth the effort, is it ?

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

12 years agonvc0: fix submission of VertexID and EdgeFlag in push mode
Christoph Bumiller [Thu, 12 Jan 2012 18:12:02 +0000 (19:12 +0100)]
nvc0: fix submission of VertexID and EdgeFlag in push mode

NOTE: This is a candidate for the 8.0 branch.
(cherry picked from commit 7b6881932a71b36dd47f63200c9dbee8e2b9af4f)

12 years agor600g: fix interpolation with clipvertex
Vadim Girlin [Mon, 23 Jan 2012 11:58:31 +0000 (15:58 +0400)]
r600g: fix interpolation with clipvertex

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 5a84cc4ebcc99fb029d5f855e8afa11fab09266a)

12 years agor600g: fix VS fog export
Vadim Girlin [Mon, 23 Jan 2012 09:47:51 +0000 (13:47 +0400)]
r600g: fix VS fog export

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 13daa059c01d6dd05064e82cf67cba9cc5fe79db)

12 years agor600g: fix typo in evergreen register
Alex Deucher [Fri, 20 Jan 2012 02:07:58 +0000 (21:07 -0500)]
r600g: fix typo in evergreen register

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

12 years agor600g: take into account kcache banks for bank swizzle check
Vadim Girlin [Sat, 21 Jan 2012 21:49:46 +0000 (01:49 +0400)]
r600g: take into account kcache banks for bank swizzle check

Due to the changes for multiple kcache banks support, now we are assigning
final SRCx_SEL values for kcache access at the later stage, when building the
bytecode. So we need to take into account kcache banks to distinguish
the constants with the same address but different bank index.

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 840a342cd0ac4a9937798a2137122387c0d3d7f6)

12 years agor600g: implement clip vertex v2
Vadim Girlin [Fri, 20 Jan 2012 21:37:48 +0000 (01:37 +0400)]
r600g: implement clip vertex v2

Clip planes are uploaded as a constant buffer and used by the vertex
shader to produce corresponding clip distances for hw clipping.

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 54e8dcaad65cbe3603730414fd8d76ac53f89a86)

Conflicts:

src/gallium/drivers/r600/r600_state_common.c

12 years agor600g: improve kcache line sets handling v2
Vadim Girlin [Fri, 20 Jan 2012 19:24:32 +0000 (23:24 +0400)]
r600g: improve kcache line sets handling v2

Add support for multiple kcache banks (constant buffers).
Lock the required lines only.
Allow up to 4 kcache line sets in the alu clause by using ALU_EXTENDED on eg+.

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit d649bf51ec787021f7872e2a4c09fb2188c0891b)

12 years agor600g: implement clip distances
Vadim Girlin [Sun, 15 Jan 2012 14:29:50 +0000 (09:29 -0500)]
r600g: implement clip distances

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 91d47296967ebfaf685f3870998ea0a1450ecf55)

12 years agor600g: implement two-sided lighting (v3)
Vadim Girlin [Fri, 6 Jan 2012 04:13:18 +0000 (08:13 +0400)]
r600g: implement two-sided lighting (v3)

v2: select the colors in the pixel shader

v3: fix rs state creation for pre-evergreen

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 725a820b926575265e6790601a0defd9c30947dc)

12 years agor600g: srgb mode is only valid on certain format types.
Dave Airlie [Sun, 22 Jan 2012 16:52:19 +0000 (16:52 +0000)]
r600g: srgb mode is only valid on certain format types.

"If set, forces degamma on XYZ if format is
FMT_8_8_8_8, FMT_BC1, FMT_BC2, or FMT_BC3"

Don't claim support for sRGB on any other formts.

This fixes glean texture_srgb.

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

12 years agor600g: make INTERP_LOAD_P0 vector-only
Vadim Girlin [Sat, 21 Jan 2012 00:48:12 +0000 (04:48 +0400)]
r600g: make INTERP_LOAD_P0 vector-only

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 8b1471f8ca2933a5a4f55be9d0a4db83bdee0435)

12 years agor600g: fixup AR handling (v5)
Dave Airlie [Wed, 18 Jan 2012 15:16:55 +0000 (15:16 +0000)]
r600g: fixup AR handling (v5)

So it appears R600s (except rv670) do AR handling different using a different
opcode. This patch fixes up r600g to work properly on r600.

This fixes ~100 piglit tests here (in GLSL1.30 mode) on rv610.

v3: add index_mode as per the docs.

This still fails any dst relative tests for some reason I can't quite see yet,
but it passes a lot more tests than without.

v4: add a nop after dst.rel this could be improved using a second pass,
where we only insert nops if two instructions are sure to collide.
The docs say r600, rv610, rv630 needs this, and not rv670, rs780, rs880,
need AMD to confirm rv620, rv635.

v5: add is_nop_inst.

NOTE: This is a candidate for stable branches.

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

12 years agor600g: add workaround for original R600 PS setup
Alex Deucher [Tue, 17 Jan 2012 23:44:47 +0000 (18:44 -0500)]
r600g: add workaround for original R600 PS setup

The original R600 requires the UNCACHED_FIRST_INST bit
to be set in the PS.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Note: this is candidate for the stable branches.
(cherry picked from commit 46ce25722b364ae7fa20b61e60eff4be5ad051d3)

12 years agor600g: add missing r32 uint/sint fbo formats.
Dave Airlie [Sat, 14 Jan 2012 17:32:14 +0000 (17:32 +0000)]
r600g: add missing r32 uint/sint fbo formats.

Fixes the GL3 required formats test.

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

12 years agoi965: Remove the INTEL_OLD_VS option.
Kenneth Graunke [Tue, 17 Jan 2012 12:49:04 +0000 (04:49 -0800)]
i965: Remove the INTEL_OLD_VS option.

Now that we no longer generate Mesa IR from GLSL IR, it's impossible to
use the old vertex shader backend for GLSL programs.  There's simply no
Mesa IR to codegen from.

Any attempt to do so would result in immediate GPU hangs, presumably due
to the driver uploading an empty program with no EOT message.

NOTE: This is a candidate for the 8.0 branch.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
(cherry picked from commit bdedd03b701781c8b71e162f7eb834e6a11105de)

12 years agomesa: Support GL_VERTEX_ATTRIB_ARRAY_INTEGER in GL 3.0 contexts.
Kenneth Graunke [Mon, 16 Jan 2012 18:34:56 +0000 (10:34 -0800)]
mesa: Support GL_VERTEX_ATTRIB_ARRAY_INTEGER in GL 3.0 contexts.

According to Table 6.8 (Page 348) in the OpenGL 3.0 specification,
glGetVertexAttribiv supports GL_VERTEX_ATTRIB_ARRAY_INTEGER.

NOTE: This is a candidate for the 8.0 branch.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit d56ad273c0ff37d790c614b2d3f04c1249b47307)

12 years agoi965/gen5: Fix rendering of depth buffers without stencil [v2]
Chad Versace [Tue, 17 Jan 2012 23:41:46 +0000 (15:41 -0800)]
i965/gen5: Fix rendering of depth buffers without stencil [v2]

Fixes the following OGLConform tests on gen5:
    depth-stencil(misc.state_on.depth_int)
    fbo_db_ARBfp(basic.OnlyDepthBuffDrawBufferRender)

The problem was that, if the depth buffer's Mesa format was X8_Z24, then
we emitted the hardware format D24_UNORM_X8. But, on gen5, D24_UNORM_S8
must be emitted.

This bug was introduced by:
    commit d84a180417d1eabd680554970f1eaaa93abcd41e
    Author: Eric Anholt <eric@anholt.net>
    i965: Base HW depth format setup based on MESA_FORMAT, not bpp.

v2: Deref 'intel' directly. Move the branch for newer chipset to top.
    Quote the PRM. As requested by Ken.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=43408
Note: This is a candidate for the 8.0 branch.
Reported-by: Xunx Fang <xunx.fang@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit a6dd4bf5fcce2520ab199201fdd1ad155457d781)

12 years agomesa: Add condition in glGetTexImage for zero size textures
Anuj Phogat [Tue, 17 Jan 2012 00:15:30 +0000 (16:15 -0800)]
mesa: Add condition in glGetTexImage for zero size textures

TestMipMaps() function in src/OGLconform/textureNPOT.c calls glTexImage2D()
with width = 0. Texture with zero size skips miptree allocation due to a
condition in function _mesa_store_teximage3d(). While calling glGetTexImage()
it results in assertion failure in intel_map_texture_image() due to null mt
pointer.

This patch fixes the issue by detecting the zero size texture early in
glGetTexImage and glGetCompressedTexImage functions. In such a case function
simply returns doing nothing.
Verified that below mentioned bug is fixed by this patch.

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

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 f1a9a9bcd19dcbb8a0a4bd7299400cb418970f99)

12 years agointel: Drop the version override code now that we don't have any left.
Eric Anholt [Thu, 12 Jan 2012 22:53:10 +0000 (14:53 -0800)]
intel: Drop the version override code now that we don't have any left.

Fixes a compiler warning.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit a14582d7e2ace05a3583cecff39f2bb4f41f7b79)

12 years agoi965: Fix gen6,gen7 when used with a non-HiZ capable DDX
Chad Versace [Tue, 27 Dec 2011 18:52:44 +0000 (10:52 -0800)]
i965: Fix gen6,gen7 when used with a non-HiZ capable DDX

Nothing works if HiZ is enabled and the DDX is incapable of HiZ (that is,
the DDX version is < 2.16).

The problem is that the refactoring that eliminated
intel_renderbuffer::stencil_rb broke the recovery path in
intel_verify_dri2_has_hiz().  Specifically, it broke line
intel_context.c:1445, which allocates the region for
DRI_BUFFER_DEPTH_STENCIL. That allocation was creating a separate stencil
miptree, despite the buffer being a packed depthstencil buffer. Havoc
ensued.

This patch introduces a bool flag that prevents allocation of that stencil
miptree.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44103
Tested-by: Ian Romanick <idr@freedesktop.org>
Note: This is a candidate for the 8.0 branch.
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit 7e08bf08d13228001f6306800b5bd69b89b1bb6f)

12 years agointel: Fix segfault in glXSwapBuffers with no bound context
Anuj Phogat [Wed, 11 Jan 2012 23:26:10 +0000 (15:26 -0800)]
intel: Fix segfault in glXSwapBuffers with no bound context

Calling glXSwapBuffers with no bound context causes segmentation
fault in function intelDRI2Flush. All the gl calls should be
ignored after setting the current context to null. So the contents
of framebuffer stay unchanged. But the driver should not seg fault.

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

Reported-by: Yi Sun <yi.sun@intel.com>
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Tested-by: Yi Sun <yi.sun@intel.com>
(cherry picked from commit dd7220652e65a8a23e7739eeee687f3d6a865b80)

12 years agomesa: update compute_version for GL3
Marek Olšák [Thu, 12 Jan 2012 02:54:09 +0000 (03:54 +0100)]
mesa: update compute_version for GL3

only check ARB_fbo, add shader_texture_lod as a requirement

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

12 years agoi965: Fix Coverity wrong sizeof argument defect.
Vinson Lee [Thu, 3 Nov 2011 07:36:27 +0000 (00:36 -0700)]
i965: Fix Coverity wrong sizeof argument defect.

NOTE: This is a candidate for stable release branches.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42542
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit 3e18ad7fd7026e31fd92fe5cf7097d08e5b9a15a)

12 years agoi965 gen4-6: Fix off-by-one errors brw_create_constant_surface()
Paul Berry [Mon, 9 Jan 2012 22:45:04 +0000 (14:45 -0800)]
i965 gen4-6: Fix off-by-one errors brw_create_constant_surface()

Commit 9bdc44a52804a64219a0ca1a061b18596863e524 (i965: Replace struct
with bit shifting for WM pull constant surfaces) accidentally
introduced off-by-one errors into the calculation of the surface
width, height, and depth.  This patch restores the correct
computation.

The reason this wasn't noticed by Piglit tests is that the size of our
constant surfaces is always less than 2^20, therefore the off-by-one
error was causing the "depth" field of the surface to be set to all
1's.  The hardware interpreted this as an extremely large surface, so
overflow checking was effectively disabled.

No Piglit regressions on Sandy Bridge.

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

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

12 years agomesa: Bump version number to 8.0-rc1
Jakob Bornecrantz [Wed, 11 Jan 2012 22:33:07 +0000 (23:33 +0100)]
mesa: Bump version number to 8.0-rc1

Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
12 years agodocs: add links to xf86-video-vmware wiki pages
Brian Paul [Fri, 13 Jan 2012 20:45:58 +0000 (13:45 -0700)]
docs: add links to xf86-video-vmware wiki pages

(cherry picked from commit 548526f2e967d29e0aa1d9a37e4364100e84dc3f)

12 years agomesa: Throw the required error for glCopyPixels from multisample FBO.
Eric Anholt [Wed, 11 Jan 2012 22:06:17 +0000 (14:06 -0800)]
mesa: Throw the required error for glCopyPixels from multisample FBO.

Fixes piglit EXT_framebuffer_multisample/negative-copypixels.

Reviewed-by: Brian Paul <brianp@vmware.com>
NOTE: This is a candidate for the 8.0 branch.
(cherry picked from commit 9be6654c1f75bc402c807ec0caccebde032afa59)

12 years agomesa: Throw the required error for glCopyTex{Sub,}Image from multisample FBO.
Eric Anholt [Wed, 11 Jan 2012 22:02:41 +0000 (14:02 -0800)]
mesa: Throw the required error for glCopyTex{Sub,}Image from multisample FBO.

Fixes piglit EXT_framebuffer_multisample/negative-copyteximage.

Reviewed-by: Brian Paul <brianp@vmware.com>
NOTE: This is a candidate for the 8.0 branch.
(cherry picked from commit 6950a4faf650fe119ee97aa18b006eed099038be)

12 years agomesa: Throw the required error for glReadPixels() from a multisampled FBO.
Eric Anholt [Wed, 11 Jan 2012 21:54:53 +0000 (13:54 -0800)]
mesa: Throw the required error for glReadPixels() from a multisampled FBO.

Fixes piglit EXT_framebuffer_multisample-negative-readpixels.

Reviewed-by: Brian Paul <brianp@vmware.com>
NOTE: This is a candidate for the 8.0 branch.
(cherry picked from commit 86b7c6707f915b07347070901d602917bc25dd0f)

12 years agomesa: Avoid short-circuiting realloc of renderbuffers to new sample count.
Eric Anholt [Wed, 11 Jan 2012 21:46:43 +0000 (13:46 -0800)]
mesa: Avoid short-circuiting realloc of renderbuffers to new sample count.

Fixes piglit EXT_framebuffer_multisample/renderbuffer-samples.

Reviewed-by: Brian Paul <brianp@vmware.com>
NOTE: This is a candidate for the 8.0 branch.
(cherry picked from commit 0e8d156c3cd70a67c99a82e42e7875f69b6a5b94)

12 years agometa: Add GL_RED/GL_RG support to meta CopyTexImage.
Eric Anholt [Tue, 10 Jan 2012 00:41:02 +0000 (16:41 -0800)]
meta: Add GL_RED/GL_RG support to meta CopyTexImage.

Fixes some _mesa_problem()s in oglconform.

Reviewed-by: Brian Paul <brianp@vmware.com>
NOTE: This is a candidate for the 8.0 branch.
(cherry picked from commit f83756f80f509fc51030853f8aa0fef3309fe886)

12 years agoi965/gen7: Fix depth buffer rendering to tile offsets.
Eric Anholt [Wed, 11 Jan 2012 23:31:30 +0000 (15:31 -0800)]
i965/gen7: Fix depth buffer rendering to tile offsets.

Previously, we were saying that everything from the starting tile to
region width+height was part of the limits of our depthbuffer, even if
the tile was near the bottom of the depthbuffer.  This mean that our
range was not clipping to buffer buonds if the start tile was anything
but the start of the buffer.

In bebc91f0f3a1f2d19d36a7f1a4f7c992ace064e9, this was changed to
saying that we're just rendering to a region of the size of the
renderbuffer.  This is great -- we get a range that should actually
match what we want.  However, the hardware's range checking occurs
after the X/Y offset addition, so we were clipping out rendering to
small depth mip levels when an X/Y offset was present.  Just add
tile_x/y to the width in that case -- the WM won't produce negative
x/y values pre-offset, so we just need to get the left/bottom sides of
the region to cover our buffer.

Fixes the following Piglit regressions on gen7:
    spec/ARB_depth_buffer_float/fbo-clear-formats
    spec/ARB_depth_texture/fbo-clear-formats
    spec/EXT_packed_depth_stencil/fbo-clear-formats

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

12 years agogen6_hiz: Don't bind GL_DRAW_FRAMEBUFFER on GLES
Neil Roberts [Wed, 30 Nov 2011 22:29:21 +0000 (22:29 +0000)]
gen6_hiz: Don't bind GL_DRAW_FRAMEBUFFER on GLES

When using Mesa with a GLES API, calling _mesa_FramebufferRenderbuffer
with GL_DRAW_FRAMEBUFFER will report a 'user error' because
get_framebuffer_target validates that this enum from the framebuffer
blit extension is only used on GL. To work around it this patch makes
it use the GL_FRAMEBUFFER enum instead in that case.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=43418
Note: This is a candidate for the 8.0 branch.
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit 9462b8447864c754252cd2580c9e1e4d36d5cc63)

12 years agodocs: new page describing how to build, install VMware SVGA3D guest driver
Brian Paul [Fri, 13 Jan 2012 17:54:22 +0000 (10:54 -0700)]
docs: new page describing how to build, install VMware SVGA3D guest driver

(cherry picked from commit 27915708ed4519cc5606e81fb789e8427501f355)

12 years agomesa: s/GLushort/GLubyte/ in pack_ubyte_AL44()
Brian Paul [Fri, 13 Jan 2012 16:41:35 +0000 (09:41 -0700)]
mesa: s/GLushort/GLubyte/ in pack_ubyte_AL44()

The AL44 format occupies one byte, not two.

NOTE: This is a candidate for the 8.0 branch.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
(cherry picked from commit b0af16abf1153da243b856e55f59ca1945860f47)

12 years agoosmesa: fix renderbuffer format selection
Brian Paul [Fri, 13 Jan 2012 15:31:26 +0000 (08:31 -0700)]
osmesa: fix renderbuffer format selection

The gl_renderbuffer::Format field wasn't always set properly.  This
didn't matter much in the past but with the recent swrast/renderbuffer
mapping changes, core Mesa will be directly touching OSMesa colorbuffers
so using the right MESA_FORMAT_x value is important.

Unfortunately, there aren't MESA_FORMATs for all the possible OSmesa
format/type combinations, such as GL_FLOAT / OSMESA_ARGB.  If anyone
runs into these we can add new Mesa formats.

v2: add warnings for unsupported formats, fix ARGB_REV mix-up.

NOTE: This is a candidate for the 8.0 branch.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
(cherry picked from commit 540a8b2cfdedbf5a635f33c720aa795fae74e08b)

12 years agodocs: freshen up the introduction page with Mesa 8.0 info, etc
Brian Paul [Fri, 13 Jan 2012 15:31:26 +0000 (08:31 -0700)]
docs: freshen up the introduction page with Mesa 8.0 info, etc
(cherry picked from commit 0c14bbbc8634f516d75a06e2a52d11d674e41170)

12 years agoosmesa: fix glReadPixels, etc
Brian Paul [Thu, 12 Jan 2012 18:52:22 +0000 (11:52 -0700)]
osmesa: fix glReadPixels, etc

Needed to implement the Map/UnmapRenderbuffer() driver hooks.
This fixes glRead/Draw/CopyPixels, etc.

See https://bugs.freedesktop.org/show_bug.cgi?id=44723

Note: This is a candidate for the 8.0 branch.

Tested-by: Kevin Hobbs <hobbsk@ohiou.edu>
(cherry picked from commit cb254b75d7d971b3f1baab45a82cedf0bd6c36c4)

12 years agointel: move declaration before code
Brian Paul [Thu, 12 Jan 2012 18:41:42 +0000 (11:41 -0700)]
intel: move declaration before code
(cherry picked from commit 062a4b601edaaea193397bd5d86fea11ceec04f4)

12 years agointel: fix mapping of malloc'd renderbuffers
Brian Paul [Sat, 7 Jan 2012 22:05:35 +0000 (15:05 -0700)]
intel: fix mapping of malloc'd renderbuffers

This fixes accum buffer operations.  The accumulation buffer is the
only malloc-based renderbuffer for the intel drivers.

v2: apply x/y offset to returned pointer

NOTE: This is a candidate for the 8.0 branch.

Reviewed-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit 6dbdc0395698de929e23b4ec1ab399e64ecfd264)

12 years agomesa: remove incorrect (float) cast in mipmap do_row()
Brian Paul [Thu, 12 Jan 2012 16:55:40 +0000 (09:55 -0700)]
mesa: remove incorrect (float) cast in mipmap do_row()

The array holds GLuint values so remove the float cast.
Note, however, that to compute the average of four GLuints we really
want to do (a+b+c+d)/4 but that could overflow.  This change doesn't
address that for now.

NOTE: This is a candidate for the 8.0 branch.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
(cherry picked from commit 003dd8adf39c964d8c7beb86955a61ceb3706ebc)

12 years agoswrast: use BITFIELD64_BIT() macro to fix MSVC warnings
Brian Paul [Thu, 12 Jan 2012 16:54:04 +0000 (09:54 -0700)]
swrast: use BITFIELD64_BIT() macro to fix MSVC warnings

NOTE: This is a candidate for the 8.0 branch.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
(cherry picked from commit 706400f0a7a59bba89eca8e97a1ada45445ee6df)

12 years agomesa: fix ir_variable declaration
Brian Paul [Thu, 12 Jan 2012 16:53:07 +0000 (09:53 -0700)]
mesa: fix ir_variable declaration

ir_variable is a class, not a struct.

NOTE: This is a candidate for the 8.0 branch.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
(cherry picked from commit decd018b992eb0f7f85338ee39083daca04885b6)

12 years agomesa: fix incorrect float vs. int values in a few places
Brian Paul [Thu, 12 Jan 2012 16:51:21 +0000 (09:51 -0700)]
mesa: fix incorrect float vs. int values in a few places

In the first case, the newImage[] array contains GLuint values.
In the second case, the parameter type is GLuint, but the maxDepth
value is never used in this case (GL_FLOAT_32_UNSIGNED_INT_24_8_REV).
Pass ~OU just to be safe.

NOTE: This is a candidate for the 8.0 branch.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
(cherry picked from commit a240c998ac649d79f423bb0c445993132cd56f97)

12 years agometa: fix incorrect argument order in setup_texture_coords() call
Brian Paul [Thu, 12 Jan 2012 16:50:27 +0000 (09:50 -0700)]
meta: fix incorrect argument order in setup_texture_coords() call

And pass integer width, height values.

NOTE: This is a candidate for the 8.0 branch.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
(cherry picked from commit 2f0fa456e31a7030c911a563b62c84d448b09800)

12 years agosofpipe: remove extraneous semicolon
Brian Paul [Thu, 12 Jan 2012 15:30:52 +0000 (08:30 -0700)]
sofpipe: remove extraneous semicolon
(cherry picked from commit 0c57323de8bcfb5932e14a88ef9554059fc3be72)

12 years agost/mesa: fix struct vs. class compilation warning
Brian Paul [Thu, 12 Jan 2012 15:28:20 +0000 (08:28 -0700)]
st/mesa: fix struct vs. class compilation warning

glsl_to_tgsi_visitor is earlier defined as a class, not a struct.
Fixes MSVC warning.

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

12 years agoconfigs: fix, simplify RADEON_LIBS, RADEON_CFLAGS
Brian Paul [Thu, 12 Jan 2012 14:53:22 +0000 (07:53 -0700)]
configs: fix, simplify RADEON_LIBS, RADEON_CFLAGS

Fixes build problems with the r200, radeon drivers.

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

12 years agosoftpipe: bump max texture array layers to 256.
Dave Airlie [Thu, 12 Jan 2012 10:13:37 +0000 (10:13 +0000)]
softpipe: bump max texture array layers to 256.

This as per GL3 specification.

Signed-off-by: Dave Airlie <airlied@redhat.com>
12 years agor600g: don't advertise integers yet on r600.
Dave Airlie [Thu, 12 Jan 2012 15:05:15 +0000 (15:05 +0000)]
r600g: don't advertise integers yet on r600.

Still some work to be done before this is finished.

This is a candidate for 8.0 branch.

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

12 years agoconfigure: Add the svga gallium driver to the default gallium drivers
Thomas Hellstrom [Thu, 12 Jan 2012 11:10:53 +0000 (12:10 +0100)]
configure: Add the svga gallium driver to the default gallium drivers

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
12 years agost/xa: Bump version to 1.0.0 according to the README
Thomas Hellstrom [Thu, 12 Jan 2012 10:57:12 +0000 (11:57 +0100)]
st/xa: Bump version to 1.0.0 according to the README

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
12 years agosvga: Fix user clip planes.
José Fonseca [Wed, 11 Jan 2012 20:54:13 +0000 (20:54 +0000)]
svga: Fix user clip planes.

Dirty flags also need to be updated in face of recent interface change.

Fixes regression in compiz.

Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agogallium/svga: Pass the SVGA3D_SURFACE_HINT_RENDERTARGET flag to the device
Thomas Hellstrom [Tue, 10 Jan 2012 13:37:33 +0000 (14:37 +0100)]
gallium/svga: Pass the SVGA3D_SURFACE_HINT_RENDERTARGET flag to the device

Some hardware versions rely on it to render correctly.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
12 years agomesa: remove const qualifier from fProg to silence warning
Brian Paul [Thu, 12 Jan 2012 01:19:37 +0000 (18:19 -0700)]
mesa: remove const qualifier from fProg to silence warning

The args to _mesa_reference_shader_program() can't be const.
(cherry picked from commit 459a44460e4d31d69d7ff04c1000917ca7870ff3)

12 years agomesa: include uniforms.h to silence warning, remove unused var
Brian Paul [Thu, 12 Jan 2012 01:19:09 +0000 (18:19 -0700)]
mesa: include uniforms.h to silence warning, remove unused var

(cherry picked from commit fe1b38960b44135f6557a1e7a9fb5adc66d0edbb)

12 years agomesa: Include glx tests Makefile.in in tarball
Jakob Bornecrantz [Wed, 11 Jan 2012 23:36:23 +0000 (00:36 +0100)]
mesa: Include glx tests Makefile.in in tarball

Fix suggested by Kenneth Graunke.

Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
Kenneth Graunke <kenneth@whitescape.org>

12 years agoEnable is_front_buffer_rendering variable in case of GL_FRONT_AND_BACK
Anuj Phogat [Fri, 6 Jan 2012 20:48:45 +0000 (12:48 -0800)]
Enable is_front_buffer_rendering variable in case of GL_FRONT_AND_BACK

glDrawBuffer(GL_FRONT_AND_BACK) results in to segmentation fault if
intel->is_front_buffer_rendering is not enabled with GL_FRONT_AND_BACK.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44153

Reported-by: Yi Sun <yi.sun@intel.com>
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agomesa: Remove unused opengl version macro
Jakob Bornecrantz [Wed, 11 Jan 2012 22:17:37 +0000 (23:17 +0100)]
mesa: Remove unused opengl version macro

Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agorbug: Silence warning
Jakob Bornecrantz [Mon, 9 Jan 2012 13:53:42 +0000 (14:53 +0100)]
rbug: Silence warning

Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
Reviewed-by Brian Paul <brianp@vmware.com>

12 years agoi965: Don't use _mesa_ir_link_shader to do our dirty work
Ian Romanick [Sat, 7 Jan 2012 00:26:49 +0000 (16:26 -0800)]
i965: Don't use _mesa_ir_link_shader to do our dirty work

Instead, do the uniform setting and input / output mapping directly in
brw_link_shader.  Hurray for not generating Mesa IR!  However, once
the i965 driver stops calling _mesa_ir_link_shader, UsesClipDistance
and UsesKill are no longer set.

Ideally gen6_upload_vs_push_constants should use the
gl_shader_program, but I don't see a way to propagate the information
there.  The other alternative, since this is the only usage, is to
move gl_vertex_program::UsesClipDistance to brw_vertex_program.

The compile (and precompile) stages use UsesKill to determine the
cache key for the shader.  This is then used to determine whether or
not to compile the shader.  Calculating this data during compilation
is too late.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Eric Anholt <eric@anholt.net>
12 years agoi965: Don't calculate masks of used FS inputs
Ian Romanick [Fri, 6 Jan 2012 22:49:02 +0000 (14:49 -0800)]
i965: Don't calculate masks of used FS inputs

This previously enabled some optimizations in the fragment shader
(interpolation, etc.) if some input components were always 0.0 or
1.0.  However, this data was generated by analyzing Mesa IR.  The
next patch in this series removes generation of Mesa IR for GLSL
paths.  When we detect that case, just set the used mask to ~0 and
circumvent the optimizations.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agolinker: Calculate used samplers and shadow samplers in the linker
Ian Romanick [Tue, 15 Nov 2011 05:58:50 +0000 (21:58 -0800)]
linker: Calculate used samplers and shadow samplers in the linker

It used to be done in ir_to_mesa, and that was kind of a bad place.

I didn't change st_glsl_to_tgsi because there is some strange stuff
happening in the code that generates glDrawPixels shaders.  It looked
like this would break horribly if I touched anything.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agolinker: Calculate the sampler to texture target mapping during linking
Ian Romanick [Tue, 15 Nov 2011 02:12:16 +0000 (18:12 -0800)]
linker: Calculate the sampler to texture target mapping during linking

Track the calculated data in gl_shader_program instead of the
individual assembly shaders.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoglsl: Add glsl_type::sampler_index
Ian Romanick [Mon, 14 Nov 2011 22:02:09 +0000 (14:02 -0800)]
glsl: Add glsl_type::sampler_index

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agomesa: Validate sampler settings using uniform storage
Ian Romanick [Mon, 14 Nov 2011 20:11:46 +0000 (12:11 -0800)]
mesa: Validate sampler settings using uniform storage

Rather than looking at the settings in individual assembly programs,
look at the settings in the top-level uniform values.  The old code
was flawed because examining each shader stage in isolation could
allow inconsitent usage across stages (e.g., bind unit 0 to a
sampler2D in the vertex shader and sampler1DShadow in the fragment
shader).

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>