mesa.git
13 years agotargets/egl-static: fix nouveau and vmwgfx for Android
Chia-I Wu [Fri, 26 Aug 2011 03:30:47 +0000 (11:30 +0800)]
targets/egl-static: fix nouveau and vmwgfx for Android

drmVersion and driver specific ioctls are used to get the PCI ID from a
DRM fd.  Eexpand the mechanism to nouveau and vmwgfx, except that for
nouveau, only the vendor ID is needed, and for vmwgfx, always assume
SVGA II.

13 years agopci_ids: add vmwgfx pci id list
Chia-I Wu [Wed, 24 Aug 2011 05:48:25 +0000 (13:48 +0800)]
pci_ids: add vmwgfx pci id list

There is only one chipset

 15ad:0405 VMware SVGA II Adapter

13 years agomapi: Commit generated files modified by previous commit
Ian Romanick [Fri, 26 Aug 2011 00:31:03 +0000 (17:31 -0700)]
mapi: Commit generated files modified by previous commit

Some of the changes are spurious because somebody forgot to do this
when adding glFramebufferTextureLayerARB.

13 years agomapi: Silence many "warning: unused parameter"
Ian Romanick [Fri, 26 Aug 2011 00:27:08 +0000 (17:27 -0700)]
mapi: Silence many "warning: unused parameter"

When generating dispatch templates, emit the '(void) blah;' magic to
make GCC happy.  This reduces a lot of warning spam if you build with
-Wunused-parameter or -Wextra.

Reviewed-by: Chia-I Wu <olv@lunarg.com>
13 years agomesa/tnl_dd: Remove unused source tree mesa/tnl_dd/imm
Ian Romanick [Thu, 25 Aug 2011 20:54:46 +0000 (13:54 -0700)]
mesa/tnl_dd: Remove unused source tree mesa/tnl_dd/imm

Acked-by: Kristian Høgsberg <krh@bitplanet.net>
Acked-by: Marek Olšák <maraeo@gmail.com>
Acked-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Jakob Bornecrantz <jakob@vmware.com>
Acked-by: Dave Airlie <airlied@redhat.com>
Build-Tested-by: Jakob Bornecrantz <jakob@vmware.com>
Tested-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
13 years agomesa/tnl_dd: Remove unused header file t_dd_vbtmp.h
Ian Romanick [Thu, 25 Aug 2011 20:51:57 +0000 (13:51 -0700)]
mesa/tnl_dd: Remove unused header file t_dd_vbtmp.h

Acked-by: Kristian Høgsberg <krh@bitplanet.net>
Acked-by: Marek Olšák <maraeo@gmail.com>
Acked-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Jakob Bornecrantz <jakob@vmware.com>
Acked-by: Dave Airlie <airlied@redhat.com>
Build-Tested-by: Jakob Bornecrantz <jakob@vmware.com>
Tested-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
13 years agomesa/tnl_dd: Remove unused header file t_dd_rendertmp.h
Ian Romanick [Thu, 25 Aug 2011 20:45:02 +0000 (13:45 -0700)]
mesa/tnl_dd: Remove unused header file t_dd_rendertmp.h

Acked-by: Kristian Høgsberg <krh@bitplanet.net>
Acked-by: Marek Olšák <maraeo@gmail.com>
Acked-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Jakob Bornecrantz <jakob@vmware.com>
Acked-by: Dave Airlie <airlied@redhat.com>
Build-Tested-by: Jakob Bornecrantz <jakob@vmware.com>
Tested-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
13 years agomesa: Remove support for BeOS
Ian Romanick [Thu, 25 Aug 2011 15:25:09 +0000 (08:25 -0700)]
mesa: Remove support for BeOS

Acked-by: Kristian Høgsberg <krh@bitplanet.net>
Acked-by: Marek Olšák <maraeo@gmail.com>
Acked-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Jakob Bornecrantz <jakob@vmware.com>
Acked-by: Dave Airlie <airlied@redhat.com>
Build-Tested-by: Jakob Bornecrantz <jakob@vmware.com>
Tested-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
13 years agodri: Remove unused header files mmx.h and spantmp.h
Ian Romanick [Wed, 24 Aug 2011 23:18:43 +0000 (16:18 -0700)]
dri: Remove unused header files mmx.h and spantmp.h

These header files were only used by drivers removed in a previous commit.

