mesa.git
12 years agoautomake: Don't warn on gmake portability issues.
Eric Anholt [Mon, 11 Jun 2012 19:59:48 +0000 (12:59 -0700)]
automake: Don't warn on gmake portability issues.

Even pre-automake, we rely on gmake features for pattern
substitutions, and replacing those with reams more make code is not
interesting.  This will let us turn the old Makefiles using pattern
substitutions into automake without spewing warnings.

Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
12 years agonv50: fix buffer reuse issues
Marcin Slusarz [Tue, 19 Jun 2012 21:38:34 +0000 (23:38 +0200)]
nv50: fix buffer reuse issues

1) We need to insert a barrier between consecutive transform feedback calls.
2) VBO cache needs to be flushed when TFB output is used as VBO draw input.

Fixes Piglit test EXT_transform_feedback/immediate-reuse.

Thanks to Christoph Bumiller for pointing out bugs in previous versions
of this patch.

12 years agost/mesa: fix transform feedback of unsubscripted gl_ClipDistance array
Marcin Slusarz [Sat, 16 Jun 2012 18:30:14 +0000 (20:30 +0200)]
st/mesa: fix transform feedback of unsubscripted gl_ClipDistance array

gl_ClipDistance needs special treatment in form of lowering pass
which transforms gl_ClipDistance representation from float[] to
vec4[]. There are 2 implementations - at glsl linker level (enabled
by LowerClipDistance option) and at glsl_to_tgsi level (enabled
unconditionally for gallium drivers). Second implementation is
incomplete - it does not take into account transform feedback (see
commit 642e5b413e0890b2070ba78fde42db381eaf02e5 "mesa: Fix transform
feedback of unsubscripted gl_ClipDistance array" for details).

There are 2 possible fixes:
- adding transform feedback support into glsl_to_tgsi version
- ripping gl_ClipDistance support from glsl_to_tgsi and enabling
  gl_ClipDistance lowering on glsl linker side

This patch implements 2nd option. All it does is:
- reverts most of the commit 59be691638200797583bce39a83f641d30d97492
  "st/mesa: add support for gl_ClipDistance"
- changes LowerClipDistance to true

Fixes Piglit tests "EXT_transform_feedback/builtin-varyings
gl_ClipDistance[{2,3,4,5,6,7,8}]-no-subscript" at least on nv50
and evergreen cards.

12 years agoglx/tests: Fix signed/unsigned comparison warnings.
Paul Berry [Wed, 20 Jun 2012 18:38:22 +0000 (11:38 -0700)]
glx/tests: Fix signed/unsigned comparison warnings.

12 years agoi965/msaa: Only do multisample rasterization if GL_MULTISAMPLE enabled.
Paul Berry [Sat, 16 Jun 2012 18:32:04 +0000 (11:32 -0700)]
i965/msaa: Only do multisample rasterization if GL_MULTISAMPLE enabled.

From the GL 3.0 spec (p.116):

    "Multisample rasterization is enabled or disabled by calling
    Enable or Disable with the symbolic constant MULTISAMPLE."

Elsewhere in the spec, where multisample rasterization is described
(sections 3.4.3, 3.5.4, and 3.6.6), the following text is consistently
used:

    "If MULTISAMPLE is enabled, and the value of SAMPLE_BUFFERS is
    one, then..."

So, in other words, disabling GL_MULTISAMPLE should prevent
multisample rasterization from occurring, even if the draw framebuffer
is multisampled.  This patch implements that behaviour by setting the
WM and SF stage's "multisample rasterization mode" to
MSRAST_ON_PATTERN only when the draw framebuffer is multisampled *and*
GL_MULTISAMPLE is enabled.

Fixes piglit test spec/EXT_framebuffer_multisample/enable-flag.

Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoi965/msaa: Disable unsupported formats.
Paul Berry [Fri, 15 Jun 2012 17:49:58 +0000 (10:49 -0700)]
i965/msaa: Disable unsupported formats.

Due to hardware limitations, MSAA is unsupported on Gen6 for formats
containing >64 bits of data per pixel.  From the Sandy Bridge PRM,
vol4 part1, p72 ("Surface Format"):

    If Number of Multisamples is set to a value other than
    MULTISAMPLECOUNT_1, this field cannot be set to the following
    formats:
    - any format with greater than 64 bits per element
    - any compressed texture format (BC*)
    - any YCRCB* format

Gen7 has a similar, but less stringent limitation: formats with >64
bits of data per pixel only support 4x MSAA.

This patch causes the unsupported formats to report
GL_FRAMEBUFFER_UNSUPPORTED.

Fixes piglit "multisample-formats" tests on Gen6.

Acked-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agomesa: remove obsolete confdiff.sh
Andreas Boll [Tue, 19 Jun 2012 17:49:25 +0000 (19:49 +0200)]
mesa: remove obsolete confdiff.sh

this script is obsolete since
0cc216676c96efacb0e1eb82457e6a83920ae704

12 years agost/vdpau: use template size as default for source_rect.
Christian König [Thu, 14 Jun 2012 15:52:20 +0000 (17:52 +0200)]
st/vdpau: use template size as default for source_rect.

Fixes alignment problems with flash player.

Signed-off-by: Christian König <deathsimple@vodafone.de>
12 years agost/vdpau: clear Cb&Cr with 0.5f
Christian König [Sat, 9 Jun 2012 13:33:28 +0000 (15:33 +0200)]
st/vdpau: clear Cb&Cr with 0.5f

That makes the output black in case of decoding errors.

Signed-off-by: Christian König <deathsimple@vodafone.de>
12 years agoi965: Don't set brw_wm_prog_key::iz_lookup on Gen6+.
Kenneth Graunke [Sat, 16 Jun 2012 23:34:50 +0000 (16:34 -0700)]
i965: Don't set brw_wm_prog_key::iz_lookup on Gen6+.

Sandy Bridge and later don't use this field, so there's no point in
setting it.  It can only cause harmful state-based recompiles.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agollvmpipe: Add vertex id support.
Olivier Galibert [Tue, 19 Jun 2012 18:51:21 +0000 (20:51 +0200)]
llvmpipe: Add vertex id support.

Signed-off-by: Olivier Galibert <galibert@pobox.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agollvmpipe: Simplify and fix system variables fetch.
Olivier Galibert [Tue, 19 Jun 2012 18:51:20 +0000 (20:51 +0200)]
llvmpipe: Simplify and fix system variables fetch.

The system array values concept doesn't really because it expects the
system values to be fixed per call, which is wrong for gl_VertexID and
iffy for gl_SampleID.  So this patch does two things:

- kill the array, have emit_fetch_system_value directly pick the
  values it needs (only gl_InstanceID for now, as the previous code)

- correctly handle the expected type in emit_fetch_system_value

Signed-off-by: Olivier Galibert <galibert@pobox.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agodraw: fix flat shading and screen-space linear interpolation in clipper
Olivier Galibert [Tue, 19 Jun 2012 18:51:19 +0000 (20:51 +0200)]
draw: fix flat shading and screen-space linear interpolation in clipper

This includes:
- picking up correctly which attributes are flatshaded and which are
  noperspective

- copying the flatshaded attributes when needed, including the
  non-built-in ones

- correctly interpolating the noperspective attributes in screen-space
  instead than in a 3d-correct fashion.

Signed-off-by: Olivier Galibert <galibert@pobox.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agosoftpipe: Offset is not to be applied to the layer parameter of array texture fetches.
Olivier Galibert [Tue, 19 Jun 2012 18:51:18 +0000 (20:51 +0200)]
softpipe: Offset is not to be applied to the layer parameter of array texture fetches.

Signed-off-by: Olivier Galibert <galibert@pobox.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agost/mesa: clamp glDrawPixels size to max texture size
Brian Paul [Tue, 19 Jun 2012 15:39:54 +0000 (09:39 -0600)]
st/mesa: clamp glDrawPixels size to max texture size

12 years agost/mesa: move st_validate_state() call earlier in st_DrawPixels()
Brian Paul [Tue, 19 Jun 2012 15:40:32 +0000 (09:40 -0600)]
st/mesa: move st_validate_state() call earlier in st_DrawPixels()

12 years agor600g: fix z/stencil texture creation v2
Jerome Glisse [Fri, 15 Jun 2012 17:01:49 +0000 (13:01 -0400)]
r600g: fix z/stencil texture creation v2

z or stencil texture should not be created with the z/stencil
flags for surface creation as they are intended to be bound
as texture.

v2: remove broken code

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
12 years agoradeon/llvm: Fix CR/LF in Processors.td
Török Edwin [Tue, 19 Jun 2012 15:06:33 +0000 (11:06 -0400)]
radeon/llvm: Fix CR/LF in Processors.td

Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
12 years agoradeon/llvm: Fix sin/cos codegen on R700
Török Edwin [Mon, 18 Jun 2012 18:20:58 +0000 (21:20 +0300)]
radeon/llvm: Fix sin/cos codegen on R700

Based on https://bugs.freedesktop.org/show_bug.cgi?id=50317#c4

Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=50316
https://bugs.freedesktop.org/show_bug.cgi?id=50317

Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
12 years agodocs: update GL3.txt for ARB_base_instance
Fredrik Höglund [Mon, 18 Jun 2012 20:50:04 +0000 (22:50 +0200)]
docs: update GL3.txt for ARB_base_instance

Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agost/mesa: Add support for GL_ARB_base_instance
Fredrik Höglund [Mon, 18 Jun 2012 20:50:03 +0000 (22:50 +0200)]
st/mesa: Add support for GL_ARB_base_instance

Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agogallium: Add PIPE_CAP_START_INSTANCE
Fredrik Höglund [Mon, 18 Jun 2012 20:50:02 +0000 (22:50 +0200)]
gallium: Add PIPE_CAP_START_INSTANCE

Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agomesa: Add support for GL_ARB_base_instance
Fredrik Höglund [Mon, 18 Jun 2012 20:50:01 +0000 (22:50 +0200)]
mesa: Add support for GL_ARB_base_instance

Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoscons: Do not build svga if using Solaris Studio C compiler.
Vinson Lee [Sat, 16 Jun 2012 17:55:20 +0000 (10:55 -0700)]
scons: Do not build svga if using Solaris Studio C compiler.

Solaris Studio C compiler does not support anonymous structs and
anonymous unions.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoi965: Fix brw_swap_cmod() for LE/GE comparisons.
Kenneth Graunke [Sat, 16 Jun 2012 09:08:13 +0000 (02:08 -0700)]
i965: Fix brw_swap_cmod() for LE/GE comparisons.

The idea here is to rewrite comparisons like 2 >= x with x <= 2; we want
to simply exchange arguments, not negate the condition.  If equality was
part of the original comparison, it should remain part of the swapped
version.

This is the true cause of bug #50298.  It didn't manifest itself on
Sandybridge because we embed the conditional modifier in the IF
instruction rather than emitting a CMP.  All other platforms use CMP.

It also didn't manifest itself on the master branch because commit
be5f27a84d ("glsl: Refine the loop instruction counting.") papered over
the problem.

NOTE: This is a candidate for stable release branches.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50298
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agodocs: start release notes file for 8.1
Brian Paul [Mon, 18 Jun 2012 18:38:34 +0000 (12:38 -0600)]
docs: start release notes file for 8.1

12 years agoradeon/llvm: Update comment in AMDGPU.td
Tom Stellard [Mon, 18 Jun 2012 22:07:34 +0000 (18:07 -0400)]
radeon/llvm: Update comment in AMDGPU.td

12 years agoradeon/llvm: Remove unused AMDIL TableGen definitons
Tom Stellard [Thu, 7 Jun 2012 00:27:47 +0000 (20:27 -0400)]
radeon/llvm: Remove unused AMDIL TableGen definitons

12 years agoradeon/llvm: Eliminate getRegClassFromType() function
Tom Stellard [Fri, 15 Jun 2012 21:36:42 +0000 (17:36 -0400)]
radeon/llvm: Eliminate getRegClassFromType() function

We can use TargetLowering::getRegClassFor() instead.

12 years agoradeon/llvm: Remove deadcode from AMDILISelLowering.cpp
Tom Stellard [Fri, 15 Jun 2012 21:34:13 +0000 (17:34 -0400)]
radeon/llvm: Remove deadcode from AMDILISelLowering.cpp

12 years agogallium: Add support for Solaris Studio C++ compiler.
Vinson Lee [Sun, 17 Jun 2012 08:11:39 +0000 (01:11 -0700)]
gallium: Add support for Solaris Studio C++ compiler.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agollvmpipe: Implement cylindrical wrapping.
James Benton [Mon, 18 Jun 2012 16:31:39 +0000 (17:31 +0100)]
llvmpipe: Implement cylindrical wrapping.

Tested against mesa demos cylwrap and dx9 DCT address.exe which now passes 100%.

Signed-off-by: José Fonseca <jfonseca@vmware.com>
12 years agost/glx: Do not undefine _R, _G, and _B.
Vinson Lee [Mon, 18 Jun 2012 05:07:28 +0000 (22:07 -0700)]
st/glx: Do not undefine _R, _G, and _B.

Fixes build error on Cygwin and Solaris. _R, _G, and _B are used in
ctype.h on those platforms.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agosvga: fix synchronization bug between sampler views and surfaces
Brian Paul [Mon, 18 Jun 2012 16:22:06 +0000 (10:22 -0600)]
svga: fix synchronization bug between sampler views and surfaces

This fixes a bug where a sampler view was using stale texture/resource
data when the texture was modified through a surface (render to texture).
Bumping the texture and layer ages triggers sampler view revalidation.

Fixes piglit fbo-blit failure.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
12 years agogles2: Add GL_NV_read_buffer extension
Kristian Høgsberg [Fri, 15 Jun 2012 13:40:41 +0000 (09:40 -0400)]
gles2: Add GL_NV_read_buffer extension

This lets us select the front buffer for reading under GLES2.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoget.c: Rename EXTRA_VERSION_ES2 to EXTRA_API_ES2
Kristian Høgsberg [Fri, 15 Jun 2012 13:38:59 +0000 (09:38 -0400)]
get.c: Rename EXTRA_VERSION_ES2 to EXTRA_API_ES2

This extra condition checks the API not the version of the API, so rename
to reflect that.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agodocs/relnotes: comment out bug template
Andreas Boll [Sat, 16 Jun 2012 08:51:20 +0000 (10:51 +0200)]
docs/relnotes: comment out bug template

Signed-off-by: Brian Paul <brianp@vmware.com>
12 years agodocs/relnotes: replace tbd with release date
Andreas Boll [Sat, 16 Jun 2012 08:51:17 +0000 (10:51 +0200)]
docs/relnotes: replace tbd with release date

Signed-off-by: Brian Paul <brianp@vmware.com>
12 years agodocs/relnotes: fix validation errors
Andreas Boll [Sat, 16 Jun 2012 08:51:14 +0000 (10:51 +0200)]
docs/relnotes: fix validation errors

Signed-off-by: Brian Paul <brianp@vmware.com>
12 years agodocs/relnotes: consolidate html header
Andreas Boll [Sat, 16 Jun 2012 08:51:06 +0000 (10:51 +0200)]
docs/relnotes: consolidate html header

Signed-off-by: Brian Paul <brianp@vmware.com>
12 years agodraw: Ensure that the vertex_header type size matches expectation.
José Fonseca [Fri, 15 Jun 2012 13:02:31 +0000 (14:02 +0100)]
draw: Ensure that the vertex_header type size matches expectation.

This is failing sometimes, probably because TargetData keeps a structure layout
cache, which can becomes bogus, ever since the InvalidateStructLayoutInfo API
was removed in LLVM r135245.

This change merely makes the problem easier to diagnose (an assertion
failure instead of a random crash).

12 years agor600g: enable streamout by default on r7xx and DRM 2.17.0
Marek Olšák [Sun, 17 Jun 2012 15:54:38 +0000 (17:54 +0200)]
r600g: enable streamout by default on r7xx and DRM 2.17.0

Now that it's in Linus's tree.

Has anyone had a chance to test streamout on Cayman recently?

12 years agost/mesa: properly allocate MSAA renderbuffers
Marek Olšák [Fri, 15 Jun 2012 16:52:28 +0000 (18:52 +0200)]
st/mesa: properly allocate MSAA renderbuffers

Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agost/mesa: make unsupported renderbuffer formats always fail as FBO incomplete
Marek Olšák [Fri, 15 Jun 2012 00:00:36 +0000 (02:00 +0200)]
st/mesa: make unsupported renderbuffer formats always fail as FBO incomplete

instead of failing to allocate a renderbuffer.

This also fixes piglit/get-renderbuffer-internalformat with non-renderable
formats.

Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agost/mesa: separate sw renderbuffer allocation from hw one
Marek Olšák [Fri, 15 Jun 2012 15:58:35 +0000 (17:58 +0200)]
st/mesa: separate sw renderbuffer allocation from hw one

Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agomesa: if AllocStorage doesn't choose a format, report FRAMEBUFFER_UNSUPPORTED
Marek Olšák [Fri, 15 Jun 2012 15:21:05 +0000 (17:21 +0200)]
mesa: if AllocStorage doesn't choose a format, report FRAMEBUFFER_UNSUPPORTED

This allows drivers not to do any allocation in AllocStorage if the storage
cannot be allocated because of an unsupported internalformat + samples combo.

The little ugliness is that AllocStorage is expected to return TRUE in this
case.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoi915g: More ops commute.
Stéphane Marchesin [Wed, 13 Jun 2012 17:00:57 +0000 (10:00 -0700)]
i915g: More ops commute.

This allows using the optimizations more broadly.

12 years agor600g: fix lockups with streamout on r7xx
Marek Olšák [Thu, 14 Jun 2012 20:32:51 +0000 (22:32 +0200)]
r600g: fix lockups with streamout on r7xx

This requires the latest streamout kernel patches.

Streamout is disabled by default on r7xx, so this patch is safe for regular
users.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
12 years agor600g: compute CS space for streamout correctly, add comments
Marek Olšák [Thu, 14 Jun 2012 20:25:50 +0000 (22:25 +0200)]
r600g: compute CS space for streamout correctly, add comments

SET_CONTEXT_REG was not counted in.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
12 years agor600g: set SMX_ACTION_ENA to fix streamout cache flushes on some chipsets
Marek Olšák [Thu, 14 Jun 2012 20:23:05 +0000 (22:23 +0200)]
r600g: set SMX_ACTION_ENA to fix streamout cache flushes on some chipsets

It helps on R7xx.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
12 years agoclover: Fix build with LLVM libs installed to non-standard directories
Alexey Shvetsov [Mon, 4 Jun 2012 13:30:48 +0000 (09:30 -0400)]
clover: Fix build with LLVM libs installed to non-standard directories

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Signed-off-by: Tom Stellard <thomas.stellard@amd.com>
12 years agost/mesa: don't do srgb->linear conversion in decompress_with_blit
Marek Olšák [Fri, 15 Jun 2012 03:13:02 +0000 (05:13 +0200)]
st/mesa: don't do srgb->linear conversion in decompress_with_blit

This fixes piglit/getteximage-formats on r600g.

NOTE: This is a candidate for stable branches.

Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglsl: Use ir_unop_f2u to convert floats to uints.
Paul Berry [Wed, 13 Jun 2012 22:50:23 +0000 (15:50 -0700)]
glsl: Use ir_unop_f2u to convert floats to uints.

Fixes piglit tests
spec/glsl-1.30/execution/{vs,fs}-float-uint-conversion on i965.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agogallium: Add TGSI_OPCODE_F2U to gallivm backend.
Paul Berry [Wed, 13 Jun 2012 22:46:27 +0000 (15:46 -0700)]
gallium: Add TGSI_OPCODE_F2U to gallivm backend.

Note: for the moment TGSI_OPCODE_F2U is implemented using
lp_build_itrunc() (the same function used to implement
TGSI_OPCODE_F2I).  In the long run, we should create an
lp_build_utrunc() function to do the proper conversion.  But this
should allow us to limp along with mostly correct behaviour for now.

12 years agogallium: Add support for ir_unop_f2u to tgsi backend.
Paul Berry [Wed, 13 Jun 2012 22:50:06 +0000 (15:50 -0700)]
gallium: Add support for ir_unop_f2u to tgsi backend.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoir_to_mesa: Add support for ir_unop_f2u to ir_to_mesa backend.
Paul Berry [Wed, 13 Jun 2012 22:49:46 +0000 (15:49 -0700)]
ir_to_mesa: Add support for ir_unop_f2u to ir_to_mesa backend.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoi965: Add support for ir_unop_f2u to i965 backend.
Paul Berry [Wed, 13 Jun 2012 22:49:25 +0000 (15:49 -0700)]
i965: Add support for ir_unop_f2u to i965 backend.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoglsl: Add support for ir_unop_f2u to constant folding.
Paul Berry [Wed, 13 Jun 2012 22:48:56 +0000 (15:48 -0700)]
glsl: Add support for ir_unop_f2u to constant folding.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoglsl: Add unary operation ir_unop_f2u.
Paul Berry [Wed, 13 Jun 2012 22:47:45 +0000 (15:47 -0700)]
glsl: Add unary operation ir_unop_f2u.

Previously, we performed conversions from float->uint by a two step
process: float->int->uint.  However, on platforms that use saturating
conversions (e.g. i965), this didn't work, because if the source value
was larger than the maximum representable int (0x7fffffff), then
converting it to an int would clamp it to 0x7fffffff.

This patch just adds the new opcode; further patches will adapt
optimization passes and back-ends to use it, and then finally the
ast_to_hir logic will be modified to emit the new opcode.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoi965/blorp: Implement source clipping.
Paul Berry [Tue, 12 Jun 2012 17:44:10 +0000 (10:44 -0700)]
i965/blorp: Implement source clipping.

This patch modifies blorp blits (which are used for MSAA) to properly
account for clipping of source coordinates.  Previously, if we
detected the possibility of source clipping, we would fall back to the
blit meta-op, which doesn't support MSAA and is very slow for depth
and stencil buffers.

Fixes piglit tests
"EXT_framebuffer_multisample/clip-and-scissor-blit" on i965/Gen6+.

Also substantially speeds up the Humble Bundle V game "Psychonauts" on
Gen6+ (without this patch, the game's depth buffer blits use the slow
blit meta-op).

Reviewed-by: Carl Worth <cworth@cworth.org>
12 years agoscons: add st_atom_array.c to the build
Brian Paul [Fri, 15 Jun 2012 15:31:15 +0000 (09:31 -0600)]
scons: add st_atom_array.c to the build

12 years agowinsys/radeon: enable IB submission to compute rings v2
Christian König [Mon, 21 May 2012 15:51:52 +0000 (17:51 +0200)]
winsys/radeon: enable IB submission to compute rings v2

This allows to submit things to the compute only
rings on cayman+

v2: rebased on current master and actually make use
    of the new flag in evergreen_compute.c

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Marek Olšák <maraeo@gmail.com>
12 years agost/mesa: atomize vertex array state
Marek Olšák [Sat, 12 May 2012 13:52:40 +0000 (15:52 +0200)]
st/mesa: atomize vertex array state

This moves the state validation to where all the other states are validated.

12 years agowinsys/radeon: Remove unnecessary pipe_thread_destroy in radeon_drm_cs_destroy
Maarten Lankhorst [Tue, 22 May 2012 10:25:55 +0000 (12:25 +0200)]
winsys/radeon: Remove unnecessary pipe_thread_destroy in radeon_drm_cs_destroy

Fixes crash bug introduced with 210ddf0819b5 fd.o #49198
pthread_detach after a pthread_join is unneeded.

Signed-off-by: Maarten Lankhorst <m.b.lankhorst@gmail.com>
Signed-off-by: Marek Olšák <maraeo@gmail.com>
12 years agonv50,nvc0: fix stream output target buffer leak
Marcin Slusarz [Thu, 14 Jun 2012 19:48:46 +0000 (21:48 +0200)]
nv50,nvc0: fix stream output target buffer leak

It manifests at exit as:
"WARNING: destroying GPU memory cache with some buffers still in use"

12 years agonv50: disable stream output before reconfiguring it
Christoph Bumiller [Thu, 14 Jun 2012 21:30:49 +0000 (23:30 +0200)]
nv50: disable stream output before reconfiguring it

If we don't, the GPU will just throw an ILLEGAL_OPERATION error.

12 years agonv50/ir: handle NEG,ABS modifiers for short RCP encoding
Christoph Bumiller [Thu, 14 Jun 2012 21:24:36 +0000 (23:24 +0200)]
nv50/ir: handle NEG,ABS modifiers for short RCP encoding

12 years agost/mesa: fix glDrawPixels(GL_DEPTH_COMPONENT) color output
Brian Paul [Fri, 8 Jun 2012 20:26:53 +0000 (14:26 -0600)]
st/mesa: fix glDrawPixels(GL_DEPTH_COMPONENT) color output

When drawing a depth image the fragment shader also needs to emit the
current raster color.

The new piglit drawpix-z test exercises this.

NOTE: This is a candiate for the 8.0 branch.

12 years agodocs: add info about shortlog_mesa.sh script
Brian Paul [Thu, 14 Jun 2012 18:17:31 +0000 (12:17 -0600)]
docs: add info about shortlog_mesa.sh script

12 years agoglx/tests and mesa/tests: Update .gitignore files.
Paul Berry [Thu, 14 Jun 2012 17:02:24 +0000 (10:02 -0700)]
glx/tests and mesa/tests: Update .gitignore files.

This patch updates .gitignore files to account for the new build
artifacts introduced by the following commits:

ae376f0 glx/tests: Rename test as glx-test
8fecdcc mesa/tests: Add tests for _mesa_lookup_enum_by_{name,nr} functions
a29ad2b mesa/tests: Add tests for the generated dispatch table

12 years agost/vdpau: fix YCbCr down/up-loads for buffers larger than requested
Christian König [Wed, 6 Jun 2012 15:53:58 +0000 (17:53 +0200)]
st/vdpau: fix YCbCr down/up-loads for buffers larger than requested

When the video buffer turns out to be larger than
requested by the application we shouldn't upload
or download more data into / from it original requested.

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=39309
Signed-off-by: Christian König <deathsimple@vodafone.de>
12 years agoscons: Fix Haiku binary optimizations
Alexander von Gluck IV [Thu, 14 Jun 2012 15:08:07 +0000 (08:08 -0700)]
scons: Fix Haiku binary optimizations

Haiku targets the Pentium or higher processor.
To ensure compatibility we can do march 586 and
mtune 686. Mesa will still use sse however if
the cpu supports it (and the stack is properly
aligned). These flags only effect the internal
compiler optimizations.

12 years agomesa: fix html in shortlog_mesa.sh script
Andreas Boll [Thu, 14 Jun 2012 14:25:42 +0000 (08:25 -0600)]
mesa: fix html in shortlog_mesa.sh script

Signed-off-by: Brian Paul <brianp@vmware.com>
12 years agomesa: added Ian's shortlog_mesa.sh script in bin/
Brian Paul [Thu, 14 Jun 2012 14:22:54 +0000 (08:22 -0600)]
mesa: added Ian's shortlog_mesa.sh script in bin/

12 years agosvga: make svga_surface_needs_propagation() surface const
Brian Paul [Wed, 13 Jun 2012 17:41:32 +0000 (11:41 -0600)]
svga: make svga_surface_needs_propagation() surface const

12 years agosvga: add svga_surface_const() cast wrapper
Brian Paul [Wed, 13 Jun 2012 17:41:03 +0000 (11:41 -0600)]
svga: add svga_surface_const() cast wrapper

12 years agosvga: fix comment typo
Brian Paul [Wed, 13 Jun 2012 17:40:34 +0000 (11:40 -0600)]
svga: fix comment typo

12 years agorbug: fix make process on Linux Mint 13 x64.
Aaron Watry [Wed, 13 Jun 2012 01:16:37 +0000 (20:16 -0500)]
rbug: fix make process on Linux Mint 13 x64.

Previously, rbug_*.c would fail to compile with incomplete prototype
errors when make was run from the command line on my machine. My IDE
always built fine, and still does after this patch (Netbeans 7.1.2).

Most of the includes from files in gallium/auxiliary/rbug/* were
assuming an rbug/ subdirectory, while the headers are actually in the
same directory as the .c files.

The build error was also previously a problem for me on Ubuntu 11.10
and Mint 12.

Fixes build for the following configuration: ./autogen.sh
--enable-debug --enable-texture-float --with-gallium-drivers=r600
--with-dri-drivers=radeon --enable-r600-llvm-compiler

Signed-off-by: Brian Paul <brianp@vmware.com>
12 years agowindows/gdi: Remove GL_NV_register_combiners and GL_NV_vertex_array_range exports
José Fonseca [Thu, 14 Jun 2012 11:02:03 +0000 (12:02 +0100)]
windows/gdi: Remove GL_NV_register_combiners and GL_NV_vertex_array_range exports

12 years agoglsl: Fix pi/2 constant in acos built-in function
Ian Romanick [Mon, 4 Jun 2012 17:20:36 +0000 (10:20 -0700)]
glsl: Fix pi/2 constant in acos built-in function

In single precision, 1.5707963 becomes 1.5707962513 which is too
small.  However, 1.5707964 becomes 1.5707963705 which is just right.
The value 1.5707964 is already used in asin.ir.

NOTE: This is a candidate for stable release branches.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Olivier Galibert <galibert@pobox.com>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
12 years agoglapi: Remove GL_NV_vertex_array_range from the dispatch table
Ian Romanick [Tue, 29 May 2012 19:50:54 +0000 (12:50 -0700)]
glapi: Remove GL_NV_vertex_array_range from the dispatch table

There is no GLX protocol for these functions.  Open-source Linux
driver have not supported this extension for many years, and it seems
unlikely at this point that this support will return.  There's no
reason to have slots for these functions in the dispatch table.

The unit tests (GetProcAddress::TableDidntShrink and others) are also updated.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Remove GL_NV_fence from the dispatch table
Ian Romanick [Tue, 29 May 2012 19:46:54 +0000 (12:46 -0700)]
glapi: Remove GL_NV_fence from the dispatch table

There is no GLX protocol for these functions.  No open-source Linux
driver has ever supported this extension, and it seems unlikely at
this point that one ever will.  There's no reason to have slots for
these functions in the dispatch table.

The unit tests (GetProcAddress::TableDidntShrink and others) are also updated.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Remove GL_NV_register_combiners from the dispatch table
Ian Romanick [Tue, 29 May 2012 19:41:08 +0000 (12:41 -0700)]
glapi: Remove GL_NV_register_combiners from the dispatch table

There is no GLX protocol for these functions.  No open-source Linux
driver has ever supported this extension, and it seems unlikely at
this point that one ever will.  There's no reason to have slots for
these functions in the dispatch table.

The unit tests (GetProcAddress::TableDidntShrink and others) are also updated.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Remove GL_APPLE_texture_range from the dispatch table
Ian Romanick [Tue, 29 May 2012 19:32:27 +0000 (12:32 -0700)]
glapi: Remove GL_APPLE_texture_range from the dispatch table

There is no GLX protocol for these functions, and no Linux driver has
ever supported this extension.  There's no reason to have slots for
these functions in the dispatch table.

The unit tests (GetProcAddress::TableDidntShrink and others) are also updated.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Remove GL_SGIX_pixel_texture from the dispatch table
Ian Romanick [Tue, 29 May 2012 19:23:36 +0000 (12:23 -0700)]
glapi: Remove GL_SGIX_pixel_texture from the dispatch table

There is no GLX protocol for this function.  Open-source Linux driver
have not supported this extension for many years, and it seems
unlikely at this point that this support will return.  There's no
reason to have slots for this function in the dispatch table.

The unit tests (GetProcAddress::TableDidntShrink and others) are also updated.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Remove GL_SGIS_pixel_texture from the dispatch table
Ian Romanick [Tue, 29 May 2012 19:15:11 +0000 (12:15 -0700)]
glapi: Remove GL_SGIS_pixel_texture from the dispatch table

There is no GLX protocol for these functions, and no Linux driver has
ever supported this extension.  There's no reason to have slots for
these functions in the dispatch table.

The unit tests (GetProcAddress::TableDidntShrink and others) are also updated.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agomesa/tests: Add tests for the generated dispatch table
Ian Romanick [Tue, 29 May 2012 18:28:11 +0000 (11:28 -0700)]
mesa/tests: Add tests for the generated dispatch table

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agomesa/tests: Add tests for _mesa_lookup_enum_by_{name,nr} functions
Ian Romanick [Fri, 25 May 2012 15:26:33 +0000 (08:26 -0700)]
mesa/tests: Add tests for _mesa_lookup_enum_by_{name,nr} functions

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Add missing GL_EXT_texture_sRGB_decode enums
Ian Romanick [Fri, 25 May 2012 19:35:21 +0000 (12:35 -0700)]
glapi: Add missing GL_EXT_texture_sRGB_decode enums

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Add missing GL_EXT_framebuffer_sRGB enums
Ian Romanick [Fri, 25 May 2012 19:35:04 +0000 (12:35 -0700)]
glapi: Add missing GL_EXT_framebuffer_sRGB enums

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Add missing GL_EXT_packed_float enums
Ian Romanick [Fri, 25 May 2012 19:34:51 +0000 (12:34 -0700)]
glapi: Add missing GL_EXT_packed_float enums

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Add missing framebuffer sRGB enum
Ian Romanick [Fri, 25 May 2012 19:33:57 +0000 (12:33 -0700)]
glapi: Add missing framebuffer sRGB enum

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Add uniform buffer object enums
Ian Romanick [Fri, 25 May 2012 19:13:23 +0000 (12:13 -0700)]
glapi: Add uniform buffer object enums

These are from OpenGL 3.1 and ARB_uniform_buffer_object.  I only added
them to 3.1 because that required the least work.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Add missing enums for GL_NV_fragment_program
Ian Romanick [Fri, 25 May 2012 19:12:58 +0000 (12:12 -0700)]
glapi: Add missing enums for GL_NV_fragment_program

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Add missing enums for GL_ARB_occlusion_query2
Ian Romanick [Fri, 25 May 2012 19:12:33 +0000 (12:12 -0700)]
glapi: Add missing enums for GL_ARB_occlusion_query2

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Remove extraneous GL_ from TEXTURE_IMMUTABLE_FORMAT
Ian Romanick [Fri, 25 May 2012 19:07:40 +0000 (12:07 -0700)]
glapi: Remove extraneous GL_ from TEXTURE_IMMUTABLE_FORMAT

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Add missing enums for GL_ATI_fragment_shader
Ian Romanick [Fri, 25 May 2012 18:39:59 +0000 (11:39 -0700)]
glapi: Add missing enums for GL_ATI_fragment_shader

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Add texture swizzle enums
Ian Romanick [Fri, 25 May 2012 18:34:42 +0000 (11:34 -0700)]
glapi: Add texture swizzle enums

These are from OpenGL 3.3, ARB_texture_swizzle, and
EXT_texture_swizzle (with different names).  I only added them to 3.3
because that required the least work.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Add a couple missing 3.0 enums
Ian Romanick [Fri, 25 May 2012 18:34:16 +0000 (11:34 -0700)]
glapi: Add a couple missing 3.0 enums

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agoglapi: Add missing _NV extension on COMBINE4
Ian Romanick [Fri, 25 May 2012 18:33:39 +0000 (11:33 -0700)]
glapi: Add missing _NV extension on COMBINE4

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>