mesa.git
11 years agometa: Don't use GLSL 1.30 shader on OpenGL ES 2
Ian Romanick [Fri, 5 Oct 2012 22:22:54 +0000 (15:22 -0700)]
meta: Don't use GLSL 1.30 shader on OpenGL ES 2

Fixes GLES2 CoverageGL conformance test.

NOTE: This is a candidate for the 9.0 branch.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
11 years agometa: Rearrange shader creation in setup_glsl_generate_mipmap
Ian Romanick [Fri, 5 Oct 2012 22:13:34 +0000 (15:13 -0700)]
meta: Rearrange shader creation in setup_glsl_generate_mipmap

The diff looks weird, but this moves the code from the first 'if
(ctx->Const.GLSLVersion < 130)' block down into the second block.  It
also moves some variable decalarations closer to their use.

NOTE: This is a candidate for the 9.0 branch.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
11 years agometa: Remove unsafe global mem_ctx pointer
Ian Romanick [Fri, 5 Oct 2012 22:11:31 +0000 (15:11 -0700)]
meta: Remove unsafe global mem_ctx pointer

NOTE: This is a candidate for the 9.0 branch.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
11 years agoi915g: Call draw_set_mapped_vertex_buffer from draw_vbo
Stéphane Marchesin [Sat, 6 Oct 2012 20:08:36 +0000 (13:08 -0700)]
i915g: Call draw_set_mapped_vertex_buffer from draw_vbo

This regressed with the draw rework. Fixes glest and vdrift crash.

11 years agor600g: fix possible issue with stencil mipmap rendering
Marek Olšák [Sat, 6 Oct 2012 03:23:47 +0000 (05:23 +0200)]
r600g: fix possible issue with stencil mipmap rendering

Somehow I only hit this issue with my latest libdrm changes.
This won't be needed with DB texturing.

NOTE: This is a candidate for the 9.0 branch.

11 years agor600g: ensure PERFECT_ZPASS+NOOP_CULL_DISABLE are 0 for blits+decompression
Marek Olšák [Sat, 29 Sep 2012 01:33:29 +0000 (03:33 +0200)]
r600g: ensure PERFECT_ZPASS+NOOP_CULL_DISABLE are 0 for blits+decompression

When an occlusion query was active, the derived DB state wasn't changed
for u_blitter even though all the occlusion queries were suspended.

It's fixed by moving the state update into the emit functions, which are
called whenever queries are stopped or suspended.

11 years agor600g: don't modify pipe_resource in resource_copy_region, fixing race condition
Marek Olšák [Sun, 23 Sep 2012 21:12:17 +0000 (23:12 +0200)]
r600g: don't modify pipe_resource in resource_copy_region, fixing race condition

pipe_resource can be shared between contexts, we shouldn't modify its
description. Instead, let's use the resource "views" (sampler views and
surfaces), where we can freely change almost any property of a resource.

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

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

11 years agogallium: allow debug helpers in the release build
Marek Olšák [Thu, 4 Oct 2012 20:31:49 +0000 (22:31 +0200)]
gallium: allow debug helpers in the release build

No idea why this is #ifdef'd. Trace and Noop are definitely useful no matter
how Mesa is built.

Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agomesa: remove the driverCtx parameter to _mesa_create/initialize_context()
Brian Paul [Sat, 29 Sep 2012 14:47:56 +0000 (08:47 -0600)]
mesa: remove the driverCtx parameter to _mesa_create/initialize_context()

No longer used.

11 years agomesa: remove unused gl_context::DriverCtx field
Brian Paul [Sat, 29 Sep 2012 14:47:56 +0000 (08:47 -0600)]
mesa: remove unused gl_context::DriverCtx field

11 years agoradeon/r200: remove use of gl_context::DriverCtx field
Brian Paul [Sat, 29 Sep 2012 14:47:55 +0000 (08:47 -0600)]
radeon/r200: remove use of gl_context::DriverCtx field