Acked-by: Kristian Høgsberg <krh@bitplanet.net>
Acked-by: Marek Olšák <maraeo@gmail.com>
Acked-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Jakob Bornecrantz <jakob@vmware.com>
Acked-by: Dave Airlie <airlied@redhat.com>
Build-Tested-by: Jakob Bornecrantz <jakob@vmware.com>
Tested-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
13 years agodri: Remove driRenderbuffer::backBuffer field
Ian Romanick [Wed, 24 Aug 2011 22:40:49 +0000 (15:40 -0700)]
dri: Remove driRenderbuffer::backBuffer field

The tdfx driver was the only user.

Acked-by: Kristian Høgsberg <krh@bitplanet.net>
Acked-by: Marek Olšák <maraeo@gmail.com>
Acked-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Jakob Bornecrantz <jakob@vmware.com>
Acked-by: Dave Airlie <airlied@redhat.com>
Build-Tested-by: Jakob Bornecrantz <jakob@vmware.com>
Tested-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
13 years agodri: Remove all DRI1 drivers
Ian Romanick [Wed, 24 Aug 2011 22:21:58 +0000 (15:21 -0700)]
dri: Remove all DRI1 drivers

Acked-by: Kristian Høgsberg <krh@bitplanet.net>
Acked-by: Marek Olšák <maraeo@gmail.com>
Acked-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Jakob Bornecrantz <jakob@vmware.com>
Acked-by: Dave Airlie <airlied@redhat.com>
Build-Tested-by: Jakob Bornecrantz <jakob@vmware.com>
Tested-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
13 years agomesa: Remove obsolete Windows gldirect and ICD drivers
Ian Romanick [Wed, 24 Aug 2011 21:56:36 +0000 (14:56 -0700)]
mesa: Remove obsolete Windows gldirect and ICD drivers

Acked-by: Kristian Høgsberg <krh@bitplanet.net>
Acked-by: Marek Olšák <maraeo@gmail.com>
Acked-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Jakob Bornecrantz <jakob@vmware.com>
Acked-by: Dave Airlie <airlied@redhat.com>
Build-Tested-by: Jakob Bornecrantz <jakob@vmware.com>
Tested-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
13 years agomesa: Remove obsolete linux-fbdev software driver
Ian Romanick [Wed, 24 Aug 2011 21:50:12 +0000 (14:50 -0700)]
mesa: Remove obsolete linux-fbdev software driver

Acked-by: Kristian Høgsberg <krh@bitplanet.net>
Acked-by: Marek Olšák <maraeo@gmail.com>
Acked-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Jakob Bornecrantz <jakob@vmware.com>
Acked-by: Dave Airlie <airlied@redhat.com>
Build-Tested-by: Jakob Bornecrantz <jakob@vmware.com>
Tested-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
13 years agomesa: Remove stray, unused file
Ian Romanick [Wed, 24 Aug 2011 22:23:53 +0000 (15:23 -0700)]
mesa: Remove stray, unused file

Acked-by: Kristian Høgsberg <krh@bitplanet.net>
Acked-by: Marek Olšák <maraeo@gmail.com>
Acked-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Jakob Bornecrantz <jakob@vmware.com>
Acked-by: Dave Airlie <airlied@redhat.com>
Build-Tested-by: Jakob Bornecrantz <jakob@vmware.com>
Tested-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
13 years agoi965: Factor our source lists into Makefile.sources
Chad Versace [Fri, 26 Aug 2011 22:52:16 +0000 (15:52 -0700)]
i965: Factor our source lists into Makefile.sources

In preparation for porting i965 to Android, factor its source lists into
a shared makefile. This prevents duplication of source lists, and hence
prevents the Android from breaking as often.

Acked-by: Chia-I Wu <olv@lunarg.com>
Signed-off-by: Chad Versace <chad@chad-versace.us>
13 years agoMerge branch 'master' of git://anongit.freedesktop.org/mesa/mesa
Stéphane Marchesin [Sat, 27 Aug 2011 00:37:25 +0000 (17:37 -0700)]
Merge branch 'master' of git://anongit.freedesktop.org/mesa/mesa

13 years agog3dvl: use pointer_to_uintptr() to silence a cast warning
Brian Paul [Fri, 26 Aug 2011 20:16:20 +0000 (14:16 -0600)]
g3dvl: use pointer_to_uintptr() to silence a cast warning

13 years agodocs: Add a page on post-processing
Lauri Kasanen [Thu, 25 Aug 2011 20:26:17 +0000 (23:26 +0300)]
docs: Add a page on post-processing

With edits by Brian.

Signed-off-by: Lauri Kasanen <cand@gmx.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
13 years agosvga: include LLVM in name string in debug builds
Brian Paul [Fri, 26 Aug 2011 19:56:39 +0000 (13:56 -0600)]
svga: include LLVM in name string in debug builds

