mesa.git
14 years agost/egl_g3d: Add support for KMS native display.
Chia-I Wu [Sun, 3 Jan 2010 11:24:04 +0000 (19:24 +0800)]
st/egl_g3d: Add support for KMS native display.

The KMS native display implements the modeset interface using DRM
modesetting.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
14 years agost/egl_g3d: Add support for EGL_MESA_screen_surface.
Chia-I Wu [Mon, 4 Jan 2010 04:01:38 +0000 (12:01 +0800)]
st/egl_g3d: Add support for EGL_MESA_screen_surface.

This is implemented through the modeset interface.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
14 years agost/egl_g3d: Update the native display interface for modesetting.
Chia-I Wu [Sun, 3 Jan 2010 13:27:22 +0000 (21:27 +0800)]
st/egl_g3d: Update the native display interface for modesetting.

The new interface can be used to implement EGL_MESA_screen_surface.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
14 years agost/egl_g3d: New EGL state tracker that uses Gallium.
Chia-I Wu [Sun, 10 Jan 2010 17:23:01 +0000 (01:23 +0800)]
st/egl_g3d: New EGL state tracker that uses Gallium.

This new (intermediate) EGL state tracker is the base work for EGL
drivers that uses Gallium.  It makes it easier to support new window
systems.

Currently, there is support only for X11.  This driver supports multiple
APIs (OpenVG, OpenGL, ...) and supports hardware acceleration through
winsys/drm.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
14 years agowinsys/drm: Add name field to drm_api.
Chia-I Wu [Sat, 2 Jan 2010 14:06:42 +0000 (22:06 +0800)]
winsys/drm: Add name field to drm_api.

The name can be used for driver selection.  It has the same name as the
DRI driver does right now.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
14 years agoegl: EGL_SCREEN_BIT_MESA is a valid bit.
Chia-I Wu [Mon, 4 Jan 2010 04:56:04 +0000 (12:56 +0800)]
egl: EGL_SCREEN_BIT_MESA is a valid bit.

Update _eglValidateConfig so that it passes the test.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
14 years agoprogs/egl: Fix screen surface demos.
Chia-I Wu [Mon, 4 Jan 2010 05:32:50 +0000 (13:32 +0800)]
progs/egl: Fix screen surface demos.

Set the screen surface size to the mode size, as the spec requires the
screen surface size to be larger than the mode size.  Besides, bind the
API to OpenGL as they are written in it.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
14 years agoprogs/egl: glGenTextures is called too early in xeglbindtex.
Chia-I Wu [Sat, 2 Jan 2010 13:57:16 +0000 (21:57 +0800)]
progs/egl: glGenTextures is called too early in xeglbindtex.

It should be called after eglMakeCurrent.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
14 years agoprogs: Check the number of configs returned by eglChooseConfig.
Chia-I Wu [Sat, 2 Jan 2010 13:56:13 +0000 (21:56 +0800)]
progs: Check the number of configs returned by eglChooseConfig.

A successful eglChooseConfig call does not imply there are valid
configs.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
14 years agoprogs: Add missing EGL_RENDERABLE_TYPE for EGL demos.
Chia-I Wu [Sat, 2 Jan 2010 13:51:46 +0000 (21:51 +0800)]
progs: Add missing EGL_RENDERABLE_TYPE for EGL demos.

The default value of EGL_RENDERABLE_TYPE is EGL_OPENGL_ES_BIT.  The
proper values should be specified if we are not using OpenGL ES.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
14 years agost/mesa: Remove st_api.c.
Chia-I Wu [Sat, 2 Jan 2010 13:32:33 +0000 (21:32 +0800)]
st/mesa: Remove st_api.c.

st_api.c is supposed to define st_api_OpenGL to advertise OpenGL
support.  However, the linker discards the symbol because it has no
user.  It is better to leave this to other state trackers that link to
libmesagallium.a.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
14 years agost/vega: Make it compatible with st_public.h.
Chia-I Wu [Mon, 11 Jan 2010 04:03:07 +0000 (12:03 +0800)]
st/vega: Make it compatible with st_public.h.

It missed a stub for st_get_proc_address, and st_make_current should
return a boolean.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
14 years agost/vega: Advertise OpenVG support.
Chia-I Wu [Sat, 2 Jan 2010 13:25:34 +0000 (21:25 +0800)]
st/vega: Advertise OpenVG support.

