profile/ivi/mesa.git
12 years agolinux: Default to dri not xlib on all arches
Adam Jackson [Wed, 1 Aug 2012 15:44:28 +0000 (11:44 -0400)]
linux: Default to dri not xlib on all arches

Even on s390{,x} where there's no video card, you still want this so GLX
protocol works.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
12 years agonv50,nvc0: make resolve sampler objects allow sRGB conversion
Christoph Bumiller [Tue, 31 Jul 2012 21:32:14 +0000 (23:32 +0200)]
nv50,nvc0: make resolve sampler objects allow sRGB conversion

Just figured out what that bit does.

Note: It's converted back to sRGB on write, so no effective
conversion occurs.

12 years agoRevert "gallium: specify resource_resolve destination via a pipe_surface"
Christoph Bumiller [Tue, 31 Jul 2012 13:56:09 +0000 (15:56 +0200)]
Revert "gallium: specify resource_resolve destination via a pipe_surface"

This reverts commit 5d5af7d359e0060fa00b90a8f04900b96f9058b0.

It turns out the issue this was supposed to fix merely counter-acted
a bug in the hardware driver that I wasn't aware of.

The resource_resolve is not supposed to do sRGB conversion, period.
(This would violate the requirement that source and destination must
be of the same format).

12 years agor200: get rid of dubious aux scissor bits
Roland Scheidegger [Fri, 27 Jul 2012 01:58:45 +0000 (03:58 +0200)]
r200: get rid of dubious aux scissor bits

no point in emitting aux scissor values if we
a) never enable them
b) never set the actual values

plus it is enough to have that aux scissor enable reg (which we never set to
enable) in one place not two.

12 years agoradeon/r200: get rid of some unneeded cliprect/scissor code
Roland Scheidegger [Fri, 27 Jul 2012 01:49:25 +0000 (03:49 +0200)]
radeon/r200: get rid of some unneeded cliprect/scissor code

Noone was interested in the number of cliprects, and noone cared
about the intersect result neither. So just nuke this.

12 years agor200: get rid of old gart memory functions from old dri1
Roland Scheidegger [Fri, 27 Jul 2012 01:46:41 +0000 (03:46 +0200)]
r200: get rid of old gart memory functions from old dri1

Those functions are SO dead.

12 years agoradeon/r200: fix bogus clears
Roland Scheidegger [Fri, 27 Jul 2012 01:43:11 +0000 (03:43 +0200)]
radeon/r200: fix bogus clears

There were several problems with these functions (which are a remnant
of dri1 hyperz mostly - should bring it back somehow someday).
First, it would always do a swrast clear if the buffer to clear was a fbo.
Second, for buffers we wouldn't handle the clear (I guess aux/accum?) we
would actually still have tried to clear that later even when we already
cleared it with swrast.

12 years agoradeon/r200: fix bogus assert/scissor wrt width/height 2048
Roland Scheidegger [Fri, 27 Jul 2012 02:03:45 +0000 (04:03 +0200)]
radeon/r200: fix bogus assert/scissor wrt width/height 2048

This addresses one issue raised in bug #51658 discovered by Eugene St Leger.
The assert is bogus since there's no problem with texture width/height being
2048 (the width/height programmed is width/height minus one).
OTOH though the programmed size for scissor rect should be width/height
minus one too otherwise bad things may happen (as it is inclusive, and there's
not enough bits for more than a value of 2047).

12 years agoradeon/llvm: fix calculation of max register number
Christian König [Tue, 31 Jul 2012 16:30:45 +0000 (18:30 +0200)]
radeon/llvm: fix calculation of max register number

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
12 years agoradeon/llvm: Add pseudo-support for 64-bit immediate types on SI
Tom Stellard [Tue, 31 Jul 2012 20:05:54 +0000 (20:05 +0000)]
radeon/llvm: Add pseudo-support for 64-bit immediate types on SI

SI does not support 64-bit immediates natively, but llvm will generate
i64 immediates when indexing loads and stores (since SI has 64-bit
pointers).  The i64 indices will always be small enough to fit into
32-bits (i.e. the high 32 bits will always be all zeros), so we can
treat these index values as 32-bits.

12 years agoradeon/llvm: Fix incorrect return value in SelectADDRReg()
Tom Stellard [Tue, 31 Jul 2012 16:17:59 +0000 (16:17 +0000)]
radeon/llvm: Fix incorrect return value in SelectADDRReg()