13 years agopp: initialize the sample mask
Christoph Bumiller [Fri, 26 Aug 2011 19:45:26 +0000 (21:45 +0200)]
pp: initialize the sample mask

We cannot rely on pipe drivers to default to non-zero.

Fixes pp being a no-op on nv50.

Reviewed-by: Lauri Kasanen <cand@gmx.com>
13 years agost/xorg: Fix solid fills for formats other than PICT_a8r8g8b8.
Michel Dänzer [Tue, 23 Aug 2011 16:07:51 +0000 (18:07 +0200)]
st/xorg: Fix solid fills for formats other than PICT_a8r8g8b8.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
13 years agor600g: Hook up xorg state tracker.
Michel Dänzer [Mon, 22 Aug 2011 13:44:42 +0000 (15:44 +0200)]
r600g: Hook up xorg state tracker.

Mostly copied from r300g.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
13 years agor600g: Handle PIPE_TRANSFER_MAP_DIRECTLY.
Michel Dänzer [Mon, 22 Aug 2011 13:44:43 +0000 (15:44 +0200)]
r600g: Handle PIPE_TRANSFER_MAP_DIRECTLY.

If the state tracker tries to map the resource directly but we can't or don't
want to do that, fail to create a transfer.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
13 years agost/xorg: Disable dirty throttling by default.
Michel Dänzer [Mon, 22 Aug 2011 13:44:42 +0000 (15:44 +0200)]
st/xorg: Disable dirty throttling by default.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
13 years agost/xorg: Only damage non-front source in DRI2 CopyRegion hook.
Michel Dänzer [Mon, 22 Aug 2011 13:44:42 +0000 (15:44 +0200)]
st/xorg: Only damage non-front source in DRI2 CopyRegion hook.

Based on a vmwgfx xa/saa fix.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
13 years agog3dvl: s/inline/INLINE/ to fix MSVC build
Brian Paul [Fri, 26 Aug 2011 14:24:01 +0000 (08:24 -0600)]
g3dvl: s/inline/INLINE/ to fix MSVC build

13 years agog3dvl: fix compilation failure on MSVC
Brian Paul [Fri, 26 Aug 2011 14:10:24 +0000 (08:10 -0600)]
g3dvl: fix compilation failure on MSVC

I assume the intention of "mb = {}" was to zero-initialize it.

13 years agoscons: don't compile some files with -gstabs if using mingw32
Brian Paul [Thu, 25 Aug 2011 22:50:56 +0000 (16:50 -0600)]
scons: don't compile some files with -gstabs if using mingw32

Compiling some (large) files with i686-pc-mingw32-gcc 4.2.2 (at least)
and the -gstabs option triggers a compiler error.  Use this work-around
to simply compile the effected files without -gstabs.

13 years agoscons: add more LIBS for compiling with LLVM 2.9 on Windows
Brian Paul [Thu, 25 Aug 2011 21:14:37 +0000 (15:14 -0600)]
scons: add more LIBS for compiling with LLVM 2.9 on Windows

These extra libs shouldn't hurt with LLVM 2.8 or older.

13 years agog3dvl: Rewrite the mpeg 1&2 bitstream parser
Christian König [Wed, 24 Aug 2011 20:51:31 +0000 (22:51 +0200)]
g3dvl: Rewrite the mpeg 1&2 bitstream parser

Based on work of Maarten Lankhorst this time.

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Younes Manton <younes.m@gmail.com>
13 years agog3dvl: Use a single texture for luma and chroma data
Christian König [Wed, 24 Aug 2011 20:10:42 +0000 (22:10 +0200)]
g3dvl: Use a single texture for luma and chroma data

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Younes Manton <younes.m@gmail.com>
13 years agog3dvl: Rework the decoder interface part 5/5
Christian König [Fri, 12 Aug 2011 11:29:00 +0000 (13:29 +0200)]
g3dvl: Rework the decoder interface part 5/5

Make setting the quant matrixes a generic interface.
Also removes setting the quant matrix from the XvMC interface

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Younes Manton <younes.m@gmail.com>
13 years agog3dvl: Rework the decoder interface part 4/5
Christian König [Thu, 11 Aug 2011 14:11:36 +0000 (16:11 +0200)]
g3dvl: Rework the decoder interface part 4/5

Make the picture_structure enum spec complient.
Also remove it from the compositor.

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Younes Manton <younes.m@gmail.com>
13 years agog3dvl: Rework the decoder interface part 3/5
Christian König [Wed, 10 Aug 2011 16:07:01 +0000 (18:07 +0200)]
g3dvl: Rework the decoder interface part 3/5