Define st_api_OpenVG to advertise OpenVG support.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
14 years agoGLX: check glproto version
Jesse Barnes [Mon, 11 Jan 2010 22:28:10 +0000 (17:28 -0500)]
GLX: check glproto version

This was a silent dependency before, but now we really need 1.4.11 for
INTEL_swap_event support, so check for it.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
14 years agoMerge branch 'master' of ssh://people.freedesktop.org/~jbarnes/mesa
Jesse Barnes [Mon, 11 Jan 2010 20:23:29 +0000 (15:23 -0500)]
Merge branch 'master' of ssh://people.freedesktop.org/~jbarnes/mesa

Conflicts due to DRI1 removal:
src/mesa/drivers/dri/intel/intel_context.c
src/mesa/drivers/dri/intel/intel_screen.c

14 years agost/xlib: Mark GLX functions as public.
Chia-I Wu [Sun, 10 Jan 2010 16:13:41 +0000 (00:13 +0800)]
st/xlib: Mark GLX functions as public.

Mark all functions start with glX as public.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
14 years agost: Mark functions in st_public.h and vg_tracker.h as public.
Chia-I Wu [Sun, 10 Jan 2010 16:06:45 +0000 (00:06 +0800)]
st: Mark functions in st_public.h and vg_tracker.h as public.

These functions are the API of Gallium state tracker, and are used by
EGL.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
14 years agogallium: Add PUBLIC macro for function visibility.
Chia-I Wu [Sun, 10 Jan 2010 16:00:52 +0000 (00:00 +0800)]
gallium: Add PUBLIC macro for function visibility.

As the default build has -fvisibility=hidden, add a macro to control the
visibility.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
14 years agost/vega: Fix breakage from -fvisibility=hidden.
Chia-I Wu [Sun, 10 Jan 2010 16:03:21 +0000 (00:03 +0800)]
st/vega: Fix breakage from -fvisibility=hidden.

Mark VG and VGU functions as public.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
14 years agopython: Integrate with llvmpipe if possible.
José Fonseca [Mon, 11 Jan 2010 14:00:31 +0000 (14:00 +0000)]
python: Integrate with llvmpipe if possible.

Temporary. We should soon have the ability to integrate with any driver
via glx extensions.

14 years agopython: Mask out PIPE_TEXTURE_USAGE_DISPLAY_TARGET usage.
José Fonseca [Mon, 11 Jan 2010 13:57:12 +0000 (13:57 +0000)]
python: Mask out PIPE_TEXTURE_USAGE_DISPLAY_TARGET usage.

As displaying surfaces directly isn't supported by the python state
tracker.

14 years agopython: Prefer PIPE_FORMAT_Z32_UNORM.
José Fonseca [Mon, 11 Jan 2010 13:56:09 +0000 (13:56 +0000)]
python: Prefer PIPE_FORMAT_Z32_UNORM.

14 years agopython: Set PIPE_TEXTURE_USAGE_RENDER_TARGET instead of DISPLAY_TARGET.
José Fonseca [Mon, 11 Jan 2010 13:55:24 +0000 (13:55 +0000)]
python: Set PIPE_TEXTURE_USAGE_RENDER_TARGET instead of DISPLAY_TARGET.

As the python state tracker is not integrated with window system an
cannot present surfaces directly.

14 years agoutil: Set flatshade for blitter.
Corbin Simpson [Mon, 11 Jan 2010 13:39:56 +0000 (05:39 -0800)]
util: Set flatshade for blitter.

It was bugging me. +1 FPS on softpipe.

14 years agoradeong: Check for DONTBLOCK before flushing, remove dead code.
Corbin Simpson [Mon, 11 Jan 2010 13:31:54 +0000 (05:31 -0800)]
radeong: Check for DONTBLOCK before flushing, remove dead code.

14 years agoutil/blitter: remove unused variable
Keith Whitwell [Mon, 11 Jan 2010 10:56:41 +0000 (10:56 +0000)]
util/blitter: remove unused variable

14 years agoFix compressed texture loads for non-minimal pitches
Luca Barbieri [Sun, 10 Jan 2010 20:04:21 +0000 (12:04 -0800)]
Fix compressed texture loads for non-minimal pitches