We need to return true when we match the pattern.

12 years agoradeon/llvm: Move SMRD IMM pattern before SMRD SGPR pattern
Tom Stellard [Tue, 31 Jul 2012 16:42:15 +0000 (16:42 +0000)]
radeon/llvm: Move SMRD IMM pattern before SMRD SGPR pattern

In tablegen, if two patterns match, the one that comes first in the file
is given preference.  We want the SMRD IMM pattern to be given
preference, because it encodes the pointer offset in its immediate
field, which saves us an add instruction.

12 years agoglsl: Reject linking shaders with too many uniform blocks.
Eric Anholt [Mon, 25 Jun 2012 19:47:01 +0000 (12:47 -0700)]
glsl: Reject linking shaders with too many uniform blocks.

Part of fixing piglit maxblocks.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agomesa: Return -1 for glGetUniformLocation on UBOs.
Eric Anholt [Mon, 25 Jun 2012 17:10:26 +0000 (10:10 -0700)]
mesa: Return -1 for glGetUniformLocation on UBOs.

Fixes piglit ARB_uniform_buffer_object/getuniformlocation.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agoglsl: Assign array and matrix stride values according to std140 layout.
Eric Anholt [Fri, 22 Jun 2012 21:34:33 +0000 (14:34 -0700)]
glsl: Assign array and matrix stride values according to std140 layout.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agoglsl: Add support for default layout qualifiers for uniforms.
Eric Anholt [Fri, 22 Jun 2012 20:36:35 +0000 (13:36 -0700)]
glsl: Add support for default layout qualifiers for uniforms.

I ended up having to add rallocing of the ast_type_qualifier in order
to avoid pulling in ast.h for glsl_parser_extras.h, because I wanted
to track an ast_type_qualifier in the state.

Fixes piglit ARB_uniform_buffer_object/row-major.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agoglsl: Merge UBO layout qualifiers in a qualifier list.
Eric Anholt [Fri, 22 Jun 2012 20:31:56 +0000 (13:31 -0700)]
glsl: Merge UBO layout qualifiers in a qualifier list.

Yes, you get to say things like "layout(row_major, column_major)" and
get column major.

Part of fixing piglit ARB_uniform_buffer_object/row_major.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agomesa: Add support for GL_ARB_ubo's glGetActiveUniformName().
Eric Anholt [Thu, 21 Jun 2012 21:58:58 +0000 (14:58 -0700)]
mesa: Add support for GL_ARB_ubo's glGetActiveUniformName().

This is like a stripped-down version of glGetActiveUniform that just
returns the name, since the other return values (type and size) of
that function are now meant to be handled with
glGetActiveUniformsiv().

Fixes piglit ARB_uniform_buffer_object/getactiveuniformname

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agomesa: Add support for most of the other pnames of glGetActiveUniformBlockiv().
Eric Anholt [Tue, 19 Jun 2012 21:29:49 +0000 (14:29 -0700)]
mesa: Add support for most of the other pnames of glGetActiveUniformBlockiv().

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agomesa: Add support for getting active uniform block names.
Eric Anholt [Tue, 19 Jun 2012 22:24:30 +0000 (15:24 -0700)]
mesa: Add support for getting active uniform block names.

Fixes piglit ARB_uniform_buffer_object/getactiveuniformblockname.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agomesa: Add support for glUniformBlockBinding() and the API to get it back.
Eric Anholt [Tue, 19 Jun 2012 20:43:00 +0000 (13:43 -0700)]
mesa: Add support for glUniformBlockBinding() and the API to get it back.

Fixes piglit ARB_uniform_buffer_object/uniformbufferbinding.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agoglsl: Incorporate all UBO language changes into GLSL 1.40.
Eric Anholt [Mon, 18 Jun 2012 23:47:04 +0000 (16:47 -0700)]
glsl: Incorporate all UBO language changes into GLSL 1.40.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agomesa: Add support for glGetProgramiv pnames for UBOs.
Eric Anholt [Thu, 14 Jun 2012 15:57:04 +0000 (08:57 -0700)]
mesa: Add support for glGetProgramiv pnames for UBOs.

Fixes piglit ARB_uniform_buffer_object/getprogramiv.