Revert back to a macroblock based interface. The structure used
tries to keep as close to the spec as possible.

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Younes Manton <younes.m@gmail.com>
13 years agog3dvl: Rework the decoder interface part 2/5
Christian König [Tue, 9 Aug 2011 17:27:57 +0000 (19:27 +0200)]
g3dvl: Rework the decoder interface part 2/5

Implement PIPE_CAP_NUM_BUFFERS_DESIRED giving the decoder control over
the number of buffers a state tracker should allocate.

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Younes Manton <younes.m@gmail.com>
13 years agog3dvl: Rework the decoder interface part 1/5
Christian König [Tue, 9 Aug 2011 16:45:13 +0000 (18:45 +0200)]
g3dvl: Rework the decoder interface part 1/5

First of all get ride of the decode_buffer structure, while still giving
the decoder the ability to organize it's buffers depending on the needs
of the state tracker.

Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Younes Manton <younes.m@gmail.com>
13 years agotgsi: update tgsi.rst for TXQ
Dave Airlie [Thu, 25 Aug 2011 12:03:19 +0000 (13:03 +0100)]
tgsi: update tgsi.rst for TXQ

add some info on the TXQ opcode.

Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agoi915g: Fix off-by-one in scissors.
David Reveman [Wed, 24 Aug 2011 01:49:11 +0000 (18:49 -0700)]
i915g: Fix off-by-one in scissors.

13 years agoi915g: Fix case where texcoords can overlap with fragpos/frontface.
Stéphane Marchesin [Wed, 24 Aug 2011 01:47:24 +0000 (18:47 -0700)]
i915g: Fix case where texcoords can overlap with fragpos/frontface.

13 years agoi915g: Improve the flush heuristic by using the previous frame's number of vertices.
Stéphane Marchesin [Wed, 24 Aug 2011 01:44:36 +0000 (18:44 -0700)]
i915g: Improve the flush heuristic by using the previous frame's number of vertices.

13 years agor600g: fix replace_gpr_with_pv_ps
Vadim Girlin [Wed, 24 Aug 2011 20:32:55 +0000 (00:32 +0400)]
r600g: fix replace_gpr_with_pv_ps

Instructions with 3 source operands have no write mask, so we may replace their
destinations with PV/PS in the next group even if their dst.write is 0.

Note: This is a candidate for the 7.11 branch.

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
13 years agor600g: fix check_and_set_bank_swizzle
Vadim Girlin [Wed, 24 Aug 2011 20:32:54 +0000 (00:32 +0400)]
r600g: fix check_and_set_bank_swizzle

Need to do full check when not all bank swizzles in the group are forced
(e.g. when trying to merge interp_* group with the next instruction)

Note: This is a candidate for the 7.11 branch.

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
13 years agoglcpp: Add GL_ARB_conservative_depth #define.
Kenneth Graunke [Thu, 25 Aug 2011 20:11:36 +0000 (13:11 -0700)]
glcpp: Add GL_ARB_conservative_depth #define.

Forgotten in the patch that enabled the extension.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
13 years agoi965: Remove all bits of NRM3 and NRM4 code
Ian Romanick [Wed, 3 Aug 2011 02:29:52 +0000 (19:29 -0700)]
i965: Remove all bits of NRM3 and NRM4 code

Nothing in Mesa generates these opcodes, and i965 hardware cannot
support it natively.  If support were ever added for this opcode in
Mesa, there had better be a lowering pass for hardware that doesn't
support it natively.

13 years agoglsl: fix crash when a const is passed to texelFetchOffset
Dave Airlie [Thu, 25 Aug 2011 20:05:13 +0000 (21:05 +0100)]
glsl: fix crash when a const is passed to texelFetchOffset

while debugging texelFetchOffset we kept hitting the assert.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
13 years agoglsl: Bail after reporting an error for non-constant const_in parameters.
Kenneth Graunke [Thu, 25 Aug 2011 16:43:41 +0000 (09:43 -0700)]
glsl: Bail after reporting an error for non-constant const_in parameters.

Otherwise we continue and hit the "Illegal formal parameter mode"
assertion.

Fixes negative compile test texelFetchOffset.frag in piglit.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agopp: add files to Makefile.sources
Brian Paul [Thu, 25 Aug 2011 16:31:17 +0000 (10:31 -0600)]
pp: add files to Makefile.sources

13 years agoMerge branch 'kasanen-post-process-v2'
Brian Paul [Thu, 25 Aug 2011 16:12:12 +0000 (10:12 -0600)]
Merge branch 'kasanen-post-process-v2'