The current glCompressedTexImage support in the state tracker assumes
that compressed textures have minimal pitch.

However, in some cases this is not true, such as for mipmaps of non-POT
compressed textures on nVidia hardware.

This patch adds a check and does a memcpy for each line instead of the
whole image in that case.

Signed-off-by: Keith Whitwell <keithw@vmware.com>
Tweaks for C90 compilation.

14 years agor300g: Don't bother testing for empty scissors.
Corbin Simpson [Mon, 11 Jan 2010 07:38:05 +0000 (23:38 -0800)]
r300g: Don't bother testing for empty scissors.

If somebody goes through that much effort, they probably intended it.
So humor them. :3

14 years agoutil: Apply Brian's suggested blit improvements.
Corbin Simpson [Mon, 11 Jan 2010 07:30:01 +0000 (23:30 -0800)]
util: Apply Brian's suggested blit improvements.

copypix works just fine.

14 years agogallium: u_blitter add overlapping blit support.
Dave Airlie [Thu, 7 Jan 2010 01:45:48 +0000 (11:45 +1000)]
gallium: u_blitter add overlapping blit support.

the xorg state tracker really wants the driver to handle overlapping
blits, and r300 uses u_blitter for blits. This patch adds overlapping
blit support via a temporary surface when its required.

14 years agor300g: Atomize scissors.
Corbin Simpson [Mon, 11 Jan 2010 07:02:48 +0000 (23:02 -0800)]
r300g: Atomize scissors.

Argfl. Some of this code is so questionable.

14 years agor300g: Move TCL bypass switch to main context.
Corbin Simpson [Mon, 11 Jan 2010 06:32:58 +0000 (22:32 -0800)]
r300g: Move TCL bypass switch to main context.

14 years agor300g: Atomize viewport.
Corbin Simpson [Mon, 11 Jan 2010 02:07:28 +0000 (18:07 -0800)]
r300g: Atomize viewport.

Goddammit, some of these hax are really annoying.

14 years agor300g: Move ROPCNTL to the top of the emit order.
Corbin Simpson [Mon, 11 Jan 2010 01:51:40 +0000 (17:51 -0800)]
r300g: Move ROPCNTL to the top of the emit order.

According to the docs, this decreases stalls, and indeed we get a tiny
bit more glxgears from it.

14 years agor300g: Don't avoid rewriting ZTOP.
Corbin Simpson [Mon, 11 Jan 2010 01:42:06 +0000 (17:42 -0800)]
r300g: Don't avoid rewriting ZTOP.

Simplify the code. Added a comment to keep me from doing it again.

14 years agor300g: Atomize rasterizer.
Corbin Simpson [Sun, 10 Jan 2010 22:29:32 +0000 (14:29 -0800)]
r300g: Atomize rasterizer.

I want to stab things now.

14 years agonouveau: Make winsys recognise the original NV50.
Marcin Kościelnicki [Mon, 11 Jan 2010 05:15:38 +0000 (05:15 +0000)]
nouveau: Make winsys recognise the original NV50.

14 years agoradeon: fix prediction for r100 inline vert/elt emits.
Dave Airlie [Mon, 11 Jan 2010 03:21:47 +0000 (13:21 +1000)]
radeon: fix prediction for r100 inline vert/elt emits.

On r100 we emit the indices inline so we need to account
for that in the emission size.

14 years agoradeon: fix bug in realloc code.
Dave Airlie [Mon, 11 Jan 2010 03:21:02 +0000 (13:21 +1000)]
radeon: fix bug in realloc code.

This bug was fixed in libdrm ages ago, port to non-kms

14 years agost/dri: update dri2 drawables when viewport is changed
Ben Skeggs [Mon, 11 Jan 2010 01:41:47 +0000 (11:41 +1000)]
st/dri: update dri2 drawables when viewport is changed

Fixes gnome-shell on nouveau, as well as window resize with various
other applications.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
14 years agor300g: Atomize ZTOP.
Corbin Simpson [Sun, 10 Jan 2010 19:49:25 +0000 (11:49 -0800)]
r300g: Atomize ZTOP.

Also do state-change checks. ZTOP's too important to not check.