11 years agoradeon/r200: make radeon_context subclass of gl_context
Brian Paul [Sat, 29 Sep 2012 14:47:55 +0000 (08:47 -0600)]
radeon/r200: make radeon_context subclass of gl_context

radeon_context now contains a gl_context, rather than a pointer to one.
This will allow some minor core Mesa clean-up.

11 years agomesa: Flag _NEW_VARYING_VP_INPUTS when TexEnv programs are active.
Kenneth Graunke [Tue, 2 Oct 2012 03:11:38 +0000 (20:11 -0700)]
mesa: Flag _NEW_VARYING_VP_INPUTS when TexEnv programs are active.

The idea here is to not flag _NEW_VARYING_VP_INPUTS when shaders (either
GLSL or ARB vp/fp) are in use.  If either TNL or TexEnv programs are
active, at least one stage is using fixed function.

On Pineview, fixes 20 Piglit, 60 oglconforms, and 7 ES 1.1 conformance
tests, as well as missing textures in Xonotic.  These were all
regressions since commit fb4a34e60eb4c1bdc7b0fdcd98d1bf3038c354e8.

NOTE: This is a candidate for the 9.0 branch.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=49127
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54807
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
11 years agoi915g: Get rid of the fixup state functions.
Stéphane Marchesin [Fri, 5 Oct 2012 00:57:31 +0000 (17:57 -0700)]
i915g: Get rid of the fixup state functions.

Now that the saved_* state is gone, we don't need those any longer.

11 years agoi915g: Remove the i915_context->saved_* stuff.
Stéphane Marchesin [Fri, 5 Oct 2012 00:37:37 +0000 (17:37 -0700)]
i915g: Remove the i915_context->saved_* stuff.

When using u_blitter, the state was being saved from saved_*, but we
don't use that. So after u_blitter resumed we got some corrupted
state in.

So let's just remove the saved_* stuff. I thought it was weird but
harmless, it's actually broken.

11 years agoi915g: Don't update I915_HW_PROGRAM in update_framebuffer
Stéphane Marchesin [Fri, 5 Oct 2012 00:33:22 +0000 (17:33 -0700)]
i915g: Don't update I915_HW_PROGRAM in update_framebuffer

It's already going to be updated in update_dst_buf_vars.

11 years agoRevert "i915g: Don't bind 0-length programs"
Stéphane Marchesin [Fri, 5 Oct 2012 19:43:49 +0000 (12:43 -0700)]
Revert "i915g: Don't bind 0-length programs"

This reverts commit 8c28a9bd733f5b51ab459c6bc626a5aaac5a6c0c.

11 years agoglapi: Do not use backtrace on Cygwin.
Vinson Lee [Sat, 29 Sep 2012 22:22:14 +0000 (15:22 -0700)]
glapi: Do not use backtrace on Cygwin.

execinfo.h is not available on Cygwin.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agomesa: don't enable glVertexPointer() when using API_OPENGLES2.
Paul Berry [Wed, 3 Oct 2012 21:20:17 +0000 (14:20 -0700)]
mesa: don't enable glVertexPointer() when using API_OPENGLES2.

This function is only present in GLES1 and in the OpenGL compatibility
profile.

Fixes the following "make check" failure:

    [----------] 1 test from DispatchSanity_test
    [ RUN      ] DispatchSanity_test.GLES2
    Mesa warning: couldn't open libtxc_dxtn.so, software DXTn
    compression/decompression unavailable
    dispatch_sanity.cpp:122: Failure
    Value of: table[i]
       Actual: 0x4de54e
    Expected: (_glapi_proc) _mesa_generic_nop
    Which is: 0x41af72
    i = 321
    [  FAILED  ] DispatchSanity_test.GLES2 (4 ms)
    [----------] 1 test from DispatchSanity_test (4 ms total)

NOTE: This is a candidate for stable release branches.

Reviewed-by: Oliver McFadden <oliver.mcfadden@linux.intel.com>
Tested-by: Oliver McFadden <oliver.mcfadden@linux.intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
11 years agoi915g: Don't bind 0-length programs
Stéphane Marchesin [Thu, 4 Oct 2012 04:06:56 +0000 (21:06 -0700)]
i915g: Don't bind 0-length programs