Conflicts:
src/gallium/auxiliary/Makefile
src/gallium/auxiliary/SConscript

13 years agosoftpipe: add const qualifier to silence warnings
Brian Paul [Thu, 25 Aug 2011 16:06:29 +0000 (10:06 -0600)]
softpipe: add const qualifier to silence warnings

13 years agoglsl_to_tgsi: add TXF support. (v2)
Dave Airlie [Thu, 25 Aug 2011 12:38:43 +0000 (13:38 +0100)]
glsl_to_tgsi: add TXF support. (v2)

This adds texelFetch support to translate from GLSL to TGSI TXF opcode.

I've tested this works with an r600g and softpipe backend.

v2: drop comments, fix title,

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Bryan Cain <bryancain3@gmail.com>
13 years agosoftpipe: implement TXF support via get_texel callback
Dave Airlie [Thu, 25 Aug 2011 13:54:27 +0000 (14:54 +0100)]
softpipe: implement TXF support via get_texel callback

This just calls the texel fetch functions directly bypassing the sampling,

notes:
1: loops inside switch should be more optimal.
2: borders can be sampled though only up to border depth, outside that
its undefined.

Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agotgsi: add TXF support.
Dave Airlie [Thu, 25 Aug 2011 13:53:21 +0000 (14:53 +0100)]
tgsi: add TXF support.

This is a straight texel fetch with no filtering or clamping. It uses
integers to specify the i/j/k (from EXT_gpu_shader4).

To enable this I had to add another hook into the tgsi sampler so that
we could easily bypass all the filtering sample does.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
13 years agoglsl_to_tgsi: implement TXS/TXQ. (v2)
Dave Airlie [Wed, 24 Aug 2011 12:24:25 +0000 (13:24 +0100)]
glsl_to_tgsi: implement TXS/TXQ. (v2)

GLSL uses TXS, call the gallium TXQ opcode.

v2: fix indent from 4->3.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Bryan Cain <bryancain3@gmail.com>
13 years agosoftpipe: add get_dims callback for TXQ support. (v2)
Dave Airlie [Thu, 25 Aug 2011 10:35:52 +0000 (11:35 +0100)]
softpipe: add get_dims callback for TXQ support. (v2)

This adds the get_dims callback that is called from the tgsi exec_txq.

It returns values as per EXT_gpu_program4.

v2: fix one indent + use a switch (slighty modified from Brian)

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
13 years agotgsi: add TXQ support. (v2)
Dave Airlie [Thu, 25 Aug 2011 10:35:01 +0000 (11:35 +0100)]
tgsi: add TXQ support. (v2)

this adds another callback in the sampler struct containing get_dims
entry point. This is used to query the driver for the texture resource
dimensions for the resource bound to the current sampler.

v2: remove unusued variable, fix indent

Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agoglsl: Implement the GL_ARB_conservative_depth extension.
Kenneth Graunke [Tue, 9 Aug 2011 17:53:29 +0000 (10:53 -0700)]
glsl: Implement the GL_ARB_conservative_depth extension.

It's the same as GL_AMD_conservative_depth.  The specs have slight
differences in wording, but don't differ in content or behavior.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
13 years agoDocument the return type coding style.
Kai Wasserbäch [Tue, 23 Aug 2011 08:48:58 +0000 (10:48 +0200)]
Document the return type coding style.

As per discussion at [0] methods shouldn't use OpenGL return types, if
they're not part of the GL API.

[0] <http://marc.info/?l=mesa3d-dev&m=130754488901774&w=2>

Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
13 years agoChange return type of try_emit_* methods to bool.
Kai Wasserbäch [Tue, 23 Aug 2011 08:48:57 +0000 (10:48 +0200)]
Change return type of try_emit_* methods to bool.

Ian Romanick explained (Message-Id: <4E528973.6080902@freedesktop.org>),
that the return type of non-API methods shouldn't use GLboolean but a
standard C++ bool.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Bryan Cain <bryancain3@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
13 years agod3d1x: save to correct slot in xs_set_constant_buffers
Christoph Bumiller [Thu, 25 Aug 2011 10:52:35 +0000 (12:52 +0200)]
d3d1x: save to correct slot in xs_set_constant_buffers

13 years agod3d1x: fix xs_set_samplers
Christoph Bumiller [Sat, 28 May 2011 09:56:43 +0000 (11:56 +0200)]
d3d1x: fix xs_set_samplers

13 years agoandroid: add support for r600g
Chia-I Wu [Fri, 19 Aug 2011 06:35:45 +0000 (14:35 +0800)]
android: add support for r600g