14 years agor300g: Atomize DSA.
Corbin Simpson [Sun, 10 Jan 2010 19:08:14 +0000 (11:08 -0800)]
r300g: Atomize DSA.

Also a bit of ztop.

14 years agor300g: Atomize UCP.
Corbin Simpson [Sun, 10 Jan 2010 18:36:57 +0000 (10:36 -0800)]
r300g: Atomize UCP.

Meh.

14 years agor300g: Atomize blend color.
Corbin Simpson [Sun, 10 Jan 2010 18:26:15 +0000 (10:26 -0800)]
r300g: Atomize blend color.

14 years agor300g: Start using atoms.
Corbin Simpson [Sun, 10 Jan 2010 17:35:55 +0000 (09:35 -0800)]
r300g: Start using atoms.

No benefits yet.

14 years agollvmpipe: Update instructions.
José Fonseca [Sun, 10 Jan 2010 18:37:07 +0000 (18:37 +0000)]
llvmpipe: Update instructions.

Explain how to build for windows. Both MSVC 9 and cross MinGW supported.

Stop documenting LLVM 2.5 as supported. It still supported at the moment
but it will soon stop being.

14 years agoegl: Clean up the Makefile rules.
Chia-I Wu [Mon, 21 Dec 2009 03:13:18 +0000 (11:13 +0800)]
egl: Clean up the Makefile rules.

This allows libEGL to be built as a static library and removes libX11
from the dependencies.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
14 years agoegl_softpipe: Remove the unnecessary call to _eglSwapBuffers.
Chia-I Wu [Tue, 5 Jan 2010 13:39:15 +0000 (21:39 +0800)]
egl_softpipe: Remove the unnecessary call to _eglSwapBuffers.

The call to _eglSwapBuffers is unnecessary, and the function is missing
when -fvisibility=hidden.  Also remove the extraneous braces and indent
the block.

14 years agollvmpipe: Yet another hack to get release LLVM static libraries to link in debug...
José Fonseca [Sun, 10 Jan 2010 11:20:11 +0000 (11:20 +0000)]
llvmpipe: Yet another hack to get release LLVM static libraries to link in debug builds.

14 years agoscons: LLVM <-> MSVC integration tweaks.
José Fonseca [Sun, 10 Jan 2010 10:51:42 +0000 (10:51 +0000)]
scons: LLVM <-> MSVC integration tweaks.

14 years agogallium: Remove dead code.
José Fonseca [Sun, 10 Jan 2010 10:44:25 +0000 (10:44 +0000)]
gallium: Remove dead code.

14 years agogallium: Provide alternative stdint.h and stdbool.h C99 headers, instead of ad-hoc...
José Fonseca [Sun, 10 Jan 2010 10:36:35 +0000 (10:36 +0000)]
gallium: Provide alternative stdint.h and stdbool.h C99 headers, instead of ad-hoc definitions.

Everybody is using the C99's integer types. Everybody except Microsoft,
which in turns means everybody is including their own definitions of C99
integer types for MSVC, causing duplicate definitions when linking two
projects. This is the case of building Gallium and LLVM with MSVC.

Shipping alternative stdint.h and stdbool.h headers for MSVC allows us
to share a single definition. It also removes clutter from the Gallium
headers.

14 years agor300: minor accelerated blit fixes
Maciej Cencora [Sat, 9 Jan 2010 18:46:09 +0000 (19:46 +0100)]
r300: minor accelerated blit fixes

14 years agor300: fallback on depth buffer blits
Maciej Cencora [Sat, 9 Jan 2010 17:12:55 +0000 (18:12 +0100)]
r300: fallback on depth buffer blits

Depth buffer accelerated blits aren't implemented yet.

14 years agointel/DRI2: add DRI2flushExtension support with invalidate hook
Kristian Høgsberg [Fri, 8 Jan 2010 17:35:47 +0000 (12:35 -0500)]
intel/DRI2: add DRI2flushExtension support with invalidate hook

Needed to support the SwapBuffers code properly.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
14 years agoxdemos/glsync: handle no sync method better
Jesse Barnes [Mon, 4 Jan 2010 21:26:17 +0000 (16:26 -0500)]
xdemos/glsync: handle no sync method better

