mesa.git
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

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

12 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

12 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

12 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

12 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>
12 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.

12 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

12 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

12 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.

12 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

12 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.

12 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

12 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

12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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

12 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

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

12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 years agomesa: add fall-through comment, just to be clear
Brian Paul [Fri, 28 Sep 2012 03:04:39 +0000 (21:04 -0600)]
mesa: add fall-through comment, just to be clear

12 years agomesa: remove useless GLenum casts
Brian Paul [Fri, 28 Sep 2012 03:00:43 +0000 (21:00 -0600)]
mesa: remove useless GLenum casts

12 years agomesa: add const qualifier in check_for_ending() to silence warning
Brian Paul [Sat, 29 Sep 2012 14:24:44 +0000 (08:24 -0600)]
mesa: add const qualifier in check_for_ending() to silence warning

12 years agoi965: Complain about variable index lowering when INTEL_DEBUG=perf.
Kenneth Graunke [Wed, 19 Sep 2012 20:27:59 +0000 (13:27 -0700)]
i965: Complain about variable index lowering when INTEL_DEBUG=perf.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agoi965: Dump linked shaders on MESA_GLSL=dump.
Kenneth Graunke [Wed, 19 Sep 2012 20:27:58 +0000 (13:27 -0700)]
i965: Dump linked shaders on MESA_GLSL=dump.

Often, the original shader IR isn't terribly interesting because a lot
of crucial optimizations haven't been done (such as inlining built-ins).

ir_to_mesa used to print this out for us, but since we don't use it, we
have to do it ourselves.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agoglsl: Rename variable_entry2 back to variable_entry in struct splitting.
Kenneth Graunke [Wed, 19 Sep 2012 20:27:57 +0000 (13:27 -0700)]
glsl: Rename variable_entry2 back to variable_entry in struct splitting.

The anonymous namespace should keep these private classes to file scope,
preventing clashes with other symbols of the same name elsewhere.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agointel/i965: Disable SampleAlphaToOne if dual source blending enabled
Anuj Phogat [Fri, 21 Sep 2012 22:16:38 +0000 (15:16 -0700)]
intel/i965: Disable SampleAlphaToOne if dual source blending enabled

From SandyBridge PRM, volume 2 Part 1, section 12.2.3, BLEND_STATE:
DWord 1, Bit 30 (AlphaToOne Enable):
"If Dual Source Blending is enabled, this bit must be disabled"

Note: This is a candidate for stable branches.

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agoscons: Disable build of assembly sources on Cygwin.
Vinson Lee [Fri, 28 Sep 2012 06:21:09 +0000 (23:21 -0700)]
scons: Disable build of assembly sources on Cygwin.

The assembly sources currently do not build on Cygwin.

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
12 years agomesa: allow MESA_GL_VERSION_OVERRIDE to override the API type
Jordan Justen [Sat, 1 Sep 2012 08:38:08 +0000 (01:38 -0700)]
mesa: allow MESA_GL_VERSION_OVERRIDE to override the API type

Change the format to MAJOR.MINOR[FC]
For example: 2.1, 3.0FC, 3.1

The FC suffix indicates a forward compatible context, and
is only valid for versions >= 3.0.

Examples:
2.1:   GL Legacy/Compatibility context
3.0:   GL Legacy/Compatibility context
3.0FC: GL Core Profile context + Forward Compatible
3.1:   GL Core Profile context
3.1FC: GL Core Profile context + Forward Compatible

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agoi965: brwInitVtbl needs to know the chipset generation
Ian Romanick [Fri, 28 Sep 2012 22:38:26 +0000 (15:38 -0700)]
i965: brwInitVtbl needs to know the chipset generation

Fixes major regressions since de958de.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agoi915: Don't free the intel_context structure when intelCreateContext fails.
Ian Romanick [Thu, 27 Sep 2012 00:57:01 +0000 (17:57 -0700)]
i915: Don't free the intel_context structure when intelCreateContext fails.

intelDestroyContext will eventually be called, and it will clean things up.

NOTE: This is a candidate for the 9.0 branch.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=53618

12 years agoi965: Don't free the intel_context structure when intelCreateContext fails.
Ian Romanick [Fri, 31 Aug 2012 21:55:21 +0000 (14:55 -0700)]
i965: Don't free the intel_context structure when intelCreateContext fails.

intelDestroyContext will eventually be called, and it will clean things
up.  The call to brwInitVtbl is moved earlier so that
intelDestroyContext can call the device-specific destructor.  This also
makes the code look more like the i915 code.

NOTE: This is a candidate for the 9.0 branch.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54301