Tested with a Radeon HD 6250.  SurfaceFlinger (the display server and
compositor) works.  2D apps with RGB or RGBA visuals work.  As for 3D
apps, some work but some don't (with serious rendering defects).

Reviewed-by: Marek Olšák <maraeo@gmail.com>
13 years agowinsys/radeon: share the source list
Chia-I Wu [Fri, 19 Aug 2011 07:00:20 +0000 (15:00 +0800)]
winsys/radeon: share the source list

Factor out C_SOURCES from Makefile to Makefile.sources, and let
Makefile and SConscript share it.

Reviewed-by: Marek Olšák <maraeo@gmail.com>
13 years agowinsys/r600: share the source list
Chia-I Wu [Fri, 19 Aug 2011 06:58:57 +0000 (14:58 +0800)]
winsys/r600: share the source list

Factor out C_SOURCES from Makefile to Makefile.sources, and let
Makefile and SConscript share it.

Reviewed-by: Marek Olšák <maraeo@gmail.com>
13 years agor600g: share the source list
Chia-I Wu [Fri, 19 Aug 2011 06:41:29 +0000 (14:41 +0800)]
r600g: share the source list

Factor out C_SOURCES from Makefile to Makefile.sources, and let
Makefile and SConscript share it.

Reviewed-by: Marek Olšák <maraeo@gmail.com>
13 years agoglsl: Make sure that Extensions.dummy_true is set to true
Ian Romanick [Wed, 24 Aug 2011 20:01:18 +0000 (13:01 -0700)]
glsl: Make sure that Extensions.dummy_true is set to true

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
13 years agovbo: remove unused var, remove unneeded local var
Brian Paul [Wed, 24 Aug 2011 20:50:28 +0000 (14:50 -0600)]
vbo: remove unused var, remove unneeded local var

13 years agollvmpipe: add more restrict keywords
Brian Paul [Wed, 24 Aug 2011 20:08:03 +0000 (14:08 -0600)]
llvmpipe: add more restrict keywords

Put restrict in the function definitions to silence MSVC warnings
about incompatible assignments in "func = lp_tile_foobar;" when func
was declared with restrict keywords but the rhs function wasn't.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
13 years agodocs: Document coding style conventions
Paul Berry [Tue, 16 Aug 2011 21:09:32 +0000 (14:09 -0700)]
docs: Document coding style conventions

This patch documents some Mesa coding style conventions that came up
during the discussion of commit 67b5a32 (Perform implicit type
conversions on function call out parameters).

13 years agoswrast: Remove swrast eject/validate texture image code.
Brian Paul [Fri, 29 Jul 2011 22:19:43 +0000 (15:19 -0700)]
swrast: Remove swrast eject/validate texture image code.

No driver used the eject function, or set the validate hook that made
that function do anything.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
13 years agoradeon: Fix flushing before writing a teximage's BO when !t->bo.
Eric Anholt [Thu, 4 Aug 2011 01:29:36 +0000 (18:29 -0700)]
radeon: Fix flushing before writing a teximage's BO when !t->bo.

Before, if we ended up here without a BO for our image, but did choose
a miptree that had active rendering in the command buffer, our
teximage data would jump ahead of the rendering using the old texture
contents.

This showed up as breakage in gen-teximage and friends in the
following commit.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
13 years agost/mesa: remove st_texture_image::face,level fields
Brian Paul [Fri, 15 Jul 2011 02:57:34 +0000 (20:57 -0600)]
st/mesa: remove st_texture_image::face,level fields

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
13 years agointel: use new gl_texture_image:Face, Level fields
Brian Paul [Fri, 15 Jul 2011 02:57:34 +0000 (20:57 -0600)]
intel: use new gl_texture_image:Face, Level fields

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
13 years agomesa: add gl_texture_image::Face, Level fields
Brian Paul [Fri, 15 Jul 2011 02:57:34 +0000 (20:57 -0600)]
mesa: add gl_texture_image::Face, Level fields

Several drivers have these fields in their subclasses of gl_texture_image.
They'll be useful for core Mesa too...

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
13 years agox11: add missing comma to fix compilation
Brian Paul [Wed, 24 Aug 2011 13:55:04 +0000 (07:55 -0600)]
x11: add missing comma to fix compilation

13 years agor600g: fill out missing entries in opcode tables.
Dave Airlie [Wed, 24 Aug 2011 12:27:06 +0000 (13:27 +0100)]
r600g: fill out missing entries in opcode tables.