Print out count, finish rendering, etc.  Makes the -sn option more useful.

14 years agoxdemos/glsync: check glXMakeCurrent return value
Jesse Barnes [Mon, 4 Jan 2010 18:13:57 +0000 (13:13 -0500)]
xdemos/glsync: check glXMakeCurrent return value

Since this program is used for testing, catching this case can be helpful.

14 years agoxdemos/glsync: Make glsync test draw a rectangle
Jesse Barnes [Tue, 3 Nov 2009 18:48:17 +0000 (10:48 -0800)]
xdemos/glsync: Make glsync test draw a rectangle

Doing simple buffer clears isn't enough to actually allocate render buffers, we
need to do real drawing.

14 years agoxdemos/glsync: Add swap interval support to glsync test
Jesse Barnes [Mon, 2 Nov 2009 19:20:08 +0000 (11:20 -0800)]
xdemos/glsync: Add swap interval support to glsync test

14 years agoDRI2/GLX: add INTEL_swap_event support
Jesse Barnes [Thu, 12 Nov 2009 16:48:07 +0000 (16:48 +0000)]
DRI2/GLX: add INTEL_swap_event support

Add event support for the GLX swap buffers event, along with DRI2 protocol
support for generating GLX swap buffers events in the direct rendered case.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
14 years agoDRI2: add SwapInterval support
Jesse Barnes [Tue, 10 Nov 2009 21:28:01 +0000 (13:28 -0800)]
DRI2: add SwapInterval support

Add support for the DRI2SwapInterval protocol request.  This allows
direct rendered clients to control their swap interval per the
SGI_swap_control extension.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
14 years agoDRI2: add OML_sync_control support
Jesse Barnes [Wed, 16 Sep 2009 06:23:09 +0000 (23:23 -0700)]
DRI2: add OML_sync_control support

Add OML_sync_control support, along with a simple program for testing
it.  This means adding support for the DRI2GetMSC, DRI2WaitMSC and
DRI2WaitSBC requests.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
14 years agoDRI2: add SwapBuffers support
Jesse Barnes [Fri, 17 Jul 2009 07:30:29 +0000 (03:30 -0400)]
DRI2: add SwapBuffers support

Support the new DRI2 protocol request, DRI2SwapBuffers, in both direct
and indirect rendering context.  This request allows the display server
to optimize back->front swaps (e.g. through page flipping) and allows us
to more easily support other GLX features like swap interval and the OML
sync extension in DRI2.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
14 years agonv50: handle TGSI_OPCODE_UMAD,UMUL,NOT and fix SAD
Christoph Bumiller [Fri, 8 Jan 2010 16:07:40 +0000 (17:07 +0100)]
nv50: handle TGSI_OPCODE_UMAD,UMUL,NOT and fix SAD

14 years agonv50: free src temp_temps on emit
Christoph Bumiller [Fri, 8 Jan 2010 15:04:11 +0000 (16:04 +0100)]
nv50: free src temp_temps on emit

14 years agonv50: try to honor sprite coord mode
Christoph Bumiller [Fri, 8 Jan 2010 16:15:52 +0000 (17:15 +0100)]
nv50: try to honor sprite coord mode

14 years agoMerge branch 'mesa_7_7_branch'
Brian Paul [Fri, 8 Jan 2010 15:21:12 +0000 (08:21 -0700)]
Merge branch 'mesa_7_7_branch'

Conflicts:

src/mesa/drivers/dri/i965/brw_wm_emit.c

14 years agomesa: Ensure libmesagallium.a is finished building before descending
Dan Nicholson [Fri, 8 Jan 2010 13:59:55 +0000 (05:59 -0800)]
mesa: Ensure libmesagallium.a is finished building before descending

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
14 years agomklib: Extract archives into temporary directories
Dan Nicholson [Fri, 8 Jan 2010 01:11:37 +0000 (17:11 -0800)]
mklib: Extract archives into temporary directories

When static libraries are created from other archives, objects are
extracted and then deleted when the static library is done. This can
race when there are multiple static libraries being created from the
same archives as with libmesa.a and libmesagallium.a.

Should fix this issue with parallel jobs:

make[5]: *** No rule to make target
> `../../../../../../src/mesa/libmesagallium.a', needed by
> `radeon_dri.so'. Stop

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Reported-and-Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
14 years agotgsi: Cleanup dot-product opcodes in interpreter.
Michal Krol [Fri, 8 Jan 2010 11:02:41 +0000 (12:02 +0100)]
tgsi: Cleanup dot-product opcodes in interpreter.

14 years agor300: Move initial declaration outside for loop.
Vinson Lee [Fri, 8 Jan 2010 09:13:46 +0000 (01:13 -0800)]
r300: Move initial declaration outside for loop.

14 years agonv20: Fix build for the latest nouveau_class.h changes.
Francisco Jerez [Fri, 8 Jan 2010 03:42:28 +0000 (04:42 +0100)]
nv20: Fix build for the latest nouveau_class.h changes.

14 years agoscons: Don't build xlib when dri is enabled.
José Fonseca [Fri, 8 Jan 2010 01:25:27 +0000 (01:25 +0000)]
scons: Don't build xlib when dri is enabled.

Hopefully adddresses fdo 25828.

14 years agolvmpipe: Initialize all coordinates.
José Fonseca [Fri, 8 Jan 2010 01:15:17 +0000 (01:15 +0000)]
lvmpipe: Initialize all coordinates.

Fixes assertion failure with fp-incomplete-tex (fdo 24298).

14 years agoscons: Output a meaningful message when xlib libGL.so can't be built.
José Fonseca [Fri, 8 Jan 2010 00:50:09 +0000 (00:50 +0000)]
scons: Output a meaningful message when xlib libGL.so can't be built.

14 years agoscons: Use static glew library on Unices to avoid binary compatability issues
José Fonseca [Fri, 8 Jan 2010 00:33:58 +0000 (00:33 +0000)]
scons: Use static glew library on Unices to avoid binary compatability issues

Fixes bug 25926.

14 years agost/xorg: remove unused xorg_exa_get_pixmap_handle function
Keith Whitwell [Thu, 26 Nov 2009 23:56:48 +0000 (23:56 +0000)]
st/xorg: remove unused xorg_exa_get_pixmap_handle function

14 years agodocs: document Gallium SSE codegen for XPD bug fix
Brian Paul [Thu, 7 Jan 2010 21:55:27 +0000 (14:55 -0700)]
docs: document Gallium SSE codegen for XPD bug fix

14 years agotgsi: fix SSE code emit for XPD
Brian Paul [Thu, 7 Jan 2010 21:49:12 +0000 (14:49 -0700)]
tgsi: fix SSE code emit for XPD

Rearrange things so that the writes to the dest registers happen
after we've fetched/used all src registers.

The problematic instruction was:  XPD TEMP[2].xyz, TEMP[0], TEMP[2];
Note that the dst reg is also a src reg.

This fixes bad shading with progs/glsl/bump.c since Eric's changes to the
Mesa program optimizer in commit d6690ce15fb8c7c6abf1bc0d847c1d2da2c33904.
The optimizer rearranges some registers so we occasionally wind up with
something like the above.

14 years agonv50: preallocate TEMPs written first time in a subroutine
Christoph Bumiller [Thu, 7 Jan 2010 20:17:13 +0000 (21:17 +0100)]
nv50: preallocate TEMPs written first time in a subroutine

Otherwise we risk overwriting them with temporary GPRs if
they're not used immediately after the CALL.

14 years agonv50: handle TGSI_OPCODE_SAD,UADD
Christoph Bumiller [Thu, 7 Jan 2010 17:23:04 +0000 (18:23 +0100)]
nv50: handle TGSI_OPCODE_SAD,UADD

14 years agonv50: handle TGSI_OPCODE_IMAX,IMIN,UMAX,UMIN
Christoph Bumiller [Thu, 7 Jan 2010 16:59:58 +0000 (17:59 +0100)]
nv50: handle TGSI_OPCODE_IMAX,IMIN,UMAX,UMIN

14 years agonv50: handle integer SET operations
Christoph Bumiller [Thu, 7 Jan 2010 18:48:50 +0000 (19:48 +0100)]
nv50: handle integer SET operations

14 years agonv50: handle TGSI_OPCODE_SHL,ISHR,USHR
Christoph Bumiller [Thu, 7 Jan 2010 16:48:41 +0000 (17:48 +0100)]
nv50: handle TGSI_OPCODE_SHL,ISHR,USHR