Since we started doing fixups for different render target formats,
this has been an issue. Instead just don't do anything, when the
program gets emitted later it'll get the correct fixup.

Fixes a bunch of piglit tests.

11 years agomesa: don't call TexImage driver hooks for zero-sized images
Brian Paul [Tue, 2 Oct 2012 15:51:12 +0000 (09:51 -0600)]
mesa: don't call TexImage driver hooks for zero-sized images

This simply avoids some failed assertions but there's no reason to
call the driver hooks for storing a tex image if its size is zero.

Note: This is a candidate for the stable branches.

11 years agointel: Fix intel_texsubimage_tiled_memcpy to skip GL_EXT_unpack_subimage case
Rob Bradford [Tue, 2 Oct 2012 13:18:39 +0000 (14:18 +0100)]
intel: Fix intel_texsubimage_tiled_memcpy to skip GL_EXT_unpack_subimage case

413c49141 added an optimisation to improve the performance of teximage
under a limited set of circumstances. If GL_EXT_unpack_subimage has been
used then we we must also skip this optimisation since the optimised
codepath does not take the packing values into consideration.

Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
11 years agodri drivers: Link dricommon before dynamic libraries
Matt Turner [Mon, 1 Oct 2012 20:00:18 +0000 (13:00 -0700)]
dri drivers: Link dricommon before dynamic libraries

I think libtool should be handling this for us, but the build fails for
Jordan because libdricommon (a static library, which uses expat) appears
before -lexpat on the linker command.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Tested-by: Jordan Justen <jordan.l.justen@intel.com>
11 years agoregister_allocate: don't consider trivially colorable registers for spilling.
Paul Berry [Fri, 28 Sep 2012 21:21:38 +0000 (14:21 -0700)]
register_allocate: don't consider trivially colorable registers for spilling.

Previously, we considered all registers as candidates for spilling.
This was counterproductive--for any registers that have already been
removed from the interference graph, there is no benefit to spilling
them, since they don't contribute to register pressure.

This patch ensures that we will only try to spill registers that are
still in the interference graph after register allocation has failed.

This is consistent with the recommendations of the paper "Retargetable
Graph-Coloring Register Allocation for Irregular Architectures", on
which our register allocator is based.

Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
11 years agoglx/dri2: use uint64_t instead of double to represent time for FPS calculation
Marek Olšák [Sun, 30 Sep 2012 19:41:33 +0000 (21:41 +0200)]
glx/dri2: use uint64_t instead of double to represent time for FPS calculation

Wine or a windows app changes fpucw to 0x7f, causing doubles to be equivalent
to floats, which broke the calculation of FPS.
We should be very careful about using doubles in Mesa.

Henri Verbeet adds:
  For reference, this is done by for example d3d9 when a D3D device is
  created without D3DCREATE_FPU_PRESERVE set. In the general case
  applications can do all kinds of terrible things to the FPU control
  word of course.

11 years agomesa: tests: EnumStrings.LookUpByNumber
Oliver McFadden [Mon, 1 Oct 2012 23:31:03 +0000 (02:31 +0300)]
mesa: tests: EnumStrings.LookUpByNumber

[ RUN      ] EnumStrings.LookUpByNumber
enum_strings.cpp:43: Failure
Value of: _mesa_lookup_enum_by_nr(everything[i].value)
  Actual: "GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE"
Expected: everything[i].name
Which is: "GL_COMPRESSED_RGBA_S3TC_DXT3_EXT"
enum_strings.cpp:43: Failure
Value of: _mesa_lookup_enum_by_nr(everything[i].value)
  Actual: "GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE"
Expected: everything[i].name
Which is: "GL_COMPRESSED_RGBA_S3TC_DXT5_EXT"
[  FAILED  ] EnumStrings.LookUpByNumber (2 ms)

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55505
Signed-off-by: Oliver McFadden <oliver.mcfadden@linux.intel.com>
11 years agodocs: add link to the GLSL compiler page
Andreas Boll [Tue, 2 Oct 2012 13:38:17 +0000 (15:38 +0200)]
docs: add link to the GLSL compiler page

