Commit graph

32734 commits

Author SHA1 Message Date
George Sapountzis
03c4573eca st/dri: minor cosmetic for buffers 2010-03-25 17:01:52 +02:00
George Sapountzis
c049d58a22 st/dri: minor cosmetic for screen
- put extensions above init_screen
- split out destroy_option_cache
2010-03-25 17:01:52 +02:00
George Sapountzis
d7f78065ac st/dri: add inline for dri2 check done in multiple places 2010-03-25 17:01:51 +02:00
George Sapountzis
20755c5c4c drisw_util: add fields for gallium swrast_dri 2010-03-25 17:01:51 +02:00
Joakim Sindholt
204c88014b r300g/radeong: fix scons build 2010-03-25 15:51:23 +01:00
Jakob Bornecrantz
7d17de4b47 Merge branch 'gallium-targets' 2010-03-25 14:48:41 +01:00
Jakob Bornecrantz
0d0220fedc gallium: Fix libgl-xlib path to sw xlib winsys 2010-03-25 14:43:37 +01:00
Vinson Lee
8b12c58ce4 r300g: Remove unnecessary header. 2010-03-25 00:20:05 -07:00
Vinson Lee
3fcfd69fec 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'
2010-03-24 22:53:23 -07:00
Vinson Lee
3bccb5447b progs/glsl: Add raytracing demos to SCons build. 2010-03-24 22:36:49 -07:00
Brian Paul
9a52417582 llvmpipe: fix up some questionable fence code
Jose should probably review this since he wrote the original code.
2010-03-24 20:49:54 -06:00
Brian Paul
a9063cad0f 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.
2010-03-24 20:49:39 -06:00
Brian Paul
d7ddb589f4 llvmpipe: call lp_fence_signal() 2010-03-24 19:30:32 -06:00
Brian Paul
331729c8c8 llvmpipe: added lp_fence_signal() 2010-03-24 19:30:27 -06:00
Jakob Bornecrantz
b4b4ac6681 i915g: Correct and add supperted texture formats 2010-03-25 00:45:31 +01:00
Jakob Bornecrantz
372011bc89 st/dri: Fix for X server 1.6.0 (DRI2 version 1) 2010-03-25 00:45:28 +01:00
Brian Paul
2ad8692aad 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.
2010-03-24 16:29:17 -06:00
Brian Paul
f0e04b0944 progs/demos: add other modes/patterns to dissolve demo 2010-03-24 16:29:17 -06:00
Alex Deucher
d9a19d8649 r100/r200/r300/r600: enable accel for Copy/DrawPixels without kms
meta ops should work ok without kms.
2010-03-24 15:42:13 -04:00
Jakob Bornecrantz
f5ae5b5396 gallium: Add warnings incase pipe drivers are not built in targets 2010-03-24 19:16:29 +01:00
Jakob Bornecrantz
738850e522 gallium: Make scons build dri/xorg drivers again 2010-03-24 18:42:35 +01:00
Eric Anholt
3695cdd606 i965: Handle the negate and abs swizzles on brw_wm_glsl.c immediate args.
Fixes piglit glsl-orangebook-ch06-bump, regressed with
4fc5732225
2010-03-24 10:27:30 -07:00
Jakob Bornecrantz
42a1bcc22f radeong: Fix scons build 2010-03-24 18:09:19 +01:00
Jakob Bornecrantz
c9f98673c5 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%)
2010-03-24 17:02:17 +01:00
Jakob Bornecrantz
43218a45a4 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%)
2010-03-24 17:02:17 +01:00
Jakob Bornecrantz
f5ba2cdeb9 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
2010-03-24 17:02:17 +01:00
Jakob Bornecrantz
be38b32531 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%)
2010-03-24 17:02:17 +01:00
Jakob Bornecrantz
41d2ebf202 gallium: Remove GALLIUM_WINSYS_DRM_DIRS 2010-03-24 17:02:17 +01:00
Brian Paul
01f7acb700 progs/glsl: remove/replace //-style comments 2010-03-24 09:08:24 -06:00
Brian Paul
79394f0267 progs/glsl: silence warnings, remove debug code, adjust window size, etc 2010-03-24 09:04:17 -06:00
RALOVICH, Kristóf
4e328774d4 demos: import GLSL raytracing demos 2010-03-24 09:04:14 -06:00
Brian Paul
e71c1589d8 st/mesa: fix typo in prev commit 2010-03-24 09:04:10 -06:00
Brian Paul
2d6befd9d1 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.
2010-03-24 08:34:37 -06:00
Brian Paul
ab93f8d067 st/mesa: code clean-ups, formatting fixes, comments, etc 2010-03-24 08:25:24 -06:00
Brian Paul
3374b26f52 st/mesa: rename st_clear() to st_Clear()
To be consistent with other Mesa driver functions.
2010-03-24 08:18:21 -06:00
Brian Paul
f66d70b930 st/mesa: return GL_TRUE/GL_FALSE if return type is GLboolean
Just to be consistent.
2010-03-24 08:16:27 -06:00
Chia-I Wu
99386921e7 progs/egl: Link xeglthreads to libpthread.
This should hopefully fix a build failure reported by Chris Ball when
binutils-gold is used.
2010-03-24 08:46:10 +08:00
Brian Paul
2b5de09b3e 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.
2010-03-23 17:55:43 -06:00
Brian Paul
8ba47561dd 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
6632915e95.
2010-03-23 17:24:54 -06:00
Brian Paul
2d84d58975 glslcompiler: added option to do linking of vert/frag shaders 2010-03-23 16:20:02 -06:00
Luca Barbieri
3790199e04 dri: fix dri_test.c for non-TLS build
_glapi_Context and _glapi_Dispatch have different constness between
TLS and non-TLS builds.
2010-03-23 22:59:44 +01:00
Luca Barbieri
5f229547a5 dri: add _glthread_GetID to dri_test.c dummy glapi 2010-03-23 22:57:25 +01:00
Luca Barbieri
7e246e6aa6 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.
2010-03-23 21:32:09 +01:00
Dan Nicholson
e725ef171b 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>
2010-03-23 13:26:50 -07:00
Kristian Høgsberg
ba5a53edd1 dri: Add $(DRI_LIB_DEPS) when linking the test binary
This will make sure we pick up libdrm_$(chipset).so from the right place.
2010-03-23 15:50:23 -04:00
Eric Anholt
3d99e990c0 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.
2010-03-23 15:29:54 -04:00
Kristian Høgsberg
57edf6b1fc mesa: Also print _NEW_STENCIL in _mesa_print_state() 2010-03-23 15:29:05 -04:00
Luca Barbieri
3428a30515 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.
2010-03-23 18:11:25 +01:00
Luca Barbieri
208f5bf3cd 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.
2010-03-23 18:10:59 +01:00
Luca Barbieri
9f0e302cc7 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.
2010-03-23 18:02:51 +01:00