this just adds the missing opcodes as unsupported.

Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agowinsys/svga: use os_mmap() for memory mapping
Chia-I Wu [Sun, 21 Aug 2011 12:37:47 +0000 (20:37 +0800)]
winsys/svga: use os_mmap() for memory mapping

os_mmap() guarantees large file support across OSes.

13 years agowinsys/radeon: use os_mmap() for memory mapping
Chia-I Wu [Sun, 21 Aug 2011 04:31:45 +0000 (12:31 +0800)]
winsys/radeon: use os_mmap() for memory mapping

os_mmap() guarantees large file support across OSes.

Reviewed-by: Marek Olšák <maraeo@gmail.com>
13 years agoauxiliary/os: add wrappers for mmap/munmap
Chia-I Wu [Sun, 21 Aug 2011 03:58:30 +0000 (11:58 +0800)]
auxiliary/os: add wrappers for mmap/munmap

The use of mmap() in winsys requires large file support.  Not all OSes
have LFS so a wrapper should be used.  In particular, os_mmap() should
call __mmap2() on Android.

13 years agoi965: Only map the necessary buffer range in brw_prepare_indices
Ian Romanick [Mon, 22 Aug 2011 17:52:47 +0000 (10:52 -0700)]
i965: Only map the necessary buffer range in brw_prepare_indices

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
13 years agotnl: Only map the necessary buffer range in bind_indices
Ian Romanick [Mon, 22 Aug 2011 07:31:19 +0000 (00:31 -0700)]
tnl: Only map the necessary buffer range in bind_indices

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
13 years agomesa: Only map the necessary buffer range in vbo_get_minmax_index
Ian Romanick [Mon, 22 Aug 2011 07:14:51 +0000 (00:14 -0700)]
mesa: Only map the necessary buffer range in vbo_get_minmax_index

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
13 years agomesa: Eliminate dd_function_table::MapBuffer
Ian Romanick [Mon, 22 Aug 2011 01:34:27 +0000 (18:34 -0700)]
mesa: Eliminate dd_function_table::MapBuffer

Replace all calls to dd_function_table::MapBuffer with appropriate
calls to dd_function_table::MapBufferRange, then remove all the cruft.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
13 years agoradeon: Hack up an implementation of MapBufferRange
Ian Romanick [Mon, 22 Aug 2011 01:32:09 +0000 (18:32 -0700)]
radeon: Hack up an implementation of MapBufferRange

This doesn't implement any of the "cool" features of MapBufferRange.
Adding this function is necessary for the next commit in the series.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Alex Deucher <alexdeucher@gmail.com>
Cc: Maciej Cencora <m.cencora@gmail.com>
13 years agomesa: Fix incorrect access parameter passed to MapBuffer
Ian Romanick [Mon, 22 Aug 2011 01:45:06 +0000 (18:45 -0700)]
mesa: Fix incorrect access parameter passed to MapBuffer

The code previously passed GL_DYNAMIC_DRAW for the access parameter.
By inspection, I believe that all drivers would treat this as
GL_READ_WRITE because it's not GL_READ_ONLY and it's not
GL_WRITE_ONLY.

It appears the i965 code wants GL_WRITE_ONLY (it's about to write a
bunch of data in, never read data), while the arrayelt code is
GL_READ_ONLY (just dereffed as arguments to CALL_Whatever*v).

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Keith Whitwell <keithw@vmware.com>
13 years agomesa: Remove target parameter from dd_function_table::FlushMappedBufferRange
Ian Romanick [Mon, 22 Aug 2011 00:56:39 +0000 (17:56 -0700)]
mesa: Remove target parameter from dd_function_table::FlushMappedBufferRange

No driver used that parameter, and most drivers ended up with a bunch
of unused-parameter warnings because it was there.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
13 years agointel: Correctly check for read-only mappings in intel_bufferobj_map_range
Ian Romanick [Mon, 22 Aug 2011 00:55:33 +0000 (17:55 -0700)]
intel: Correctly check for read-only mappings in intel_bufferobj_map_range

The old code was an obvious cut-and-paste fail from intel_bufferobj_map.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
13 years agomesa: Remove target parameter from dd_function_table::MapBufferRange
Ian Romanick [Mon, 22 Aug 2011 00:37:56 +0000 (17:37 -0700)]
mesa: Remove target parameter from dd_function_table::MapBufferRange

No driver used that parameter, and most drivers ended up with a bunch
of unused-parameter warnings because it was there.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
13 years agomesa: Remove target parameter from dd_function_table::GetBufferSubData
Ian Romanick [Mon, 22 Aug 2011 00:30:35 +0000 (17:30 -0700)]
mesa: Remove target parameter from dd_function_table::GetBufferSubData