14 years agonv50: handle TGSI_OPCODE_F2I,F2U,I2F,U2F plus src mods
Christoph Bumiller [Thu, 7 Jan 2010 18:45:44 +0000 (19:45 +0100)]
nv50: handle TGSI_OPCODE_F2I,F2U,I2F,U2F plus src mods

14 years agointel: Remove leftover symlinks from DRI1 removal.
Eric Anholt [Tue, 5 Jan 2010 20:01:13 +0000 (12:01 -0800)]
intel: Remove leftover symlinks from DRI1 removal.

14 years agotgsi: add assertion to verify legal register file
Brian Paul [Thu, 7 Jan 2010 18:18:04 +0000 (11:18 -0700)]
tgsi: add assertion to verify legal register file

This assertion fails with piglit glsl-vs-mov-after-deref test
because we're double freeing the memory.  It seems there's some
confusion between what's placed in the hash table and what isn't.

14 years agotgsi: fix incorrectly placed braces, add more braces to be clear
Brian Paul [Thu, 7 Jan 2010 17:57:33 +0000 (10:57 -0700)]
tgsi: fix incorrectly placed braces, add more braces to be clear

14 years agotgsi: move register checking code before check_register_usage()
Brian Paul [Thu, 7 Jan 2010 17:54:56 +0000 (10:54 -0700)]
tgsi: move register checking code before check_register_usage()

check_register_usage() frees the scan_register *reg data so we were
reading from freed memory.  This fixes a valgrind error found with
piglit's glsl-vs-mov-after-deref test.

14 years agoswrast: fix color masking for glAccum(GL_RETURN)
Brian Paul [Thu, 7 Jan 2010 16:43:08 +0000 (09:43 -0700)]
swrast: fix color masking for glAccum(GL_RETURN)

Should fix fdo bug 25837.

14 years agoi810: use ColorMask[0]
Brian Paul [Thu, 7 Jan 2010 16:40:08 +0000 (09:40 -0700)]
i810: use ColorMask[0]

14 years agoprogs/fp: increase buffer size to read larger shaders
Brian Paul [Thu, 7 Jan 2010 16:10:53 +0000 (09:10 -0700)]
progs/fp: increase buffer size to read larger shaders

14 years agogallium/util: remove useless assertions
Brian Paul [Thu, 7 Jan 2010 15:49:33 +0000 (08:49 -0700)]
gallium/util: remove useless assertions

14 years agogallium/util: update comment: s/src_pitch/src_stride
Brian Paul [Thu, 7 Jan 2010 15:49:05 +0000 (08:49 -0700)]
gallium/util: update comment: s/src_pitch/src_stride

14 years agogallium/util: make src_y unsigned like the other x/y params
Brian Paul [Thu, 7 Jan 2010 15:48:25 +0000 (08:48 -0700)]
gallium/util: make src_y unsigned like the other x/y params

14 years agollvmpipe: Remove TGSI sampler pointers from JIT context too.
José Fonseca [Thu, 7 Jan 2010 16:16:45 +0000 (16:16 +0000)]
llvmpipe: Remove TGSI sampler pointers from JIT context too.

14 years agollvmpipe: Remove more loose ends of TGSI exec sampling.
José Fonseca [Thu, 7 Jan 2010 15:59:41 +0000 (15:59 +0000)]
llvmpipe: Remove more loose ends of TGSI exec sampling.

14 years agoconfigure: Fix matching for dri driver to actually work
Kristian Høgsberg [Thu, 7 Jan 2010 15:29:29 +0000 (10:29 -0500)]
configure: Fix matching for dri driver to actually work

The shell case statement obviously only evaluates the first matching
block.  Thanks to Julien Cristau for spotting the bug.

14 years agomakefile: added src/glsl/Makefile.template to tarball list
Brian Paul [Thu, 7 Jan 2010 15:42:43 +0000 (08:42 -0700)]
makefile: added src/glsl/Makefile.template to tarball list

14 years agoi965g: updates for draw retval
Keith Whitwell [Thu, 7 Jan 2010 11:19:38 +0000 (11:19 +0000)]
i965g: updates for draw retval