This reverts commit 9e0931e355a21ff9902a4127cc63b392d8def0cd

Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agodocs: update shading documentation
Andreas Boll [Tue, 2 Oct 2012 13:35:27 +0000 (15:35 +0200)]
docs: update shading documentation

Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agobuild: Remove autoconf check for signbit
Matt Turner [Wed, 3 Oct 2012 05:50:02 +0000 (22:50 -0700)]
build: Remove autoconf check for signbit

rebase failure in 7da12426f7682ffc44ae40e31d1b5712521fbb70.

11 years agoi915g: Implement srgb textures the easy way.
Stéphane Marchesin [Mon, 1 Oct 2012 08:57:33 +0000 (01:57 -0700)]
i915g: Implement srgb textures the easy way.

Since the hw can do it, let's use the hw. It's less accurate
but doesn't have the shader instruction count shortcomings.

11 years agoi915g: Use X tiling for textures
Stéphane Marchesin [Tue, 11 Sep 2012 03:56:29 +0000 (20:56 -0700)]
i915g: Use X tiling for textures

This is what the classic driver does, and it allows faster
texture uploads.

11 years agoSwapBuffersRegionNOK: invert rectangles on y axis
Robert Bragg [Tue, 18 Sep 2012 15:10:03 +0000 (16:10 +0100)]
SwapBuffersRegionNOK: invert rectangles on y axis

The EGL_NOK_swap_region2 spec states that the rectangles are specified
with a bottom-left origin within a surface coordinate space also with a
bottom left origin, so this patch ensures the rectangles are flipped
before passing them on to dri2_copy_region.

Fixes piglit's egl-nok-swap-region test.

Tested-by: Matt Turner <mattst88@gmail.com>
11 years agomesa: remove bogus compressed texture size checks
Brian Paul [Tue, 2 Oct 2012 15:52:55 +0000 (09:52 -0600)]
mesa: remove bogus compressed texture size checks

A compressed texture image size doesn't have to be a multiple of the
compressed block size (only sub-images do).  Fixes issues when building
compressed mipmaps because we often wind up with non-block-size images
for the higher mipmap levels.

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

Note: This is a candidate for the stable branches.

Reviewed-by: Eric Anholt <eric@anholt.net>
Tested-by: Sven Arvidsson <sa@whiz.se>
11 years agoradeonsi: Fix double compilation of shader variants.
Michel Dänzer [Thu, 27 Sep 2012 14:39:26 +0000 (16:39 +0200)]
radeonsi: Fix double compilation of shader variants.

Fixes crash in piglit glsl-max-varyings.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
11 years agoradeonsi: Better indexing of parameters in the pixel shader.
Michel Dänzer [Thu, 27 Sep 2012 18:01:33 +0000 (20:01 +0200)]
radeonsi: Better indexing of parameters in the pixel shader.

We were previously using the TGSI input index, which can exceed the number of
parameters passed from the vertex shader via the parameter cache. Now we use
a separate index which only counts those parameters.

Prevents piglit regressions with the following fix.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
11 years agoradeon/llvm: Disable SI flow control again for now.
Michel Dänzer [Thu, 27 Sep 2012 12:15:44 +0000 (14:15 +0200)]
radeon/llvm: Disable SI flow control again for now.

It makes piglit unreliable due to VM protection faults and GPU lockups.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
11 years agodocs/helpwanted: cleanup todo list links
Andreas Boll [Tue, 2 Oct 2012 12:05:44 +0000 (14:05 +0200)]
docs/helpwanted: cleanup todo list links

split into common and driver specific To-Do lists
add an explanation for each To-Do list

Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agodocs: document how to apply a candidate to a stable branch
Andreas Boll [Tue, 2 Oct 2012 11:55:53 +0000 (13:55 +0200)]
docs: document how to apply a candidate to a stable branch

Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agodocs: document how to mark a candidate for a stable branch
Andreas Boll [Tue, 2 Oct 2012 11:37:34 +0000 (13:37 +0200)]
docs: document how to mark a candidate for a stable branch

Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agoandroid: glcpp: fix abuse of yylex
Negreanu Marius Adrian [Fri, 28 Sep 2012 14:36:40 +0000 (17:36 +0300)]
android: glcpp: fix abuse of yylex