v2: Add extension checks.
v3: Appease MSVC.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agoglsl: Refactor #version validation to be more future-proof.
Kenneth Graunke [Tue, 31 Jul 2012 08:28:35 +0000 (01:28 -0700)]
glsl: Refactor #version validation to be more future-proof.

The previous implementation required a flag in _mesa_glsl_parse_state
and line of code to initialize it for every version of the shading
language we intend to support.  As we look to add 150, 330, 400, 410,
420, and beyond, this gets rather unwieldy.

This patch retains the switch statement (to reject, say, #version 111),
but removes all the bits.  Code to check for ctx->API == API_OPENGL_CORE
could easily be added to the 110 and 120 cases to reject those.

v2: Use _mesa_is_desktop_gl to preserve the existing behavior in the
    presence of the new API_OPENGL_CORE enumeration.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net> [v1]
12 years agoi965: Add support for GL_SKIP_DECODE_EXT on other SRGB formats.
Eric Anholt [Mon, 30 Jul 2012 18:04:57 +0000 (11:04 -0700)]
i965: Add support for GL_SKIP_DECODE_EXT on other SRGB formats.

Fixes some failures in getteximage-formats.

v2: Remove stray include, and drop extra test for encoding == GL_SRGB --
    _mesa_get_srgb_format_linear() returns the same format if it wasn't SRGB.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48120
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> (v1)
NOTE: This is a candidate for the 8.0 branch.

12 years agoglsl: Fix #pragma invariant(all) language version check.
Kenneth Graunke [Tue, 31 Jul 2012 17:40:43 +0000 (10:40 -0700)]
glsl: Fix #pragma invariant(all) language version check.

It was using state->Const.GLSL_100ES, which is set if the driver
supports ARB_ES2_compatibility or we're in ES2 mode.  Instead, it should
use state->language_version, as that represents the actual GLSL version
of the shader being compiled.

Since the correct logic is < 120 && !100, just make it == 110.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agomesa: Support glGetString(GL_SHADING_LANGUAGE_VERSION) for >= 1.40.
Kenneth Graunke [Thu, 26 Jul 2012 22:54:25 +0000 (15:54 -0700)]
mesa: Support glGetString(GL_SHADING_LANGUAGE_VERSION) for >= 1.40.

This will need to get refactored when we add support for core profiles
or forward-compatible contexts, but we may as well have it in the
meantime.  This allows us to override the GLSL version and experiment.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agoir_to_mesa: make size_swizzles[] array static const
Brian Paul [Tue, 31 Jul 2012 15:00:41 +0000 (09:00 -0600)]
ir_to_mesa: make size_swizzles[] array static const

12 years agoMove installing osmesa.pc to drivers/osmesa
Jon TURNEY [Thu, 26 Jul 2012 10:07:37 +0000 (11:07 +0100)]
Move installing osmesa.pc to drivers/osmesa

Move installing osmesa.pc to drivers/osmesa, where it belongs better

This also restores the installation of gl.pc if we are building osmesa at the
same time as libGL, which was broken in commit 39785488 when the .pc
installation was converted to automake

v2:
Remove HAVE_OSMESA_DRIVER automake conditional, it's now pointless as we
will only be building in the drivers/osmesa directory if the condition it
checked was true.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agogallium/util: Use GCC built-in functions for NaN and infinity.
Vinson Lee [Sun, 29 Jul 2012 22:12:05 +0000 (15:12 -0700)]
gallium/util: Use GCC built-in functions for NaN and infinity.

This patch fixes this build failure with Intel Compiler.

src/gallium/auxiliary/util/u_format_tests.c(903): error: floating-point operation result is out of range
     {PIPE_FORMAT_R16_FLOAT, PACKED_1x16(0xffff), PACKED_1x16(0x7c01), UNPACKED_1x1(        NAN, 0.0, 0.0, 1.0)},

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: José Fonseca <jfonseca@vmware.com>
12 years agomesa: don't enable legacy GL functions when using API_OPENGL_CORE
Jordan Justen [Tue, 24 Jul 2012 22:37:01 +0000 (15:37 -0700)]
mesa: don't enable legacy GL functions when using API_OPENGL_CORE

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agointel: add support for using API_OPENGL_CORE
Jordan Justen [Tue, 24 Jul 2012 21:52:33 +0000 (14:52 -0700)]
intel: add support for using API_OPENGL_CORE

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agometa: add support for using API_OPENGL_CORE
Jordan Justen [Tue, 24 Jul 2012 21:51:05 +0000 (14:51 -0700)]
meta: add support for using API_OPENGL_CORE

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agoglsl: add support for using API_OPENGL_CORE
Jordan Justen [Tue, 24 Jul 2012 21:48:57 +0000 (14:48 -0700)]
glsl: add support for using API_OPENGL_CORE

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agomesa: add support for using API_OPENGL_CORE
Jordan Justen [Thu, 19 Jul 2012 18:27:16 +0000 (11:27 -0700)]
mesa: add support for using API_OPENGL_CORE

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agomesa: add api check functions
Jordan Justen [Thu, 19 Jul 2012 18:01:27 +0000 (11:01 -0700)]
mesa: add api check functions

These functions make it easier to check for multiple API types.

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agomesa: add API_OPENGL_CORE api
Jordan Justen [Thu, 19 Jul 2012 17:38:28 +0000 (10:38 -0700)]
mesa: add API_OPENGL_CORE api

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agoglsl: Fix ir_last_opcode value.
Ian Romanick [Thu, 29 Mar 2012 17:51:24 +0000 (10:51 -0700)]
glsl: Fix ir_last_opcode value.

Now that ir_quadop_vector exists, ir_last_binop and ir_last_opcode are
no longer the same.  Only one place currently uses this enumeration, and
already handles ir_quadop_vector correctly.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Olivier Galibert <galibert@pobox.com>
12 years agoglsl: Request an Nx1 type instance in ir_quadop_vector lowering pass.
Ian Romanick [Thu, 22 Mar 2012 22:09:40 +0000 (15:09 -0700)]
glsl: Request an Nx1 type instance in ir_quadop_vector lowering pass.

No types have 0 columns.  The glsl_type::get_instance method contains

   if ((rows < 1) || (rows > 4) || (columns < 1) || (columns > 4))
      return error_type;

To get a vector, use columns = 1.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Olivier Galibert <galibert@pobox.com>
12 years agoglsl: Make bvec and ivec types accessible without using get_instance.
Kenneth Graunke [Thu, 26 Jul 2012 06:07:16 +0000 (23:07 -0700)]
glsl: Make bvec and ivec types accessible without using get_instance.

It's more convenient to use shortcuts like glsl_type::bvec2_type than
the longwinded glsl_type::get_instance(GLSL_TYPE_BOOL, 2, 1).

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Olivier Galibert <galibert@pobox.com>
12 years agoradeon/llvm: Cleanup AMDIL.h
Tom Stellard [Mon, 30 Jul 2012 16:28:50 +0000 (16:28 +0000)]
radeon/llvm: Cleanup AMDIL.h

12 years agoradeon/llvm: Rename all AMDIL* classes to AMDGPU*
Tom Stellard [Mon, 30 Jul 2012 15:57:50 +0000 (15:57 +0000)]
radeon/llvm: Rename all AMDIL* classes to AMDGPU*

12 years agoradeon/llvm: Merge AMDILSubtarget into AMDGPUSubtarget
Tom Stellard [Mon, 30 Jul 2012 15:51:21 +0000 (15:51 +0000)]
radeon/llvm: Merge AMDILSubtarget into AMDGPUSubtarget

12 years agoradeon/llvm: Merge AMDILTargetLowering class into AMDGPUTargetLowering
Tom Stellard [Mon, 30 Jul 2012 15:23:21 +0000 (15:23 +0000)]
radeon/llvm: Merge AMDILTargetLowering class into AMDGPUTargetLowering

12 years agoradeon/llvm: Remove IL_cmp DAG node
Tom Stellard [Mon, 30 Jul 2012 14:21:16 +0000 (14:21 +0000)]
radeon/llvm: Remove IL_cmp DAG node

12 years agoradeon/llvm: Cleanup and reorganize AMDIL .td files
Tom Stellard [Fri, 27 Jul 2012 21:04:36 +0000 (21:04 +0000)]
radeon/llvm: Cleanup and reorganize AMDIL .td files

12 years agoradeon/llvm: Remove lowering code for unsupported features
Tom Stellard [Fri, 27 Jul 2012 20:06:43 +0000 (20:06 +0000)]
radeon/llvm: Remove lowering code for unsupported features

e.g. function calls, load/store from stack

12 years agoradeon/llvm: Remove AMDILVersion.td
Tom Stellard [Fri, 27 Jul 2012 19:31:08 +0000 (19:31 +0000)]
radeon/llvm: Remove AMDILVersion.td

12 years agoradeon/llvm: Remove AMDILAlgorithms.tpp
Tom Stellard [Fri, 27 Jul 2012 19:26:31 +0000 (19:26 +0000)]
radeon/llvm: Remove AMDILAlgorithms.tpp

12 years agoradeon/llvm: Merge AMDILInstrInfo.cpp into AMDGPUInstrInfo.cpp
Tom Stellard [Fri, 27 Jul 2012 19:18:04 +0000 (19:18 +0000)]
radeon/llvm: Merge AMDILInstrInfo.cpp into AMDGPUInstrInfo.cpp

12 years agoradeon/llvm: Merge AMDILRegisterInfo into AMDGPURegisterInfo
Tom Stellard [Fri, 27 Jul 2012 18:54:46 +0000 (18:54 +0000)]
radeon/llvm: Merge AMDILRegisterInfo into AMDGPURegisterInfo

12 years agoradeon/llvm: Change the tablegen target from AMDIL to AMDGPU
Tom Stellard [Fri, 27 Jul 2012 17:46:40 +0000 (17:46 +0000)]
radeon/llvm: Change the tablegen target from AMDIL to AMDGPU

12 years agoi965: Support MESA_FORMAT_SIGNED_RGBA_16.
Kenneth Graunke [Sat, 9 Jun 2012 09:33:22 +0000 (02:33 -0700)]
i965: Support MESA_FORMAT_SIGNED_RGBA_16.

The hardware supports this format with no known quirks, so we may as
well enable it.

Alpha blending is not supported until Sandybridge, but as far as I can
tell, OpenGL doesn't require alpha blending on SNORM formats.  Plus, we
already expose R8G8B8A8_SNORM which has a similar restriction.

Fixes 6 piglit texwrap-2D-*SNORM* cases,
gl-3.1/required-sized-texture-formats, and 10 oglconform snorm-textures
subcases

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agogbm: Fix build for wayland include
Elvis Lee [Thu, 19 Jul 2012 04:54:05 +0000 (13:54 +0900)]
gbm: Fix build for wayland include

backends/gbm_dri.c fails to find wayland-server.h.

Signed-off-by: Elvis Lee <kwangwoong.lee@lge.com>
12 years agomesa: fix _math_matrix_copy(), again
Brian Paul [Mon, 30 Jul 2012 14:29:08 +0000 (08:29 -0600)]
mesa: fix _math_matrix_copy(), again

The matrix is 16 GLfloats in size.  Since from->inv is just a pointer (not
an array), sizeof(*from->inv) wasn't right.

12 years agomesa: Fix wrong sizeof argument in _math_matrix_copy.
Vinson Lee [Mon, 30 Jul 2012 00:54:55 +0000 (17:54 -0700)]
mesa: Fix wrong sizeof argument in _math_matrix_copy.

Fixes Coverity wrong sizeof argument defect.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Signed-off-by: Brian Paul <brianp@vmware.com>
12 years agoradeonsi: fix db and stencil setup v2
Christian König [Fri, 27 Jul 2012 19:57:40 +0000 (21:57 +0200)]
radeonsi: fix db and stencil setup v2

v2: fix tiling for small pitches, that finally makes
    glxgears and readPixSanity work

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
12 years agoradeonsi: fix stencil op mapping
Christian König [Thu, 26 Jul 2012 11:53:42 +0000 (13:53 +0200)]
radeonsi: fix stencil op mapping

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
12 years agoradeonsi: fix assertion in si_bind_vs_sampler
Christian König [Wed, 25 Jul 2012 20:45:08 +0000 (22:45 +0200)]
radeonsi: fix assertion in si_bind_vs_sampler

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
12 years agoradeonsi: fix shader binding
Christian König [Wed, 25 Jul 2012 20:39:15 +0000 (22:39 +0200)]
radeonsi: fix shader binding

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
12 years agoradeonsi: fix dummy export in shaders v2
Christian König [Wed, 25 Jul 2012 19:58:46 +0000 (21:58 +0200)]
radeonsi: fix dummy export in shaders v2

v2: add assertion for vertex shader

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
12 years agoradeonsi: fix vertex buffer and elements
Christian König [Wed, 25 Jul 2012 09:22:59 +0000 (11:22 +0200)]
radeonsi: fix vertex buffer and elements

Let's just use the T# descriptors until we get a fetch shader.

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
12 years agoradeonsi: fix shader size and handling
Christian König [Tue, 24 Jul 2012 16:50:49 +0000 (18:50 +0200)]
radeonsi: fix shader size and handling

We should always upload the shader here.

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
12 years agoradeonsi: rename r600_resource to si_resource
Christian König [Tue, 24 Jul 2012 16:47:19 +0000 (18:47 +0200)]
radeonsi: rename r600_resource to si_resource

Also split it into seperate header and add
some helper functions.

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
12 years agoglcpp: Add a newline to expanded #line directives.
Kenneth Graunke [Sat, 28 Jul 2012 20:04:53 +0000 (13:04 -0700)]
glcpp: Add a newline to expanded #line directives.

Otherwise, the preprocessor happily outputs

    #line 2 4 <your next line of code>

and the main compiler gets horribly confused and fails to compile.

This is not the right solution (line numbers in error messages will
likely be off-by-one in certain circumstances), but until Carl comes
up with a proper fix, this gets programs running again.

Fixes regressions in Regnum Online, Overgrowth, Piglit, and others since
commit aac78ce8234d96932c38b3f48b1d828077bc0027.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=51802
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=51506
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41152
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agogallium: specify resource_resolve destination via a pipe_surface
Christoph Bumiller [Wed, 25 Jul 2012 11:47:58 +0000 (13:47 +0200)]
gallium: specify resource_resolve destination via a pipe_surface

The format member of pipe_surface may differ from that of the
pipe_resource, which is used to communicate, for instance, whether
sRGB encode should be enabled in the resolve operation or not.

Fixes resolve to sRGB surfaces in mesa/st when GL_FRAMEBUFFER_SRGB
is disabled.

Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agost/mesa: call update_renderbuffer_surface for sRGB renderbuffers, too
Christoph Bumiller [Fri, 20 Jul 2012 18:57:45 +0000 (20:57 +0200)]
st/mesa: call update_renderbuffer_surface for sRGB renderbuffers, too

sRGBEnabled should affect both textures and renderbuffers, so we need
to check/update the pipe_surface format for both.

Fixes, for instance, rendering appearing too bright in wine applications
using sRGB multisample renderbuffers.

NOTE: This is a candidate for the 8.0 branch.

Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agonv50: fix depth/stencil multisample memory storage types
Christoph Bumiller [Wed, 25 Jul 2012 14:16:11 +0000 (16:16 +0200)]
nv50: fix depth/stencil multisample memory storage types

Leftover from libdrm_nouveau v2 interface change.

12 years agonv50: fix resource_resolve shader start offsets
Christoph Bumiller [Mon, 23 Jul 2012 11:04:34 +0000 (13:04 +0200)]
nv50: fix resource_resolve shader start offsets

12 years agost/mesa: undo a couple static asserts
Brian Paul [Fri, 27 Jul 2012 22:10:35 +0000 (16:10 -0600)]
st/mesa: undo a couple static asserts

Hmm, gcc didn't catch these mistakes, but MSVC did.

12 years agost/mesa: use STATIC_ASSERT in a few places
Brian Paul [Fri, 27 Jul 2012 21:45:27 +0000 (15:45 -0600)]
st/mesa: use STATIC_ASSERT in a few places

12 years agomesa: whitespace, etc. fixes in program.h
Brian Paul [Fri, 27 Jul 2012 21:43:53 +0000 (15:43 -0600)]
mesa: whitespace, etc. fixes in program.h

12 years agometa: fix glDrawPixels fallback test, stencil drawing
Brian Paul [Fri, 27 Jul 2012 14:22:44 +0000 (08:22 -0600)]
meta: fix glDrawPixels fallback test, stencil drawing

Remove the check for pixel transfer ops.  If any RGB/depth scale/bias
is in effect, it'll be applied in the glTexImage step.

If drawing stencil pixels we need to disable pixel transfer so that
alpha scale/bias are not applied to the stencil data.

These issues were spotted by Roland.

Fixes Blender performance issues reported in
http://bugs.freedesktop.org/show_bug.cgi?id=47375

NOTE: This is a candidate for the 8.0 branch.

Tested-by: Barto <mister.freeman@laposte.net>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
12 years agoradeon: fix 'sowftware' typo
Brian Paul [Thu, 26 Jul 2012 22:15:50 +0000 (16:15 -0600)]
radeon: fix 'sowftware' typo

12 years agoi965/gen7: Reduce GT1 WM thread count according to updated BSpec.
Eric Anholt [Fri, 27 Jul 2012 18:34:07 +0000 (11:34 -0700)]
i965/gen7: Reduce GT1 WM thread count according to updated BSpec.

Acked-by: Kenneth Graunke <kenneth@whitecape.org>
https://bugs.freedesktop.org/show_bug.cgi?id=52382

12 years agoi965: Fix typo in shader channel select field name.
Kenneth Graunke [Fri, 27 Jul 2012 18:24:19 +0000 (11:24 -0700)]
i965: Fix typo in shader channel select field name.

"chanel" isn't very searchable.  I can type, honest!

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoi965/msaa: Use MESA_FORMAT_R8 for MCS buffer.
Paul Berry [Thu, 26 Jul 2012 21:13:35 +0000 (14:13 -0700)]
i965/msaa: Use MESA_FORMAT_R8 for MCS buffer.

No functional change.  This patch modifies intel_miptree_alloc_mcs to
allocate the 4x MCS buffer using MESA_FORMAT_R8 instead of
MESA_FORMAT_A8.  In principle it doesn't matter, since we only access
the buffer using MCS-specific hardware mechanisms, so all that's
important is to use a format with the correct size.  However,
MESA_FORMAT_A8 has enough unusual behaviours that it seems prudent to
avoid it.

Acked-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agointel: increase wm thread number to 80 on gen6 GT2
Zou Nan hai [Thu, 26 Jul 2012 22:04:02 +0000 (06:04 +0800)]
intel: increase wm thread number to 80 on gen6 GT2

It seems reset is not required for setting the max_wm_threads to 80
on gen6 GT2.

Increases performance in the Counter-Strike: Source video stress test
by 7.18% (n=5).

Signed-off-by: Zou Nan hai <nanhai.zou@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Tested-by: Matt Turner <mattst88@gmail.com>
Acked-by: Eric Anholt <eric@anholt.net>
12 years agor600g: Emit dispatch state for compute directly to the cs
Tom Stellard [Tue, 24 Jul 2012 16:59:05 +0000 (16:59 +0000)]
r600g: Emit dispatch state for compute directly to the cs

We no longer rely on an evergreen_compute_resource for emitting dispatch
state.

Reviewed-by: Marek Olšák <maraeo@gmail.com>
12 years agor600g: Initialize VGT_PRIMITIVE_TYPE in the start_cs_cmd atom
Tom Stellard [Tue, 24 Jul 2012 14:49:25 +0000 (14:49 +0000)]
r600g: Initialize VGT_PRIMITIVE_TYPE in the start_cs_cmd atom

The value of this register will always be DI_PT_POINTLIST for compute
shaders.

Reviewed-by: Marek Olšák <maraeo@gmail.com>
12 years agor600g: Atomize compute shader state
Tom Stellard [Tue, 24 Jul 2012 14:23:12 +0000 (14:23 +0000)]
r600g: Atomize compute shader state

Reviewed-by: Marek Olšák <maraeo@gmail.com>
12 years agor600g: Add helper functions for emitting compute SET_CONTEXT packets
Tom Stellard [Tue, 24 Jul 2012 17:33:19 +0000 (17:33 +0000)]
r600g: Add helper functions for emitting compute SET_CONTEXT packets

Reviewed-by: Marek Olšák <maraeo@gmail.com>
12 years agoradeon/llvm: Add instruction defs for branches on SI
Tom Stellard [Wed, 25 Jul 2012 12:56:08 +0000 (08:56 -0400)]
radeon/llvm: Add instruction defs for branches on SI

12 years agoradeon/llvm: Fix VOPC and V_CNDMASK encoding
Tom Stellard [Thu, 26 Jul 2012 12:41:00 +0000 (08:41 -0400)]
radeon/llvm: Fix VOPC and V_CNDMASK encoding

12 years agoradeon/llvm: Assert if we try to copy SCC reg
Tom Stellard [Wed, 25 Jul 2012 12:46:35 +0000 (08:46 -0400)]
radeon/llvm: Assert if we try to copy SCC reg

12 years agoradeon/llvm: Add SI DAG optimizations for setcc, select_cc
Tom Stellard [Wed, 25 Jul 2012 12:40:30 +0000 (08:40 -0400)]
radeon/llvm: Add SI DAG optimizations for setcc, select_cc

These are needed for correctly lowering branch instructions in some
cases.

12 years agoradeon/llvm: Add support for encoding SI branch instructions
Tom Stellard [Wed, 25 Jul 2012 12:32:43 +0000 (08:32 -0400)]
radeon/llvm: Add support for encoding SI branch instructions

12 years agoradeon/llvm: Add special nodes for SALU operations on VCC
Tom Stellard [Wed, 25 Jul 2012 12:30:32 +0000 (08:30 -0400)]
radeon/llvm: Add special nodes for SALU operations on VCC

The VCC register is tricky because the SALU views it as 64-bit, but the
VALU views it as 1-bit.  In order to deal with this we've added some
special bitcast and binary operations to help convert from the 64-bit
SALU view to the 1-bit VALU view and vice versa.

12 years agoradeon/llvm: Add i1 registers for SI.
Tom Stellard [Wed, 25 Jul 2012 12:27:50 +0000 (08:27 -0400)]
radeon/llvm: Add i1 registers for SI.

12 years agoradeon/llvm: Fix CCReg definitions on SI
Tom Stellard [Wed, 25 Jul 2012 12:33:34 +0000 (08:33 -0400)]
radeon/llvm: Fix CCReg definitions on SI

12 years agoradeonsi: Enable PIPE_SHADER_CAP_INTEGERS
Tom Stellard [Wed, 25 Jul 2012 12:22:30 +0000 (08:22 -0400)]
radeonsi: Enable PIPE_SHADER_CAP_INTEGERS

12 years agoradeonsi: Add support for loading integers from constant memory
Tom Stellard [Wed, 25 Jul 2012 12:23:52 +0000 (08:23 -0400)]
radeonsi: Add support for loading integers from constant memory

12 years agoradeon/llvm: Add bitconvert patterns for SI
Tom Stellard [Thu, 19 Jul 2012 17:29:15 +0000 (13:29 -0400)]
radeon/llvm: Add bitconvert patterns for SI

12 years agoradeon/llvm: Add custom lowering for SELECT_CC nodes on SI
Tom Stellard [Thu, 19 Jul 2012 17:28:25 +0000 (13:28 -0400)]
radeon/llvm: Add custom lowering for SELECT_CC nodes on SI

12 years agoradeon/llvm: Move conditional pattern leafs to common tablegen file
Tom Stellard [Thu, 19 Jul 2012 17:26:41 +0000 (13:26 -0400)]
radeon/llvm: Move conditional pattern leafs to common tablegen file

12 years agoradeon/llvm: Implement getSetCCResultType for SI
Tom Stellard [Wed, 25 Jul 2012 12:41:29 +0000 (08:41 -0400)]
radeon/llvm: Implement getSetCCResultType for SI

12 years agoradeon/llvm: Custom lower BR_CC for SI
Tom Stellard [Wed, 18 Jul 2012 17:39:00 +0000 (13:39 -0400)]
radeon/llvm: Custom lower BR_CC for SI

12 years agoradeon/llvm: Move lowering of BR_CC node to R600ISelLowering
Tom Stellard [Wed, 18 Jul 2012 16:47:11 +0000 (12:47 -0400)]
radeon/llvm: Move lowering of BR_CC node to R600ISelLowering

SI will handle BR_CC different from R600, so we need to move it
out of the shared instruction selector.

12 years agoradeon/llvm: Move lowering of SETCC node to R600ISelLowering
Tom Stellard [Wed, 18 Jul 2012 16:26:45 +0000 (12:26 -0400)]
radeon/llvm: Move lowering of SETCC node to R600ISelLowering

SI will handle SETCC different from R600, so we need to move it
out of the shared instruction selector.

12 years agoradeon/llvm: Use correct node type when lowering SETCC
Tom Stellard [Wed, 18 Jul 2012 16:22:33 +0000 (12:22 -0400)]
radeon/llvm: Use correct node type when lowering SETCC