No driver used that parameter, and most drivers ended up with a bunch
of unused-parameter warnings because it was there.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
13 years agomesa: Remove target parameter from dd_function_table::BufferSubData
Ian Romanick [Mon, 22 Aug 2011 00:23:58 +0000 (17:23 -0700)]
mesa: Remove target parameter from dd_function_table::BufferSubData

No driver used that parameter, and most drivers ended up with a bunch
of unused-parameter warnings because it was there.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
13 years agomesa: Remove target parameter from dd_function_table::MapBuffer
Ian Romanick [Mon, 22 Aug 2011 00:07:56 +0000 (17:07 -0700)]
mesa: Remove target parameter from dd_function_table::MapBuffer

No driver used that parameter, and most drivers ended up with a bunch
of unused-parameter warnings because it was there.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
13 years agomesa: Remove target parameter from dd_function_table::UnmapBuffer
Ian Romanick [Sun, 21 Aug 2011 23:59:30 +0000 (16:59 -0700)]
mesa: Remove target parameter from dd_function_table::UnmapBuffer

No driver used that parameter, and most drivers ended up with a bunch
of unused-parameter warnings because it was there.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
13 years agomake: Add missing source file.
José Fonseca [Tue, 23 Aug 2011 18:49:43 +0000 (19:49 +0100)]
make: Add missing source file.

13 years agoi965: Fix typo in 2b224d66a01f3ce867fb05558b25749705bbfe7a
Eric Anholt [Tue, 23 Aug 2011 17:51:16 +0000 (10:51 -0700)]
i965: Fix typo in 2b224d66a01f3ce867fb05558b25749705bbfe7a

Unfortunately, since a previous efficiency improvement, we no longer
have any open-source testcases producing register spilling, so this
code was untested in the fragment shader path.  That should change
when we get proper temporary array support in the fragment shader.

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

13 years agoi965/gen6+: Use non-normalized coordinates for GL_TEXTURE_RECTANGLE.
Eric Anholt [Wed, 17 Aug 2011 20:41:43 +0000 (13:41 -0700)]
i965/gen6+: Use non-normalized coordinates for GL_TEXTURE_RECTANGLE.

Improves performance of a GL_TEXTURE_RECTANGLE microbenchmark by 1.84%
+/- .15% (n=3)

13 years agoi965: Implement textureSize (TXS) on Gen4.
Kenneth Graunke [Wed, 17 Aug 2011 17:45:47 +0000 (10:45 -0700)]
i965: Implement textureSize (TXS) on Gen4.

Also, remove the BRW_SAMPLER_MESSAGE_SIMD8_RESINFO #define because
there totally isn't a SIMD8 variant.

Unfortunately, resinfo returns FLOAT32 on Broadwater/Crestline, unlike
G45 which returns a proper UINT32.  This turns out to be simple,
however: when we emit MOVs to select the desired half of the SIMD16
result, we can simply override the register type to be float so it's
converted to an integer.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
13 years agoi965/fs: Implement textureSize (TXS) on Gen5+.
Kenneth Graunke [Sun, 19 Jun 2011 08:47:50 +0000 (01:47 -0700)]
i965/fs: Implement textureSize (TXS) on Gen5+.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
13 years agoi965/fs: Rudimentary support for non-floating point texture results.
Kenneth Graunke [Thu, 18 Aug 2011 07:18:15 +0000 (00:18 -0700)]
i965/fs: Rudimentary support for non-floating point texture results.

Not all texturing operations return floating point data.  For example,
the resinfo message (textureSize or TXS) returns integer data.  In the
future, we'll also add integer texture support.

ir_texture's type field contains this information; use its base type to
appropriately type the destination register.  We want to keep it as a
four component vector, however, since SIMD8 samplers always have a
response length of 4.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
13 years agoglsl/builtins: Uncomment textureSize prototypes.
Kenneth Graunke [Fri, 25 Feb 2011 23:14:47 +0000 (15:14 -0800)]
glsl/builtins: Uncomment textureSize prototypes.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
13 years agotexture_builtins.py: Add support for textureSize (txs).
Kenneth Graunke [Fri, 25 Feb 2011 23:14:22 +0000 (15:14 -0800)]
texture_builtins.py: Add support for textureSize (txs).

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
13 years agoglsl: Add a new ir_txs (textureSize) opcode to ir_texture.
Kenneth Graunke [Fri, 25 Feb 2011 22:45:33 +0000 (14:45 -0800)]
glsl: Add a new ir_txs (textureSize) opcode to ir_texture.

One unique aspect of TXS is that it doesn't have a coordinate.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>