Port the 'glcpp: fix abuse of yylex' commit to Android.mk
Also, since the Android.*.mk are sourced in a global namespace,
the local-y-to-c-and-h is prefixed with the LOCAL_MODULE name,

The initial fix commit is 53d46bc787318ccf9911fdd1d5fe99ee4db7f41a

There's also a bugzilla for this: 54947

Signed-off-by: Negreanu Marius Adrian <adrian.m.negreanu@intel.com>
Reviewed-by: Oliver McFadden <oliver.mcfadden@linux.intel.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
11 years agobuild: Don't build libdricore if not building classic drivers
Matt Turner [Thu, 20 Sep 2012 22:08:02 +0000 (15:08 -0700)]
build: Don't build libdricore if not building classic drivers

11 years agolibdricore: Remove dead C(XX)FLAGS_NOVISIBILITY
Matt Turner [Thu, 13 Sep 2012 21:53:35 +0000 (14:53 -0700)]
libdricore: Remove dead C(XX)FLAGS_NOVISIBILITY

11 years agobuild: Add visibility CFLAGS to OSMesa
Matt Turner [Thu, 27 Sep 2012 22:35:15 +0000 (15:35 -0700)]
build: Add visibility CFLAGS to OSMesa

11 years agobuild: Link OSMesa with glapi, libdl, libstdc++
Matt Turner [Thu, 27 Sep 2012 20:56:27 +0000 (13:56 -0700)]
build: Link OSMesa with glapi, libdl, libstdc++

Bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=399813
          https://bugs.freedesktop.org/show_bug.cgi?id=53179

11 years agobuild: Set visibility CFLAGS in dri/swrast
Matt Turner [Thu, 27 Sep 2012 20:29:08 +0000 (13:29 -0700)]
build: Set visibility CFLAGS in dri/swrast

11 years agobuild: Set visibility CFLAGS in dri/r200
Matt Turner [Thu, 27 Sep 2012 20:29:01 +0000 (13:29 -0700)]
build: Set visibility CFLAGS in dri/r200

11 years agobuild: Set visibility CFLAGS in dri/radeon
Matt Turner [Thu, 27 Sep 2012 20:28:54 +0000 (13:28 -0700)]
build: Set visibility CFLAGS in dri/radeon

11 years agobuild: Set visibility CFLAGS in dri/nouveau
Matt Turner [Thu, 27 Sep 2012 20:28:45 +0000 (13:28 -0700)]
build: Set visibility CFLAGS in dri/nouveau

11 years agobuild: Set visibility CFLAGS in dri/i915
Matt Turner [Thu, 27 Sep 2012 20:28:37 +0000 (13:28 -0700)]
build: Set visibility CFLAGS in dri/i915

11 years agobuild: Set visibility CFLAGS in dri/common
Matt Turner [Thu, 27 Sep 2012 20:28:27 +0000 (13:28 -0700)]
build: Set visibility CFLAGS in dri/common

11 years agobuild: Build src/glsl with visibility CFLAGS
Matt Turner [Thu, 27 Sep 2012 20:13:25 +0000 (13:13 -0700)]
build: Build src/glsl with visibility CFLAGS

11 years agobuild: Turn on visibility CFLAGS for core mesa
Matt Turner [Thu, 20 Sep 2012 22:56:10 +0000 (15:56 -0700)]
build: Turn on visibility CFLAGS for core mesa

11 years agobuild: Order src/Makefile correctly
Matt Turner [Mon, 24 Sep 2012 21:30:21 +0000 (14:30 -0700)]
build: Order src/Makefile correctly