12 years agointel: Don't call intelDestroyContext if there is no context to destroy
Ian Romanick [Fri, 28 Sep 2012 15:29:12 +0000 (08:29 -0700)]
intel: Don't call intelDestroyContext if there is no context to destroy

Some error paths in the device-specific context creation functions can exit
before the deintel_context structure is allocated.

NOTE: This is a candidate for the 9.0 branch.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=53618
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54301

12 years agodri_util: Use calloc to allocate __DRIcontext
Ian Romanick [Wed, 26 Sep 2012 18:08:11 +0000 (11:08 -0700)]
dri_util: Use calloc to allocate __DRIcontext

The __DRIcontext contains some pointers, and some drivers check for them to be
NULL in some failure paths.  Instead of sprinkling NULL assignments across the
various drivers, just zero out the whole thing.

NOTE: This is a candidate for the 9.0 branch.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-and-tested-by: Kenneth Graunke <kenneth@whitecape.org>
Tested-by: Lu Hua <huax.lu@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=53618
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54301

12 years agomain/version: add "(Core Profile) to version string for core profiles
Jordan Justen [Tue, 4 Sep 2012 22:49:01 +0000 (15:49 -0700)]
main/version: add "(Core Profile) to version string for core profiles

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoglx: Fix compile warnings since 99fee476a102be898a1a093c037e06382f90a5b9
Eric Anholt [Tue, 25 Sep 2012 17:02:06 +0000 (10:02 -0700)]
glx: Fix compile warnings since 99fee476a102be898a1a093c037e06382f90a5b9

_glapi_table is a struct full of named function pointers, while the generated
code just wants to treat it as an array of function pointers.  Cast to avoid
the compiler warning.

Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agomesa/tests: Sanity check the ES2 dispatch table
Ian Romanick [Thu, 2 Aug 2012 05:19:01 +0000 (22:19 -0700)]
mesa/tests: Sanity check the ES2 dispatch table

This test is only built when shared-glapi is used.  Because of changes
elsewhere in the tree that were necessary to make shared-glapi work
correct with GLX, it's not feasible to make the test function both ways.

The list of expected functions originally came from the functions set by
api_exec_es2.c.  This file no longer exists in Mesa (but api_exec_es1.c
is still generated).  It was the generated file that configured the
dispatch table for ES2 contexts.  This test verifies that all of the
functions set by the old api_exec_es2.c (with the recent addition of VAO
functions) are set in the dispatch table and everything else is a NOP.

When adding ES2 (or ES3) extensions that add new functions, this test
will need to be modified to expect dispatch functions for the new
extension functions.

v2: Expect VAO functions be non-NOP.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agomesa/main: Make no-op dispatch function public
Ian Romanick [Thu, 2 Aug 2012 05:18:16 +0000 (22:18 -0700)]
mesa/main: Make no-op dispatch function public

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agomesa/tests: Move stub function to a separate file
Ian Romanick [Thu, 2 Aug 2012 05:15:12 +0000 (22:15 -0700)]
mesa/tests: Move stub function to a separate file

When building with shared-glapi, we can just use Mesa's _mesa_warning without
problems.  stubs.cpp is only used when shared-glapi is not used.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
12 years agomesa: Don't set uniform dispatch pointers for many things in ES2 or core
Ian Romanick [Wed, 5 Sep 2012 21:15:30 +0000 (14:15 -0700)]
mesa: Don't set uniform dispatch pointers for many things in ES2 or core

NOTE: This is a candidate for the 9.0 branch

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agomesa: Don't set shaderapi dispatch pointers for many things in ES2 or core
Ian Romanick [Wed, 5 Sep 2012 21:14:13 +0000 (14:14 -0700)]
mesa: Don't set shaderapi dispatch pointers for many things in ES2 or core

v2: Allow GL_ARB_shader_objects functions in core profile because we
still expose the extension string there.  Don't allow
glBindFragDataLocation in GLES3 because it's not part of that API.
Based (mostly) on review comments from Eric Anholt.

NOTE: This is a candidate for the 9.0 branch

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agomesa: Don't set vtxfmt dispatch pointers for many things in ES2 or core
Ian Romanick [Wed, 5 Sep 2012 21:11:33 +0000 (14:11 -0700)]
mesa: Don't set vtxfmt dispatch pointers for many things in ES2 or core

NOTE: This is a candidate for the 9.0 branch

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agomesa: Don't set loopback dispatch pointers for most things in ES2 or core
Ian Romanick [Wed, 5 Sep 2012 21:10:23 +0000 (14:10 -0700)]
mesa: Don't set loopback dispatch pointers for most things in ES2 or core

