mesa.git
14 years agost/dri: minor cosmetic for screen
George Sapountzis [Thu, 25 Mar 2010 15:01:52 +0000 (17:01 +0200)]
st/dri: minor cosmetic for screen

- put extensions above init_screen
- split out destroy_option_cache

14 years agost/dri: add inline for dri2 check done in multiple places
George Sapountzis [Thu, 25 Mar 2010 15:01:51 +0000 (17:01 +0200)]
st/dri: add inline for dri2 check done in multiple places

14 years agodrisw_util: add fields for gallium swrast_dri
George Sapountzis [Thu, 25 Mar 2010 15:01:51 +0000 (17:01 +0200)]
drisw_util: add fields for gallium swrast_dri

14 years agor300g/radeong: fix scons build
Joakim Sindholt [Thu, 25 Mar 2010 14:51:23 +0000 (15:51 +0100)]
r300g/radeong: fix scons build

14 years agoMerge branch 'gallium-targets'
Jakob Bornecrantz [Thu, 25 Mar 2010 13:48:41 +0000 (14:48 +0100)]
Merge branch 'gallium-targets'

14 years agogallium: Fix libgl-xlib path to sw xlib winsys
Jakob Bornecrantz [Thu, 25 Mar 2010 13:42:40 +0000 (14:42 +0100)]
gallium: Fix libgl-xlib path to sw xlib winsys

14 years agor300g: Remove unnecessary header.
Vinson Lee [Thu, 25 Mar 2010 07:20:05 +0000 (00:20 -0700)]
r300g: Remove unnecessary header.

14 years agoprogs/glsl: Fix vsraytrace GLSL compilation error.
Vinson Lee [Thu, 25 Mar 2010 05:53:23 +0000 (22:53 -0700)]
progs/glsl: Fix vsraytrace GLSL compilation error.

Fixes the following GLSL error on Mac OS X.
'=' :  assigning non-constant to 'const 3-component vector of float'

14 years agoprogs/glsl: Add raytracing demos to SCons build.
Vinson Lee [Thu, 25 Mar 2010 05:36:49 +0000 (22:36 -0700)]
progs/glsl: Add raytracing demos to SCons build.

14 years agollvmpipe: fix up some questionable fence code
Brian Paul [Thu, 25 Mar 2010 02:40:31 +0000 (20:40 -0600)]
llvmpipe: fix up some questionable fence code

Jose should probably review this since he wrote the original code.

14 years agollvmpipe: optimize the lp_setup_fence() function
Brian Paul [Thu, 25 Mar 2010 02:49:12 +0000 (20:49 -0600)]
llvmpipe: optimize the lp_setup_fence() function

Avoid emitting fences when not needed.
Speeds up glReadPixels quite a bit when reading image row by row.

14 years agollvmpipe: call lp_fence_signal()
Brian Paul [Thu, 25 Mar 2010 01:28:41 +0000 (19:28 -0600)]
llvmpipe: call lp_fence_signal()

14 years agollvmpipe: added lp_fence_signal()
Brian Paul [Thu, 25 Mar 2010 01:30:27 +0000 (19:30 -0600)]
llvmpipe: added lp_fence_signal()

14 years agoi915g: Correct and add supperted texture formats
Jakob Bornecrantz [Wed, 24 Mar 2010 23:41:21 +0000 (00:41 +0100)]
i915g: Correct and add supperted texture formats

14 years agost/dri: Fix for X server 1.6.0 (DRI2 version 1)
Jakob Bornecrantz [Wed, 24 Mar 2010 23:27:46 +0000 (00:27 +0100)]
st/dri: Fix for X server 1.6.0 (DRI2 version 1)

14 years agollvmpipe: fix texture reference counting bug
Brian Paul [Wed, 24 Mar 2010 22:27:31 +0000 (16:27 -0600)]
llvmpipe: fix texture reference counting bug

We weren't saving the per-scene texture references at the right point.

Fixes piglit cubemap segfault.  The segfault resulted from referencing
texture memory which was prematurely freed because of a missed reference
count.

Fixes fd.o bug 27276.

14 years agoprogs/demos: add other modes/patterns to dissolve demo
Brian Paul [Fri, 19 Mar 2010 17:34:43 +0000 (11:34 -0600)]
progs/demos: add other modes/patterns to dissolve demo

14 years agor100/r200/r300/r600: enable accel for Copy/DrawPixels without kms
Alex Deucher [Fri, 12 Mar 2010 18:58:56 +0000 (13:58 -0500)]
r100/r200/r300/r600: enable accel for Copy/DrawPixels without kms

meta ops should work ok without kms.

14 years agogallium: Add warnings incase pipe drivers are not built in targets
Jakob Bornecrantz [Wed, 24 Mar 2010 18:16:29 +0000 (19:16 +0100)]
gallium: Add warnings incase pipe drivers are not built in targets

14 years agogallium: Make scons build dri/xorg drivers again
Jakob Bornecrantz [Wed, 24 Mar 2010 17:42:35 +0000 (18:42 +0100)]
gallium: Make scons build dri/xorg drivers again

14 years agoi965: Handle the negate and abs swizzles on brw_wm_glsl.c immediate args.
Eric Anholt [Wed, 24 Mar 2010 17:26:05 +0000 (10:26 -0700)]
i965: Handle the negate and abs swizzles on brw_wm_glsl.c immediate args.