11 years agobuild: Use AX_PTHREAD's HAVE_PTHREAD preprocessor definition
Matt Turner [Wed, 19 Sep 2012 05:09:26 +0000 (22:09 -0700)]
build: Use AX_PTHREAD's HAVE_PTHREAD preprocessor definition

11 years agobuild: Use PTHREAD_LIBS and PTHREAD_CFLAGS
Matt Turner [Wed, 19 Sep 2012 04:51:25 +0000 (21:51 -0700)]
build: Use PTHREAD_LIBS and PTHREAD_CFLAGS

11 years agobuild: Set PTHREAD_LIBS for pkgconfig files if empty
Matt Turner [Thu, 27 Sep 2012 22:49:52 +0000 (15:49 -0700)]
build: Set PTHREAD_LIBS for pkgconfig files if empty

11 years agollvmpipe: Fix build with LLVM 2.8
Tom Stellard [Mon, 1 Oct 2012 20:19:43 +0000 (16:19 -0400)]
llvmpipe: Fix build with LLVM 2.8

Commit 8d9778589f4b3a174e884338adb0fe1bdeca5eb7 added all-targets to the
LLVM_COMPONENTS list, but this component does not exist with LLVM 2.8.

Adding all-targets is not necessary for any drivers, and it seems to be
left over from earlier versions of the commit mentioned above.

Tested-by: Stéphane Marchesin <marcheu@chromium.org>
11 years agoconfigure.ac: Use amdgpu component for LLVM 3.2
Tom Stellard [Mon, 1 Oct 2012 21:00:00 +0000 (21:00 +0000)]
configure.ac: Use amdgpu component for LLVM 3.2

The amdgpu component actually does exist.  I must have been using an
older version of llvm-config by accident when I first made this change.

11 years agoradeon/llvm: Only initialize the AMDGPU target
Tom Stellard [Mon, 1 Oct 2012 21:01:06 +0000 (21:01 +0000)]
radeon/llvm: Only initialize the AMDGPU target

11 years agoradeon: Fix build with LLVM 3.1
Tom Stellard [Mon, 1 Oct 2012 19:47:31 +0000 (15:47 -0400)]
radeon: Fix build with LLVM 3.1

The build was broken by commit 8d9778589f4b3a174e884338adb0fe1bdeca5eb7

11 years agoradeon: Support LLVM 3.2
Tom Stellard [Thu, 10 May 2012 14:21:54 +0000 (10:21 -0400)]
radeon: Support LLVM 3.2

LLVM 3.2 and newer requires that the R600/SI backend be part of the
LLVM tree.

11 years agor600g: Re-enable growing of the compute memory pool
Tom Stellard [Thu, 13 Sep 2012 17:09:03 +0000 (17:09 +0000)]
r600g: Re-enable growing of the compute memory pool

11 years agor600g: Fix bug when adding new items to the compute memory pool
Tom Stellard [Thu, 13 Sep 2012 17:11:32 +0000 (17:11 +0000)]
r600g: Fix bug when adding new items to the compute memory pool

The items are ordered in the item list by their offsets, with the lowest
offset coming first in the list.  The old code was assuming that new
items being added to the list would always have a greater offset than
the first item in the list, however this is not always the case.

11 years agor600g: Use a RAT buffer as the backing bo for the compute memory pool
Tom Stellard [Thu, 13 Sep 2012 17:03:41 +0000 (17:03 +0000)]
r600g: Use a RAT buffer as the backing bo for the compute memory pool

11 years agor600g: Make sure to init the compute memory pool with enough memory
Tom Stellard [Thu, 13 Sep 2012 17:10:09 +0000 (17:10 +0000)]
r600g: Make sure to init the compute memory pool with enough memory

11 years agor600g: Add evergreen_init_color_surface_rat() v2
Tom Stellard [Tue, 25 Sep 2012 17:46:18 +0000 (17:46 +0000)]
r600g: Add evergreen_init_color_surface_rat() v2

This can be used to initialize the CB* registers for buffers without a
radeon_surface.

v2:
  - Get correct group_bytes value from r600_screen
  - Stop setting unnecessary fields