NOTE: This is a candidate for the 9.0 branch

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agomesa: Pass GL context to _mesa_create_save_table
Ian Romanick [Wed, 5 Sep 2012 15:12:18 +0000 (08:12 -0700)]
mesa: Pass GL context to _mesa_create_save_table

This isn't used by this patch, but it will be necessary for several
follow-on patches.  Separating this out will make it easier to reorder
patches later.

NOTE: This is a candidate for the 9.0 branch

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agomesa: Don't set dispatch pointer for glTexStorage in ES2
Ian Romanick [Wed, 5 Sep 2012 21:07:50 +0000 (14:07 -0700)]
mesa: Don't set dispatch pointer for glTexStorage in ES2

NOTE: This is a candidate for the 9.0 branch

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agomesa: Don't set dispatch pointer for glGetProgramivARB in ES2
Ian Romanick [Wed, 5 Sep 2012 21:06:18 +0000 (14:06 -0700)]
mesa: Don't set dispatch pointer for glGetProgramivARB in ES2

This function is not the same as glGetProgramiv.

NOTE: This is a candidate for the 9.0 branch

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agomesa: Don't set dispatch pointer for glResizeBuffersMESA in ES2
Ian Romanick [Wed, 5 Sep 2012 21:04:13 +0000 (14:04 -0700)]
mesa: Don't set dispatch pointer for glResizeBuffersMESA in ES2

NOTE: This is a candidate for the 9.0 branch

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agomesa: Don't set dispatch pointers for glPointParameter[if][v] in ES2
Ian Romanick [Wed, 5 Sep 2012 21:01:42 +0000 (14:01 -0700)]
mesa: Don't set dispatch pointers for glPointParameter[if][v] in ES2

NOTE: This is a candidate for the 9.0 branch

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agomesa: Don't set dispatch pointers for glClearDepth or glDepthRange in ES2
Ian Romanick [Wed, 5 Sep 2012 21:00:40 +0000 (14:00 -0700)]
mesa: Don't set dispatch pointers for glClearDepth or glDepthRange in ES2

NOTE: This is a candidate for the 9.0 branch

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agomesa: Don't set dispatch pointer for glGetBufferSubData in ES2
Ian Romanick [Wed, 5 Sep 2012 15:48:32 +0000 (08:48 -0700)]
mesa: Don't set dispatch pointer for glGetBufferSubData in ES2

NOTE: This is a candidate for the 9.0 branch

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agomesa: Don't set dispatch pointer for glGetDoublev in ES2
Ian Romanick [Wed, 5 Sep 2012 15:21:04 +0000 (08:21 -0700)]
mesa: Don't set dispatch pointer for glGetDoublev in ES2

NOTE: This is a candidate for the 9.0 branch

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agomesa: Don't set dispatch pointer for glPointSize in ES2
Ian Romanick [Wed, 5 Sep 2012 15:16:23 +0000 (08:16 -0700)]
mesa: Don't set dispatch pointer for glPointSize in ES2

NOTE: This is a candidate for the 9.0 branch

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agomesa: Set dispatch pointer for glShaderBinary
Ian Romanick [Wed, 5 Sep 2012 14:49:50 +0000 (07:49 -0700)]
mesa: Set dispatch pointer for glShaderBinary

NOTE: This is a candiate for stable branches

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agogles2: Alias glReadBufferNV with desktop glReadBuffer
Ian Romanick [Thu, 2 Aug 2012 05:09:08 +0000 (22:09 -0700)]
gles2: Alias glReadBufferNV with desktop glReadBuffer

NOTE: This is a candidate for the 9.0 branch

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Cc: Kristian Høgsberg <krh@bitplanet.net>
12 years agointel: Fix yet-another-bug in intel_texsubimage_tiled_memcpy
Chad Versace [Thu, 27 Sep 2012 18:05:34 +0000 (11:05 -0700)]
intel: Fix yet-another-bug in intel_texsubimage_tiled_memcpy

The most recent commit that touched this function,

    commit b1d0fe022dc4826dadce014ab8fe062a82f75a16
    Author: Chad Versace <chad.versace@linux.intel.com>
    Date:   Wed Sep 26 11:05:12 2012 -0700

        intel: Fix segfault in intel_texsubimage_tiled_memcpy

did fix the segfault, but introduced yet another bug. From Anholt: """You
need to still test format/type, because that's the incoming format (e.g.
GL_RGBA/GL_FLOAT) that you're trying to memcpy."""

This patch re-introduces the checks on the incoming format and type.

Note: This is a candidate for the 9.0 branch.
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>