Fixes piglit glsl-orangebook-ch06-bump, regressed with
4fc57322258a750c0a9cabc77372b5ccde1fa877

14 years agoradeong: Fix scons build
Jakob Bornecrantz [Wed, 24 Mar 2010 17:09:19 +0000 (18:09 +0100)]
radeong: Fix scons build

14 years agogallium: Reorg winsys directories
Jakob Bornecrantz [Tue, 16 Mar 2010 13:54:18 +0000 (13:54 +0000)]
gallium: Reorg winsys directories

Attached output from commit.
 delete mode 100644 src/gallium/winsys/drm/SConscript
 delete mode 100644 src/gallium/winsys/drm/i965/SConscript
 delete mode 100644 src/gallium/winsys/drm/intel/Makefile
 delete mode 100644 src/gallium/winsys/drm/intel/SConscript
 delete mode 100644 src/gallium/winsys/drm/nouveau/Makefile
 delete mode 100644 src/gallium/winsys/drm/radeon/Makefile
 delete mode 100644 src/gallium/winsys/drm/radeon/SConscript
 delete mode 100644 src/gallium/winsys/drm/vmware/Makefile
 delete mode 100644 src/gallium/winsys/drm/vmware/SConscript
 rename src/gallium/winsys/{drm/intel/gem => i915/drm}/Makefile (82%)
 rename src/gallium/winsys/{drm/intel/gem => i915/drm}/SConscript (100%)
 rename src/gallium/winsys/{drm/intel/gem => i915/drm}/intel_drm_api.c (100%)
 rename src/gallium/winsys/{drm/intel/gem => i915/drm}/intel_drm_batchbuffer.c (100%)
 rename src/gallium/winsys/{drm/intel/gem => i915/drm}/intel_drm_buffer.c (100%)
 rename src/gallium/winsys/{drm/intel/gem => i915/drm}/intel_drm_fence.c (100%)
 rename src/gallium/winsys/{drm/intel/gem => i915/drm}/intel_drm_winsys.h (100%)
 rename src/gallium/winsys/{drm/i965/gem => i965/drm}/Makefile (78%)
 rename src/gallium/winsys/{drm/i965/gem => i965/drm}/SConscript (100%)
 rename src/gallium/winsys/{drm/i965/gem => i965/drm}/i965_drm_api.c (98%)
 rename src/gallium/winsys/{drm/i965/gem => i965/drm}/i965_drm_buffer.c (100%)
 rename src/gallium/winsys/{drm/i965/gem => i965/drm}/i965_drm_winsys.h (100%)
 rename src/gallium/winsys/{drm => }/i965/xlib/Makefile (97%)
 rename src/gallium/winsys/{drm => }/i965/xlib/xlib_i965.c (100%)
 rename src/gallium/winsys/{drm => }/nouveau/drm/Makefile (79%)
 rename src/gallium/winsys/{drm => }/nouveau/drm/nouveau_dri.h (100%)
 rename src/gallium/winsys/{drm => }/nouveau/drm/nouveau_drm_api.c (100%)
 rename src/gallium/winsys/{drm => }/nouveau/drm/nouveau_drm_api.h (100%)
 rename src/gallium/winsys/{drm/radeon/core => radeon/drm}/Makefile (79%)
 rename src/gallium/winsys/{drm/radeon/core => radeon/drm}/SConscript (100%)
 rename src/gallium/winsys/{drm/radeon/core => radeon/drm}/radeon_buffer.h (100%)
 rename src/gallium/winsys/{drm/radeon/core => radeon/drm}/radeon_drm.c (100%)
 rename src/gallium/winsys/{drm/radeon/core => radeon/drm}/radeon_drm.h (100%)
 rename src/gallium/winsys/{drm/radeon/core => radeon/drm}/radeon_drm_buffer.c (100%)
 rename src/gallium/winsys/{drm/radeon/core => radeon/drm}/radeon_r300.c (100%)
 rename src/gallium/winsys/{drm/radeon/core => radeon/drm}/radeon_r300.h (100%)
 rename src/gallium/winsys/{drm/radeon/core => radeon/drm}/radeon_winsys.h (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/Makefile (63%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/SConscript (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_buffer.c (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_buffer.h (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_context.c (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_context.h (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_fence.c (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_fence.h (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_screen.c (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_screen.h (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_screen_dri.c (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_screen_ioctl.c (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_screen_pools.c (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_screen_svga.c (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_surface.c (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmw_surface.h (100%)
 rename src/gallium/winsys/{drm/vmware/core => svga/drm}/vmwgfx_drm.h (100%)
 rename src/gallium/winsys/{drm/i965 => sw}/Makefile (61%)
 copy src/gallium/winsys/{drm/sw => sw/drm}/Makefile (73%)
 rename src/gallium/winsys/{drm/sw => sw/drm}/sw_drm_api.c (98%)
 rename src/gallium/winsys/{drm/sw => sw/drm}/sw_drm_api.h (100%)
 rename src/gallium/winsys/{ => sw}/gdi/SConscript (100%)
 rename src/gallium/winsys/{ => sw}/gdi/gdi_sw_winsys.c (100%)
 rename src/gallium/winsys/{ => sw}/gdi/gdi_sw_winsys.h (100%)
 rename src/gallium/winsys/{ => sw}/null/Makefile (78%)
 rename src/gallium/winsys/{ => sw}/null/SConscript (100%)
 rename src/gallium/winsys/{ => sw}/null/null_sw_winsys.c (100%)
 rename src/gallium/winsys/{ => sw}/null/null_sw_winsys.h (100%)
 rename src/gallium/winsys/{drm/sw => sw/wrapper}/Makefile (65%)
 rename src/gallium/winsys/{drm/sw => sw/wrapper}/wrapper_sw_winsys.c (100%)
 rename src/gallium/winsys/{drm/sw => sw/wrapper}/wrapper_sw_winsys.h (100%)
 rename src/gallium/winsys/{ => sw}/xlib/Makefile (79%)
 rename src/gallium/winsys/{ => sw}/xlib/SConscript (100%)
 rename src/gallium/winsys/{ => sw}/xlib/xlib_sw_winsys.c (100%)

14 years agogallium: Move xorg drivers to targets
Jakob Bornecrantz [Wed, 24 Mar 2010 10:45:30 +0000 (11:45 +0100)]
gallium: Move xorg drivers to targets

Attached output from git commit:
 rename src/gallium/{winsys/drm/intel/xorg => targets/xorg-i915}/Makefile (95%)
 rename src/gallium/{winsys/drm/intel/xorg => targets/xorg-i915}/intel_xorg.c (98%)
 rename src/gallium/{winsys/drm/i965/xorg => targets/xorg-i965}/Makefile (78%)
 rename src/gallium/{winsys/drm/i965/xorg => targets/xorg-i965}/intel_xorg.c (98%)
 rename src/gallium/{winsys/drm/nouveau/xorg => targets/xorg-nouveau}/Makefile (96%)
 rename src/gallium/{winsys/drm/nouveau/xorg => targets/xorg-nouveau}/nouveau_xorg.c (98%)
 rename src/gallium/{winsys/drm/radeon/xorg => targets/xorg-radeon}/Makefile (73%)
 rename src/gallium/{winsys/drm/radeon/xorg => targets/xorg-radeon}/radeon_xorg.c (98%)
 rename src/gallium/{winsys/drm/vmware/xorg => targets/xorg-vmwgfx}/Makefile (97%)
 rename src/gallium/{winsys/drm/vmware/xorg => targets/xorg-vmwgfx}/SConscript (100%)
 rename src/gallium/{winsys/drm/vmware/xorg => targets/xorg-vmwgfx}/vmw_driver.h (100%)
 rename src/gallium/{winsys/drm/vmware/xorg => targets/xorg-vmwgfx}/vmw_hook.h (100%)
 rename src/gallium/{winsys/drm/vmware/xorg => targets/xorg-vmwgfx}/vmw_ioctl.c (99%)
 rename src/gallium/{winsys/drm/vmware/xorg => targets/xorg-vmwgfx}/vmw_screen.c (100%)
 rename src/gallium/{winsys/drm/vmware/xorg => targets/xorg-vmwgfx}/vmw_video.c (99%)
 rename src/gallium/{winsys/drm/vmware/xorg => targets/xorg-vmwgfx}/vmw_xorg.c (100%)

14 years agogallium: Move egl drivers to targets
Jakob Bornecrantz [Wed, 24 Mar 2010 09:58:45 +0000 (10:58 +0100)]
gallium: Move egl drivers to targets

Atteched output from git commit:
 rename src/gallium/{winsys/drm => targets}/Makefile.egl (100%)
 rename src/gallium/{winsys/drm/intel/egl => targets/egl-i915}/Makefile (86%)
 rename src/gallium/{winsys/drm/i965/egl => targets/egl-i915}/dummy.c (100%)
 rename src/gallium/{winsys/drm/i965/egl => targets/egl-i965}/Makefile (86%)
 rename src/gallium/{winsys/drm/intel/egl => targets/egl-i965}/dummy.c (100%)
 rename src/gallium/{winsys/drm/nouveau/egl => targets/egl-nouveau}/Makefile (88%)
 rename src/gallium/{winsys/drm/nouveau/egl => targets/egl-nouveau}/dummy.c (100%)
 rename src/gallium/{winsys/drm/radeon/egl => targets/egl-radeon}/Makefile (87%)
 rename src/gallium/{winsys/drm/radeon/egl => targets/egl-radeon}/dummy.c (100%)
 create mode 100644 src/gallium/targets/egl-swrast/Makefile
 create mode 100644 src/gallium/targets/egl-swrast/swrast_glue.c
 rename src/gallium/{winsys/drm/vmware/egl => targets/egl-vmwgfx}/Makefile (86%)
 rename src/gallium/{winsys/drm/swrast/egl => targets/egl-vmwgfx}/dummy.c (100%)
 delete mode 100644 src/gallium/winsys/drm/swrast/Makefile
 delete mode 100644 src/gallium/winsys/drm/swrast/core/Makefile
 delete mode 100644 src/gallium/winsys/drm/swrast/core/swrast_drm_api.c
 delete mode 100644 src/gallium/winsys/drm/swrast/egl/Makefile
 delete mode 100644 src/gallium/winsys/drm/vmware/egl/dummy.c

14 years agogallium: Move dri drivers to targets
Jakob Bornecrantz [Tue, 23 Mar 2010 13:23:26 +0000 (13:23 +0000)]
gallium: Move dri drivers to targets

Attached output from git commit:
 rename src/gallium/{winsys/drm/Makefile.template => targets/Makefile.dri} (100%)
 rename src/gallium/{winsys/drm/intel/dri => targets/dri-i915}/Makefile (75%)
 rename src/gallium/{winsys/drm/intel/dri => targets/dri-i915}/SConscript (100%)
 rename src/gallium/{winsys/drm/i965/dri => targets/dri-i965}/Makefile (76%)
 rename src/gallium/{winsys/drm/i965/dri => targets/dri-i965}/SConscript (100%)
 rename src/gallium/{winsys/drm/nouveau/dri => targets/dri-nouveau}/Makefile (86%)
 rename src/gallium/{winsys/drm/radeon/dri => targets/dri-radeong}/Makefile (85%)
 rename src/gallium/{winsys/drm/radeon/dri => targets/dri-radeong}/SConscript (100%)
 rename src/gallium/{winsys/drm/vmware/dri => targets/dri-vmwgfx}/Makefile (85%)
 rename src/gallium/{winsys/drm/vmware/dri => targets/dri-vmwgfx}/SConscript (100%)

14 years agogallium: Remove GALLIUM_WINSYS_DRM_DIRS
Jakob Bornecrantz [Tue, 16 Mar 2010 13:44:32 +0000 (13:44 +0000)]
gallium: Remove GALLIUM_WINSYS_DRM_DIRS

14 years agoprogs/glsl: remove/replace //-style comments
Brian Paul [Wed, 24 Mar 2010 15:08:24 +0000 (09:08 -0600)]
progs/glsl: remove/replace //-style comments

14 years agoprogs/glsl: silence warnings, remove debug code, adjust window size, etc
Brian Paul [Wed, 24 Mar 2010 15:03:33 +0000 (09:03 -0600)]
progs/glsl: silence warnings, remove debug code, adjust window size, etc

14 years agodemos: import GLSL raytracing demos
RALOVICH, Kristóf [Wed, 24 Mar 2010 01:48:15 +0000 (21:48 -0400)]
demos: import GLSL raytracing demos

14 years agost/mesa: fix typo in prev commit
Brian Paul [Wed, 24 Mar 2010 15:00:48 +0000 (09:00 -0600)]
st/mesa: fix typo in prev commit

14 years agost/mesa: fix sampler_view destruction bug when texture is shared
Brian Paul [Wed, 24 Mar 2010 14:34:26 +0000 (08:34 -0600)]
st/mesa: fix sampler_view destruction bug when texture is shared

Since texture's can be shared by many contexts, the texture's sampler
view's context pointer might be invalid by time we delete the texture.

Prevent crashes/etc by setting the sampler view's context to be the
calling context before deleting it.  This should be safe as long as
all contexts which share the texture are using the same gallium driver.
That's a reasonable assumption since pipe_texture objects aren't
compatible between different drivers anyway.

14 years agost/mesa: code clean-ups, formatting fixes, comments, etc
Brian Paul [Wed, 24 Mar 2010 14:25:24 +0000 (08:25 -0600)]
st/mesa: code clean-ups, formatting fixes, comments, etc

14 years agost/mesa: rename st_clear() to st_Clear()
Brian Paul [Wed, 24 Mar 2010 14:18:13 +0000 (08:18 -0600)]
st/mesa: rename st_clear() to st_Clear()

To be consistent with other Mesa driver functions.

14 years agost/mesa: return GL_TRUE/GL_FALSE if return type is GLboolean
Brian Paul [Wed, 24 Mar 2010 14:16:25 +0000 (08:16 -0600)]
st/mesa: return GL_TRUE/GL_FALSE if return type is GLboolean

Just to be consistent.

14 years agoprogs/egl: Link xeglthreads to libpthread.
Chia-I Wu [Wed, 24 Mar 2010 00:34:39 +0000 (08:34 +0800)]
progs/egl: Link xeglthreads to libpthread.

This should hopefully fix a build failure reported by Chris Ball when
binutils-gold is used.

14 years agoswrast: improve depth texture mipmap selection
Brian Paul [Tue, 23 Mar 2010 23:55:41 +0000 (17:55 -0600)]
swrast: improve depth texture mipmap selection

We still don't do proper min/mag filtering but this is better than just
sampling the base mipmap level all the time.

Fixes piglit depth-level-clamp test.  Fixes fd.o bug 27256.

14 years agost/glx: add support for multiple displays
Brian Paul [Tue, 23 Mar 2010 23:22:43 +0000 (17:22 -0600)]
st/glx: add support for multiple displays

This is a quick & dirty solution, but it works.  See comments in
the code for other ideas.

Fixes regressions/breakage seen in progs/xdemos/glxheads, etc. from commit
6632915e957149c153a3f793c400a532b4995b18.

14 years agoglslcompiler: added option to do linking of vert/frag shaders
Brian Paul [Tue, 23 Mar 2010 17:46:02 +0000 (11:46 -0600)]
glslcompiler: added option to do linking of vert/frag shaders

14 years agodri: fix dri_test.c for non-TLS build
Luca Barbieri [Tue, 23 Mar 2010 21:59:44 +0000 (22:59 +0100)]
dri: fix dri_test.c for non-TLS build

_glapi_Context and _glapi_Dispatch have different constness between
TLS and non-TLS builds.

14 years agodri: add _glthread_GetID to dri_test.c dummy glapi
Luca Barbieri [Tue, 23 Mar 2010 21:57:25 +0000 (22:57 +0100)]
dri: add _glthread_GetID to dri_test.c dummy glapi

14 years agodri: make unresolved symbol test link work even without a libGL.so
Luca Barbieri [Tue, 23 Mar 2010 20:10:07 +0000 (21:10 +0100)]
dri: make unresolved symbol test link work even without a libGL.so

Currently the test link uses -lGL to define the glapi symbols.

This makes it impossible to build DRI drivers on systems without
Mesa installed and without building the libGL from the Mesa tree
first.

Some automated build systems trigger this problem.

This commit removes -lGL and instead adds a dummy implementation of
glapi to dri_test.c

This, along with Kristian's commit, should fix all known regressions
due to the addition of unresolved symbol checking.

14 years agoChange libX11 variables to not conflict with AC_PATH_XTRA
Dan Nicholson [Tue, 16 Mar 2010 03:53:56 +0000 (20:53 -0700)]
Change libX11 variables to not conflict with AC_PATH_XTRA

The variable X_LIBS from AC_PATH_XTRA contains only the -L searchdir
parameter and not the -lX11 to link to Xlib. Use X11 prefixed build vars
for linking with Xlib to avoid the conflict.

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
14 years agodri: Add $(DRI_LIB_DEPS) when linking the test binary
Kristian Høgsberg [Tue, 23 Mar 2010 19:47:49 +0000 (15:47 -0400)]
dri: Add $(DRI_LIB_DEPS) when linking the test binary

This will make sure we pick up libdrm_$(chipset).so from the right place.

14 years agoi965: Stop abusing ctx->NewState flags for storing driver internal changes.
Eric Anholt [Wed, 24 Mar 2010 03:52:06 +0000 (20:52 -0700)]
i965: Stop abusing ctx->NewState flags for storing driver internal changes.

We're still abusing the flags by putting them where our driver stores
ctx->NewState changes.  Making them into more restricted state change
flags would be a project for later.

Fixes a failure where calling intel_draw_buffer() too often would trip
up Mesa assertions about when Mesa state could get changed, when it hadn't.

Bug #27034.

14 years agomesa: Also print _NEW_STENCIL in _mesa_print_state()
Kristian Høgsberg [Tue, 23 Mar 2010 16:07:45 +0000 (12:07 -0400)]
mesa: Also print _NEW_STENCIL in _mesa_print_state()

14 years agonvfx: add NOUVEAU_VTXIDX_IN_VRAM variable to put vertex/index buffers in VRAM
Luca Barbieri [Mon, 11 Jan 2010 02:13:42 +0000 (03:13 +0100)]
nvfx: add NOUVEAU_VTXIDX_IN_VRAM variable to put vertex/index buffers in VRAM

On some systems, putting vertex and index buffers in VRAM instead of GART
memory eliminates massive graphics corruption which is otherwise present,
due to unclear causes.

This patch adds an environment variable that does that, along with helpful
messages.

It turns it on by default on G7x, as it is what I am seeing corruption
on and some other reports also seemed to pinpoint these cards.

14 years agonvfx: delay allocation of buffers in GART/VRAM to validation time
Luca Barbieri [Tue, 23 Mar 2010 15:34:51 +0000 (16:34 +0100)]
nvfx: delay allocation of buffers in GART/VRAM to validation time

Currently we allocate buffers in GART or VRAM at creation time.

However, when using swtnl, this results in reads from uncached
memory, which drastically impair performance.

So, for now, cause nouveau_screen.c to not pass any placement flags
to buffer creation, so that the buffers are moved later.

Previously libdrm itself did this, but was changed to not to do it.

This may introduce an extra copy in normal usage, but this currently
does not seem to introduce significant performance degradation.

This will be revisited when pipebuffer is integrated.

Note that for AGP systems, properly solving this may be complex
since currently there is no fast way of reading from GART/VRAM.

We will probably need to try mapping AGP as writethrough and, in
addition, make buffer creation more aware of future buffer usage.

14 years agost/mesa: make st_manager.c set have[Stencil|Depth]Buffer only if bits > 0
Luca Barbieri [Tue, 23 Mar 2010 16:40:42 +0000 (17:40 +0100)]
st/mesa: make st_manager.c set have[Stencil|Depth]Buffer only if bits > 0

Fixes a segfault when clearing a non-existent stencil buffer.

14 years agodri: use mv -f instead of mv to ensure no prompting occurs
Luca Barbieri [Tue, 23 Mar 2010 16:55:38 +0000 (17:55 +0100)]
dri: use mv -f instead of mv to ensure no prompting occurs

Using just mv may cause prompts on some systems/configurations.

14 years agoMerge branch '7.8'
Brian Paul [Tue, 23 Mar 2010 15:14:17 +0000 (09:14 -0600)]
Merge branch '7.8'

Conflicts:

Makefile
src/gallium/state_trackers/glx/xlib/xm_api.c
src/mesa/drivers/dri/intel/intel_blit.c
src/mesa/drivers/dri/intel/intel_pixel_copy.c
src/mesa/main/version.h

14 years agosoftpipe: comments, re-formatting, etc
Brian Paul [Tue, 23 Mar 2010 15:08:35 +0000 (09:08 -0600)]
softpipe: comments, re-formatting, etc

14 years agosoftpipe: add special cases for all Z compare modes for 16-bit Z buffer
Brian Paul [Tue, 23 Mar 2010 15:00:19 +0000 (09:00 -0600)]
softpipe: add special cases for all Z compare modes for 16-bit Z buffer

We had fast paths for PIPE_FUNC_LESS and LEQUAL before.  To satisfy
OpenGL invariance rules, all depth compare modes should produce the
same fragment Z values.

Fixes progs/demos/singlebuffer.c

14 years agost/glx: better format selection in xmesa_choose_z_stencil_format()
Brian Paul [Tue, 23 Mar 2010 14:58:09 +0000 (08:58 -0600)]
st/glx: better format selection in xmesa_choose_z_stencil_format()

This is a back-port of commit ef2664da6c4db1b52ef351641e3ee949b87f9c7b
from master.

14 years agonvfx: don't crash on empty fragment program
Luca Barbieri [Sun, 17 Jan 2010 21:27:53 +0000 (22:27 +0100)]
nvfx: don't crash on empty fragment program

14 years agonvfx: fix coding style in nvfx_transfer.c
Luca Barbieri [Wed, 17 Mar 2010 21:31:29 +0000 (22:31 +0100)]
nvfx: fix coding style in nvfx_transfer.c

14 years agonvfx: stop incessantly spewing debug messages on the terminal
Luca Barbieri [Wed, 17 Mar 2010 19:31:56 +0000 (20:31 +0100)]
nvfx: stop incessantly spewing debug messages on the terminal

Currently we are continuously spewing messages about these variables
since we call debug_get_bool_option everytime we want to check their value.

This is annoying, slows things down due to terminal rerendering
and obscures useful messages.

This patch only calls debug_get_bool_option once and caches the result in a
static variable.

14 years agonvfx: fix/workaround nv3x hwtnl issues
Luca Barbieri [Wed, 17 Mar 2010 14:44:45 +0000 (15:44 +0100)]
nvfx: fix/workaround nv3x hwtnl issues

This patch re-emits the viewport state on framebuffer or rasterizer
change.

This seems to be necessary on nv3x, but the reason is not fully
understood.

It is quite likely that this isn't really the correct fix, but seems
to work, and makes nv3x much better.

14 years agodri: test whether the built drivers have unresolved symbols
Luca Barbieri [Mon, 15 Mar 2010 17:36:27 +0000 (18:36 +0100)]
dri: test whether the built drivers have unresolved symbols

This is a different approach to solving this problem that the patch
I previously posted, and unlike that, should not cause any problems.

Right now undefined symbols in DRI drivers will still allow the
build to succeed.

As a result, people modifying drivers they cannot test risk creating
unloadable drivers with no easy way of automatically avoiding it.

For instance, the modifications to nv50 for context transfers caused
such an issue recently.

Unfortunately, just adding -Wl,--no-undefined doesn't work, because
the DRI drivers depend on glapi symbols, but do not depend on
libGL.so.1

Adding -lGL is not the correct solution since DRI drivers are not loaded
just by libGL, but also by X and possibly by other clients.

So, this patch simply tries to build an executable linked to the DRI
driver and to libGL.
If the DRI driver contains any undefined symbols not satisfied by its
dependencies or by libGL, this will fail.

This solution does not alter the built drivers, and does not significantly
slow down the build process.

All classic DRI drivers as well as all the Gallium drivers with configure
options compiled successfully with this change.

Thanks to Xavier Chantry <chantry.xavier@gmail.com> and
Michel Daenzer <michel@daenzer.net> for helping with this.

Signed-off-by: Luca Barbieri <luca@luca-barbieri.com>
Acked-by: Brian Paul <brian.e.paul@gmail.com>
14 years agoradeong: fix build issue with libdrm < 2.4.19
Marek Olšák [Tue, 23 Mar 2010 12:33:16 +0000 (13:33 +0100)]
radeong: fix build issue with libdrm < 2.4.19

14 years agor300g: fix glean occlusion query test
Dave Airlie [Mon, 22 Mar 2010 03:35:20 +0000 (13:35 +1000)]
r300g: fix glean occlusion query test

14 years agoAdd missing EGL files to the tarballs.
Chia-I Wu [Tue, 23 Mar 2010 06:37:24 +0000 (14:37 +0800)]
Add missing EGL files to the tarballs.

Add the Makefile of Gallium EGL drivers and demos using EGL to the
tarballs.

14 years agoglx: Suppress BadDrawable from DRI2CopyRegion
Kristian Høgsberg [Tue, 23 Mar 2010 01:57:26 +0000 (21:57 -0400)]
glx: Suppress BadDrawable from DRI2CopyRegion

This can happen when an X window is destroyed behind our back.  We use
DRI2CopyRegion behind the scenes in many places (like flushing the fake
front to the real front) so we have to ignore X errors triggered in that
case.

The glean test cases trigger this consistently as they don't destroy the
GLX drawable nicely, they just destroy the X window.

14 years agoglx: Suppress BadDrawable from DRI2CopyRegion
Kristian Høgsberg [Tue, 23 Mar 2010 01:57:26 +0000 (21:57 -0400)]
glx: Suppress BadDrawable from DRI2CopyRegion

This can happen when an X window is destroyed behind our back.  We use
DRI2CopyRegion behind the scenes in many places (like flushing the fake
front to the real front) so we have to ignore X errors triggered in that
case.

The glean test cases trigger this consistently as they don't destroy the
GLX drawable nicely, they just destroy the X window.

14 years agogallium/docs: Cleanup and clarify point ras info.
Corbin Simpson [Tue, 23 Mar 2010 01:12:16 +0000 (18:12 -0700)]
gallium/docs: Cleanup and clarify point ras info.

...This state's interdependent? Really? Needs moar cleanup.

14 years agoradeong: Always initialize this variable.
Corbin Simpson [Tue, 23 Mar 2010 01:11:40 +0000 (18:11 -0700)]
radeong: Always initialize this variable.

May or may not be responsible for slight increases in ipers FPS.

14 years agor300g: Cleanup a few old warnings.
Corbin Simpson [Mon, 22 Mar 2010 10:10:19 +0000 (03:10 -0700)]
r300g: Cleanup a few old warnings.

Those paths aren't important anymore, and a debugging warning won't stop
a hardlock anyway.

14 years agomesa: set version string to 7.8-rc2
Ian Romanick [Tue, 23 Mar 2010 01:09:15 +0000 (18:09 -0700)]
mesa: set version string to 7.8-rc2

14 years agoGLX/OML: honor OML semantics even if target, divisor and remainder are 0
Jesse Barnes [Mon, 22 Mar 2010 23:39:11 +0000 (16:39 -0700)]
GLX/OML: honor OML semantics even if target, divisor and remainder are 0

This change passes a remainder of 1 to the server with the
DRI2SwapBuffers request, causing it to honor the OML semantics for the
swap rather than falling through to glXSwapBuffers behavior.  The
remainder actually ends up ignored since the divisor is 0, but we need
to differentiate the OML and standard behavior somehow.

Reported-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
14 years agoi965: Add disasm for SNB MATH opcode.
Eric Anholt [Mon, 22 Mar 2010 17:17:19 +0000 (10:17 -0700)]
i965: Add disasm for SNB MATH opcode.

14 years agoi965: Enable normal clipping on SNB.
Eric Anholt [Mon, 22 Mar 2010 16:04:25 +0000 (09:04 -0700)]
i965: Enable normal clipping on SNB.

Rejecting all doesn't seem to be helping get the pipeline lit up.

14 years agoi965: Force single program flow in SNB GS, to match gen4 GS.
Eric Anholt [Sat, 20 Mar 2010 00:14:12 +0000 (17:14 -0700)]
i965: Force single program flow in SNB GS, to match gen4 GS.

14 years agoi965: Correct copy and wasted field shifts for SNB GS URB.
Eric Anholt [Sat, 20 Mar 2010 00:08:42 +0000 (17:08 -0700)]
i965: Correct copy and wasted field shifts for SNB GS URB.

14 years agoi965: Enable VS on SNB.
Eric Anholt [Fri, 19 Mar 2010 23:00:31 +0000 (16:00 -0700)]
i965: Enable VS on SNB.

It appears that the thing that was killing VS threads was the
gratuitous NOP that replaced the gratuitous jump from OPCODE_END to
the nearby OPCODE_END implementation.  With that gone, we can move on
to the rest of the pipeline.

14 years agoi965: Remove gratuitous jump or nop from OPCODE_END to vertex emit.
Eric Anholt [Fri, 19 Mar 2010 22:57:50 +0000 (15:57 -0700)]
i965: Remove gratuitous jump or nop from OPCODE_END to vertex emit.

Just emit the URB write at END time.  Subroutine code that sits after
OPCODE_END won't be executed since we've ended the thread at the point
that the URB write is done.

14 years agoi965: Ignore execution mask for the mov(m0, g0) of VS URB write header on SNB.
Eric Anholt [Fri, 19 Mar 2010 22:04:17 +0000 (15:04 -0700)]
i965: Ignore execution mask for the mov(m0, g0) of VS URB write header on SNB.

Otherwise, we may not get the FFTID set up which would break freeing
of resources.

14 years agoi965: Allow FS constants to be used as immediates instead of push/pull.
Eric Anholt [Fri, 19 Mar 2010 19:34:53 +0000 (12:34 -0700)]
i965: Allow FS constants to be used as immediates instead of push/pull.

The hope is to later take advantage of the reduced constant usage to
free up regs.  This only covers the GLSL path at the moment, because
the brw_wm_emit path doesn't get the information as to whether a float
value is a constant or a uniform.

14 years agoi965: Add INTEL_DEBUG=glsl_force to force brw_wm_glsl.c.
Eric Anholt [Fri, 19 Mar 2010 19:27:38 +0000 (12:27 -0700)]
i965: Add INTEL_DEBUG=glsl_force to force brw_wm_glsl.c.

I keep finding the desire to force this path to debug it instead of
cooking up goofy-looking testcases to do so.

14 years agoi965: Optimize OPCODE_CMP by using BRW_SEL to choose results.
Eric Anholt [Fri, 19 Mar 2010 18:44:43 +0000 (11:44 -0700)]
i965: Optimize OPCODE_CMP by using BRW_SEL to choose results.

Tested with piglit glsl-fs-sqrt-branch, fp-cmp.vpfp.

14 years agost/glx: fix depth/stencil format selection code
Brian Paul [Mon, 22 Mar 2010 21:55:43 +0000 (15:55 -0600)]
st/glx: fix depth/stencil format selection code

This fixes a pretty big performance regression caused by commit
3475e88442c16fb2b50b903fe246b3ebe49da226.

When the user does not request a stencil buffer it's important that we
don't use a depth/stencil format (or at least make it our last choice).
If the user calls glClear(GL_DEPTH_BUFFER_BIT) when we have a combined
depth/stencil buffer, that causes us to hit the clear_with_quad() path
which can be much, much slower than calling pipe_context::clear().

Also, try to use a shallower depth format before a deeper one.

14 years agost/mesa: rename st_framebuffer() to st_ws_framebuffer()
Brian Paul [Mon, 22 Mar 2010 21:49:38 +0000 (15:49 -0600)]
st/mesa: rename st_framebuffer() to st_ws_framebuffer()

Be clear that this function is not just a cast wrapper.

14 years agointel: Call intel_prepare_render() before looking up regions.
Kristian Høgsberg [Mon, 22 Mar 2010 21:54:35 +0000 (17:54 -0400)]
intel: Call intel_prepare_render() before looking up regions.

Fixes #27213.

14 years agointel: Call intel_prepare_render() before looking up regions.
Kristian Høgsberg [Mon, 22 Mar 2010 21:54:35 +0000 (17:54 -0400)]
intel: Call intel_prepare_render() before looking up regions.

Fixes #27213.

14 years agost/mesa: Remove unnecessary headers.
Vinson Lee [Mon, 22 Mar 2010 20:02:09 +0000 (13:02 -0700)]
st/mesa: Remove unnecessary headers.

14 years agoglslcompiler: fix build again
Brian Paul [Mon, 22 Mar 2010 19:36:27 +0000 (13:36 -0600)]
glslcompiler: fix build again

Simply use the libglapi.a archive instead of individual .o files.
Fixes the non-debug build.

14 years agocso: Remove unnecessary header.
Vinson Lee [Mon, 22 Mar 2010 18:34:18 +0000 (11:34 -0700)]
cso: Remove unnecessary header.

14 years agoFix potential compilation issue in visual studio project file
Karl Schultz [Mon, 22 Mar 2010 18:18:02 +0000 (12:18 -0600)]
Fix potential compilation issue in visual studio project file

Add quotes around filespec in post-build event to allow paths
with embedded spaces.

14 years agodri/nouveau: Rectangle texture fixes.
Francisco Jerez [Mon, 22 Mar 2010 17:10:25 +0000 (18:10 +0100)]
dri/nouveau: Rectangle texture fixes.

14 years agodri/nouveau: Some render to texture fixes.
Francisco Jerez [Mon, 22 Mar 2010 17:28:51 +0000 (18:28 +0100)]
dri/nouveau: Some render to texture fixes.

14 years agodri/nouveau: Fix swrast fallbacks when the read and draw buffers aren't the same.
Francisco Jerez [Mon, 22 Mar 2010 17:25:30 +0000 (18:25 +0100)]
dri/nouveau: Fix swrast fallbacks when the read and draw buffers aren't the same.

14 years agodri/nouveau: Expose EXT_framebuffer_blit.
Francisco Jerez [Mon, 22 Mar 2010 17:21:13 +0000 (18:21 +0100)]
dri/nouveau: Expose EXT_framebuffer_blit.

14 years agodri/nouveau: Plug in some mesa_meta functions instead of the swrast variants.
Francisco Jerez [Mon, 22 Mar 2010 13:23:40 +0000 (14:23 +0100)]
dri/nouveau: Plug in some mesa_meta functions instead of the swrast variants.

14 years agodri/nouveau: Emit dirty states on nouveau_validate_framebuffer.
Francisco Jerez [Mon, 22 Mar 2010 13:15:52 +0000 (14:15 +0100)]
dri/nouveau: Emit dirty states on nouveau_validate_framebuffer.

Fixes broken intermediate frames when a window is being resized
(regression caused by 878eef8c4).

14 years agonvfx: fix sampler views support
Luca Barbieri [Mon, 22 Mar 2010 17:36:16 +0000 (18:36 +0100)]
nvfx: fix sampler views support

The code was half converted, resulting in texturing being totally broken.

14 years agoglslcompiler: fix build breakage
Brian Paul [Mon, 22 Mar 2010 15:08:09 +0000 (09:08 -0600)]
glslcompiler: fix build breakage

14 years agoMerge branch '7.8'
Brian Paul [Mon, 22 Mar 2010 15:07:46 +0000 (09:07 -0600)]
Merge branch '7.8'

Conflicts:

src/gallium/drivers/cell/ppu/cell_screen.c
src/mesa/state_tracker/st_cb_drawpixels.c

14 years agoglslcompiler: fix build breakage
Brian Paul [Mon, 22 Mar 2010 15:00:13 +0000 (09:00 -0600)]
glslcompiler: fix build breakage

14 years agomesa: remove return, do as the comment says
Brian Paul [Mon, 22 Mar 2010 14:23:14 +0000 (08:23 -0600)]
mesa: remove return, do as the comment says

14 years agomesa: Add end of line to the end of a debug output.
Pauli Nieminen [Mon, 22 Mar 2010 13:14:16 +0000 (15:14 +0200)]
mesa: Add end of line to the end of a debug output.

14 years agodocs: Update the path to build libgl-xlib.
Chia-I Wu [Mon, 22 Mar 2010 05:30:54 +0000 (13:30 +0800)]
docs: Update the path to build libgl-xlib.