Reviewed-by: Marek Olšák <maraeo@gmail.com>
11 years agor600g: Add register field definitions for 028C70_RESOURCE_TYPE
Tom Stellard [Tue, 25 Sep 2012 17:47:28 +0000 (17:47 +0000)]
r600g: Add register field definitions for 028C70_RESOURCE_TYPE

Reviewed-by: Marek Olšák <maraeo@gmail.com>
11 years agointel: add support for ANGLE_texture_compression_dxt.
Oliver McFadden [Wed, 26 Sep 2012 17:59:50 +0000 (20:59 +0300)]
intel: add support for ANGLE_texture_compression_dxt.

Signed-off-by: Oliver McFadden <oliver.mcfadden@linux.intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agoradeonsi: emit PA_SU_PRIM_FILTER_CNTL
Alex Deucher [Fri, 28 Sep 2012 23:04:44 +0000 (19:04 -0400)]
radeonsi: emit PA_SU_PRIM_FILTER_CNTL

has no default value.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <deathsimple@vodafone.de>
11 years agoradeonsi: remove some old r600g cruft
Alex Deucher [Fri, 28 Sep 2012 22:19:02 +0000 (18:19 -0400)]
radeonsi: remove some old r600g cruft

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <deathsimple@vodafone.de>
11 years agoradeonsi: fix range checking for state regs
Alex Deucher [Fri, 28 Sep 2012 16:09:16 +0000 (12:09 -0400)]
radeonsi: fix range checking for state regs

end value is exclusive, but in practice we shouldn't
hit this.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Christian König <deathsimple@vodafone.de>
11 years agoradeonsi: drop some cayman remnants
Alex Deucher [Fri, 28 Sep 2012 15:06:48 +0000 (11:06 -0400)]
radeonsi: drop some cayman remnants

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <deathsimple@vodafone.de>
11 years agoradeonsi: define SGPR register numbers
Christian König [Wed, 26 Sep 2012 18:42:23 +0000 (20:42 +0200)]
radeonsi: define SGPR register numbers

Instead of hardcoding them.

Signed-off-by: Christian König <deathsimple@vodafone.de>
11 years agonvc0: make sure handles for unbound textures/samplers are uploaded on nve4
Christoph Bumiller [Wed, 11 Jul 2012 18:52:58 +0000 (20:52 +0200)]
nvc0: make sure handles for unbound textures/samplers are uploaded on nve4

11 years agonv50,nvc0: fix 3d engine blit for nvc0
Christoph Bumiller [Sun, 30 Sep 2012 20:59:34 +0000 (22:59 +0200)]
nv50,nvc0: fix 3d engine blit for nvc0

11 years agonv50,nvc0: implement blit
Christoph Bumiller [Wed, 26 Sep 2012 21:06:40 +0000 (23:06 +0200)]
nv50,nvc0: implement blit

11 years agogallium: remove resource_resolve
Marek Olšák [Thu, 13 Sep 2012 17:38:25 +0000 (19:38 +0200)]
gallium: remove resource_resolve

The functionality is provided by the new blit function.

Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agost/mesa: implement decompress_with_blit using gallium blit
Marek Olšák [Wed, 12 Sep 2012 23:05:08 +0000 (01:05 +0200)]
st/mesa: implement decompress_with_blit using gallium blit

Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agost/mesa: implement BlitFramebuffer using gallium blit
Marek Olšák [Wed, 12 Sep 2012 22:57:39 +0000 (00:57 +0200)]
st/mesa: implement BlitFramebuffer using gallium blit

This also fixes a lot tests, especially all the clip-and-scissor-blit MSAA
piglit tests.

Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agosvga: implement blit
Marek Olšák [Wed, 12 Sep 2012 22:50:54 +0000 (00:50 +0200)]
svga: implement blit

Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agosoftpipe: implement blit
Marek Olšák [Wed, 12 Sep 2012 22:48:58 +0000 (00:48 +0200)]
softpipe: implement blit

Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agoradeonsi: implement blit
Marek Olšák [Thu, 13 Sep 2012 16:48:51 +0000 (18:48 +0200)]
radeonsi: implement blit

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agor600g: implement blit
Marek Olšák [Wed, 12 Sep 2012 22:45:05 +0000 (00:45 +0200)]
r600g: implement blit

Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agor300g: implement blit
Marek Olšák [Wed, 12 Sep 2012 22:38:44 +0000 (00:38 +0200)]
r300g: implement blit

Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agonv30: implement blit
Marek Olšák [Wed, 12 Sep 2012 22:36:06 +0000 (00:36 +0200)]
nv30: implement blit

Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agonv30: use util_format_is_supported
Marek Olšák [Wed, 12 Sep 2012 22:36:37 +0000 (00:36 +0200)]
nv30: use util_format_is_supported

Hardware drivers *must* use it.

Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agollvmpipe: implement blit
Marek Olšák [Wed, 12 Sep 2012 22:34:56 +0000 (00:34 +0200)]
llvmpipe: implement blit

Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agoi915g: implement blit
Marek Olšák [Wed, 12 Sep 2012 22:34:01 +0000 (00:34 +0200)]
i915g: implement blit

Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agogallium: implement blit in driver wrappers
Marek Olšák [Wed, 12 Sep 2012 22:12:22 +0000 (00:12 +0200)]
gallium: implement blit in driver wrappers

Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agogallium: add helpers for dumping pipe_box and pipe_blit_info
Marek Olšák [Wed, 12 Sep 2012 20:18:37 +0000 (22:18 +0200)]
gallium: add helpers for dumping pipe_box and pipe_blit_info

Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agogallium/u_blitter: add helper for blitting via resource_copy_region
Marek Olšák [Wed, 12 Sep 2012 21:45:49 +0000 (23:45 +0200)]
gallium/u_blitter: add helper for blitting via resource_copy_region

v2: fix off-by-one error in is_box_inside_resource, add comments

Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agogallium/u_blitter: add gallium blit implementation
Marek Olšák [Wed, 12 Sep 2012 21:37:17 +0000 (23:37 +0200)]
gallium/u_blitter: add gallium blit implementation

The original blit function is extended and the otAher functions reuse it.

Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agogallium/u_blitter: add ability to disable and restore the render condition
Marek Olšák [Wed, 12 Sep 2012 21:33:50 +0000 (23:33 +0200)]
gallium/u_blitter: add ability to disable and restore the render condition

Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agogallium/u_blitter: facilitate co-existence with the Draw module
Marek Olšák [Wed, 12 Sep 2012 21:14:57 +0000 (23:14 +0200)]
gallium/u_blitter: facilitate co-existence with the Draw module

Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agogallium/u_blitter: check PIPE_CAP_TEXTURE_MULTISAMPLE
Marek Olšák [Wed, 12 Sep 2012 20:29:23 +0000 (22:29 +0200)]
gallium/u_blitter: check PIPE_CAP_TEXTURE_MULTISAMPLE

Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agogallium: add blit into the interface
Marek Olšák [Tue, 11 Sep 2012 23:36:31 +0000 (01:36 +0200)]
gallium: add blit into the interface

Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agogallium: add PIPE_CAP_TEXTURE_MULTISAMPLE
Marek Olšák [Tue, 11 Sep 2012 20:41:20 +0000 (22:41 +0200)]
gallium: add PIPE_CAP_TEXTURE_MULTISAMPLE

Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agosoftpipe: fix set_framebuffer_state with uninitialized surfaces past nr_cbufs-1
Marek Olšák [Wed, 12 Sep 2012 22:46:54 +0000 (00:46 +0200)]
softpipe: fix set_framebuffer_state with uninitialized surfaces past nr_cbufs-1

Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
11 years agoscons: Use full path of texture_builtins.py.
Vinson Lee [Sat, 29 Sep 2012 06:41:29 +0000 (23:41 -0700)]
scons: Use full path of texture_builtins.py.

Fixes this build error on Cygwin.
Explicit dependency `src/glsl/builtins/tools/texture_builtins.py' not
found, needed by target
`build/cygwin-x86-debug/glsl/builtin_function.cpp'.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>