Keith Whitwell [Tue, 9 Mar 2010 11:02:37 +0000 (11:02 +0000)]
Merge commit 'origin/master' into gallium-sw-api-2
Conflicts:
src/gallium/drivers/llvmpipe/lp_setup.c
src/gallium/drivers/softpipe/sp_texture.c
src/gallium/drivers/softpipe/sp_winsys.h
src/gallium/state_trackers/egl/common/egl_g3d.c
src/gallium/state_trackers/egl/x11/native_x11.c
src/gallium/state_trackers/egl/x11/native_x11.h
src/gallium/state_trackers/egl/x11/native_ximage.c
Keith Whitwell [Tue, 9 Mar 2010 10:54:13 +0000 (10:54 +0000)]
Squashed commit of gallium-no-texture-blanket
commit
f90b3f01af82b9522067b1824e21709a6fb2d3af
Author: Keith Whitwell <keithw@vmware.com>
Date: Mon Mar 8 14:39:44 2010 +0000
gallium: remove p_screen::surface_buffer_create
This isn't very useful without texture_blanket(), which has also been
removed.
Note that this function hasn't been removed from the old pipe_winsys
(u_simple_screen) still used internally by some drivers (eg softpipe).
commit
6c462de39a4b9980a5f034a95e580efdfcb8173b
Author: Keith Whitwell <keithw@vmware.com>
Date: Mon Mar 8 14:27:40 2010 +0000
egl/x11: disable texture_blanket usage
commit
b42da9160df9f47224e5b3291b972f41767aa6e5
Merge: 4be2436 3ca9336
Author: Keith Whitwell <keithw@vmware.com>
Date: Mon Mar 8 14:27:24 2010 +0000
Merge commit 'origin/master' into gallium-no-texture-blanket
Conflicts:
src/gallium/drivers/svga/svga_screen_texture.c
commit
4be2436316929e3dfc55bc34d810920c06556b66
Author: Keith Whitwell <keithw@vmware.com>
Date: Thu Mar 4 14:59:26 2010 +0000
gallium: remove texture blanket call
No longer needed, except for nouveau and egl/xll/native_ximage.c.
Fix for nouveau is to keep the call, but move it to an internal
function within nouveau.
Fix for that egl/x11 relies on gallium-sw-api branch or its successor.
commit
69b6764330367d63c237d0bde9fb96435d0e0257
Author: Keith Whitwell <keithw@vmware.com>
Date: Thu Mar 4 13:35:16 2010 +0000
drm_api: wrap comment
Chia-I Wu [Mon, 8 Mar 2010 02:09:43 +0000 (10:09 +0800)]
st/egl: Use xlib_sw_winsys in ximage backend.
Chia-I Wu [Tue, 9 Mar 2010 04:36:34 +0000 (12:36 +0800)]
winsys/xlib: Fix a segfault when USE_XSHM is not defined.
Marek Olšák [Tue, 9 Mar 2010 01:10:36 +0000 (02:10 +0100)]
r300g: remove hacks from translate_vertex_data_swizzle
The first part of the fix of BGRA vertex colors.
Marek Olšák [Tue, 9 Mar 2010 03:40:55 +0000 (04:40 +0100)]
draw: quads never provoke the first vertex
Marek Olšák [Sun, 7 Mar 2010 03:56:06 +0000 (04:56 +0100)]
softpipe: quads never provoke the first vertex
Marek Olšák [Sun, 7 Mar 2010 03:54:43 +0000 (04:54 +0100)]
llvmpipe: quads never provoke the first vertex
Corbin Simpson [Wed, 10 Feb 2010 18:39:18 +0000 (10:39 -0800)]
mesa/st: Gallium quads, by spec, never change provoking vertex.
Fixes glean/clipFlat for r300g.
Chia-I Wu [Tue, 9 Mar 2010 03:32:17 +0000 (11:32 +0800)]
st/egl: Fix KMS build error after winsys handle change.
Brian Paul [Mon, 8 Mar 2010 23:20:16 +0000 (16:20 -0700)]
gallium: update some comments, remove others which are superfluous
Brian Paul [Mon, 8 Mar 2010 23:19:15 +0000 (16:19 -0700)]
vega: remove redundant DEFINES from .c.o rule
Brian Paul [Mon, 8 Mar 2010 22:19:13 +0000 (15:19 -0700)]
llvmpipe/gallivm: checkpoint: array of pointers to mipmap levels
Change the texture data_ptr from just a single image pointer to an
array of image pointers, indexed by mipmap level.
We'll use this for mipmap filtering.
For now, the mipmap level is hard-coded to zero.
Brian Paul [Mon, 8 Mar 2010 21:02:38 +0000 (14:02 -0700)]
nv: define NV30/40/50_MAX_TEXTURE_LEVELS
Brian Paul [Mon, 8 Mar 2010 21:01:30 +0000 (14:01 -0700)]
r300g: define R300_MAX_TEXTURE_LEVELS
Brian Paul [Mon, 8 Mar 2010 21:00:20 +0000 (14:00 -0700)]
svga: s/PIPE_MAX_TEXTURE_LEVELS/SVGA_MAX_TEXTURE_LEVELS/
Brian Paul [Mon, 8 Mar 2010 20:59:39 +0000 (13:59 -0700)]
i915g: define I915_MAX_TEXTURE_2D/3D_LEVELS
Brian Paul [Mon, 8 Mar 2010 20:57:14 +0000 (13:57 -0700)]
i965g: define BRW_MAX_TEXTURE_2D/3D_LEVELS
Brian Paul [Mon, 8 Mar 2010 20:56:44 +0000 (13:56 -0700)]
softpipe: define SP_MAX_TEXTURE_2D/3D_LEVELS
Brian Paul [Mon, 8 Mar 2010 20:36:34 +0000 (13:36 -0700)]
llvmpipe: define max texture levels
Brian Paul [Mon, 8 Mar 2010 20:25:28 +0000 (13:25 -0700)]
llvmpipe: rewrap for 80 columns
Eric Anholt [Mon, 8 Mar 2010 20:12:31 +0000 (12:12 -0800)]
i965: Fix up the handling of point sprite coordinate replacement.
The code was walking over the regs of pairs of attributes and checking
whether the attribute with a given reg index had point sprite enabled.
So the point sprite setup code was rarely even getting executed.
Instead, we need to determine which channels of a reg need point
sprite coordinate replacement. In addition, it was multiplying the
attribute by 1/w, when it's supposed to cover (0, 1) in each direction
regardless of w, and it wasn't filling in the Z and W components of
the texcoord as specified.
Fixes piglit point-sprite and the spriteblast demo. Bug #24431, #22245.
Zack Rusin [Mon, 8 Mar 2010 20:04:04 +0000 (15:04 -0500)]
gallivm: fix a crash by making sure we set the has_mask flag correctly
Jesse Barnes [Mon, 8 Mar 2010 19:30:26 +0000 (11:30 -0800)]
xdemos/omlsync: improve OML WaitMsc test
Use the divisor/remainder for the WaitForMscOML call if a wait_interval
is passed. Allows for testing of the WaitMSC paths in the server & DDX.
Keith Whitwell [Mon, 8 Mar 2010 19:23:10 +0000 (19:23 +0000)]
gallium: remove xlib_driver::display_surface
Just use flush_frontbuffer directly. The flush_frontbuffer routine has
been somewhat devalued recently, but it is actually just the right
interface for our needs.
It is in pipe_screen, meaning that any wrapping (eg trace module)
will get properly unwrapped before we try and use the pipe_surface
argument for real.
If a particular co-state-tracker needs to implement this itself, it
should organize a way to allow the winsys to call back up to its
level, rather than hijacking the driver-supplied implementation.
Keith Whitwell [Mon, 8 Mar 2010 19:21:27 +0000 (19:21 +0000)]
gallium: make it work
Keith Whitwell [Mon, 8 Mar 2010 19:11:35 +0000 (19:11 +0000)]
gallium: introduce target directory
Currently there are still at least two functions bundled up inside the
winsys concept:
a) that of a backend resource manager, sometimes capable of performing
present() operations,
b) the initialization code/routine for the whole driver stack.
The inclusion of (b) makes it difficult to share implementations of
(a) between different drivers. For instance, a clean xlib winsys
could be of use for software-rasterized VG, GLES, EGL, etc, stacks.
But that is only true as long as there is no dependency from the
winsys to higher level code, as would be the case when we include (b)
in this component.
This change creates a new gallium/targets subtree, specifically for
implementing the glue needed to build individual driver stacks, and
moves that code out of a single example winsys, namely xlib.
Other drivers continue to build unchanged, but hopefully can migrate
to this structure over time.
Brian Paul [Mon, 8 Mar 2010 18:43:20 +0000 (11:43 -0700)]
Merge branch '7.8'
Brian Paul [Mon, 8 Mar 2010 18:34:55 +0000 (11:34 -0700)]
softpipe: zero-out entire clear_flags array in sp_tile_cache_flush_clear()
Before, we only cleared the flags for the active tiles (the ones inside
the framebuffer bound). The problem is if we later bound a different,
larger surface to the tile cache we'd have some stale clear-flags still
set (and mistakenly clear some tiles in the new surface).
Fixes fd.o bug 26932.
Brian Paul [Mon, 8 Mar 2010 18:31:23 +0000 (11:31 -0700)]
st/mesa: don't detach renderbuffer, surface in st_finish_render_texture()
There's no reason to release the renderbuffer from the framebuffer object
or release the gallium surface in this function (they're reference counted).
In fact, we don't want to do this because we may later use the texture as a
pixel source (ex: glBlitFramebuffer) and need the surface.
Fixes fd.o bug 26923 and is part of the fix for bug 26932.
Alex Deucher [Mon, 8 Mar 2010 16:59:02 +0000 (11:59 -0500)]
r600: enable GL_ARB_pixel_buffer_object
Brian Paul [Mon, 8 Mar 2010 16:58:54 +0000 (09:58 -0700)]
mesa: add additional missing z formats for render to texture
Allow render to texture for X8_Z24 and Z24_X8 formats.
Replace big if/else with switch, etc.
Alex Deucher [Mon, 8 Mar 2010 15:13:49 +0000 (10:13 -0500)]
radeon/r200/r600: allow src and dst BOs to be placed in GTT during blit
Alex Deucher [Mon, 8 Mar 2010 15:04:02 +0000 (10:04 -0500)]
radeon/r200/r600: reset bos when validating buffers during blit
Alex Deucher [Mon, 8 Mar 2010 15:00:59 +0000 (10:00 -0500)]
r600: recalculate point size, if point min/max size changes
Alex Deucher [Mon, 8 Mar 2010 14:57:26 +0000 (09:57 -0500)]
r600: no need to flush on context init
Maciej Cencora [Sat, 13 Feb 2010 23:02:05 +0000 (00:02 +0100)]
r300: don't enable EXT_packed_depth_stencil
R300 hw doesn't support sampling from Z24_S8 or S8_Z24 formats.
Maciej Cencora [Sat, 16 Jan 2010 14:11:37 +0000 (15:11 +0100)]
radeon: no need to emit full state twice after flush
Maciej Cencora [Thu, 4 Mar 2010 17:35:55 +0000 (18:35 +0100)]
r300: allow src and dst BOs to be placed in GTT during blit
Fixes some relocation failures
Maciej Cencora [Sat, 6 Feb 2010 17:25:36 +0000 (18:25 +0100)]
r300: reset bos when validating buffers during blit
Maciej Cencora [Sat, 6 Feb 2010 18:37:23 +0000 (19:37 +0100)]
radeon: fallback to software in glCopyTexImage if blit isn't available
Keith Whitwell [Mon, 8 Mar 2010 16:48:45 +0000 (16:48 +0000)]
ws/xlib: remove dead files
Maciej Cencora [Sun, 7 Mar 2010 11:02:28 +0000 (12:02 +0100)]
r300: VAP flush is needed only when vertex program or constants are changed
Keith Whitwell [Mon, 8 Mar 2010 16:48:39 +0000 (16:48 +0000)]
ws/xlib: fixup softpipe build
Maciej Cencora [Sat, 6 Mar 2010 12:39:13 +0000 (13:39 +0100)]
r300: recalculate point size, if point min/max size changes
Fixes two wine d3d9 unit tests
Maciej Cencora [Sat, 6 Mar 2010 12:18:11 +0000 (13:18 +0100)]
r300: no need to flush on context init
Maciej Cencora [Sat, 6 Mar 2010 12:09:47 +0000 (13:09 +0100)]
r300: remove unnecessary code
_tnl_UpdateFixedFunctionProgram is already called in r300_draw.c
Brian Paul [Mon, 8 Mar 2010 16:38:07 +0000 (09:38 -0700)]
mesa: add render-to-texture case for MESA_FORMAT_S8_Z24
Keith Whitwell [Mon, 8 Mar 2010 16:20:09 +0000 (16:20 +0000)]
winsys/xlib: remove dependency on glx/x11 state tracker
Introduce xlib_drawable struct, pass this down to winsys instead of
having it use the internal data structures from glx/x11
Keith Whitwell [Mon, 8 Mar 2010 15:35:51 +0000 (15:35 +0000)]
ws/xlib: remove redundant declarations
Keith Whitwell [Mon, 8 Mar 2010 13:35:23 +0000 (13:35 +0000)]
winsys/xlib: sketch of cell support
Brian Paul [Mon, 8 Mar 2010 16:34:46 +0000 (09:34 -0700)]
mesa: s/GL_DEPTH_STENCIL/GL_DEPTH_COMPONENT/ for MESA_FORMAT_Z16 renderbuffer
MESA_FORMAT_Z16 has no stencil bits.
Alex Deucher [Mon, 8 Mar 2010 15:13:49 +0000 (10:13 -0500)]
radeon/r200/r600: allow src and dst BOs to be placed in GTT during blit
Alex Deucher [Mon, 8 Mar 2010 15:04:02 +0000 (10:04 -0500)]
radeon/r200/r600: reset bos when validating buffers during blit
Alex Deucher [Mon, 8 Mar 2010 15:00:59 +0000 (10:00 -0500)]
r600: recalculate point size, if point min/max size changes
Alex Deucher [Mon, 8 Mar 2010 14:57:26 +0000 (09:57 -0500)]
r600: no need to flush on context init
Keith Whitwell [Mon, 8 Mar 2010 12:03:46 +0000 (12:03 +0000)]
Merge commit 'origin/gallium-winsys-handle-rebased'
Marek Olšák [Mon, 8 Mar 2010 03:38:16 +0000 (04:38 +0100)]
r300g: fix updating the tiling flags for the framebuffer state
Marek Olšák [Mon, 8 Mar 2010 03:31:03 +0000 (04:31 +0100)]
r300g: remove unnecessary state emissions and clean up
Chia-I Wu [Wed, 3 Mar 2010 15:51:13 +0000 (23:51 +0800)]
st/vega: Fix OpenVG demo segfaults.
When the paint is color, paint_bind_samplers binds a dummy sampler
without a texture. It causes demos requiring a sampler (those use a
mask or an image) to crash.
Francisco Jerez [Sun, 7 Mar 2010 18:12:27 +0000 (19:12 +0100)]
dri/nouveau: Split big client buffers in the indexed case too.
Francisco Jerez [Sun, 7 Mar 2010 17:40:21 +0000 (18:40 +0100)]
dri/nouveau: Fix nv[12]x color sum.
Andrew Randrianasulu [Sun, 7 Mar 2010 01:09:21 +0000 (01:09 +0000)]
dri/nv04: GL_EXT_secondary_color
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
Andrew Randrianasulu [Tue, 2 Mar 2010 01:29:14 +0000 (01:29 +0000)]
dri/nouveau: Trivially add GL_NV_blend_square
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
Francisco Jerez [Sun, 7 Mar 2010 13:20:31 +0000 (14:20 +0100)]
dri/nouveau: Check _ColorDrawBuffers[0] before emitting fb state.
Maciej Cencora [Sun, 7 Mar 2010 14:00:29 +0000 (15:00 +0100)]
radeon: handle compressed sRGB texture formats
Marek Olšák [Tue, 23 Feb 2010 00:14:44 +0000 (01:14 +0100)]
r300g: fix DRM errors
Marek Olšák [Fri, 19 Feb 2010 02:02:34 +0000 (03:02 +0100)]
r300g: disable macrotiling when the texture height is smaller than a macrotile
Otherwise incorrect rendering occurs (no idea why).
Marek Olšák [Sun, 14 Feb 2010 03:57:09 +0000 (04:57 +0100)]
r300g: enable micro- and macrotiling for all textures and renderbuffers
Marek Olšák [Sun, 14 Feb 2010 02:19:01 +0000 (03:19 +0100)]
r300g: add ability to tile/detile textures using blit during transfers
Marek Olšák [Sat, 6 Feb 2010 02:11:50 +0000 (03:11 +0100)]
r300g: move r300_transfer to separate files
Maciej Cencora [Sun, 17 Jan 2010 11:47:46 +0000 (12:47 +0100)]
radeon: move glGetTexImage handlers to seperate file
Maciej Cencora [Sun, 7 Mar 2010 11:15:25 +0000 (12:15 +0100)]
radeon: Some possible improvements that I spoted in radeon_tiled_texture branch.
Maciej Cencora [Sun, 7 Mar 2010 11:09:43 +0000 (12:09 +0100)]
radeon: properly calculate rowstride for tiled images
Maciej Cencora [Sat, 16 Jan 2010 22:11:36 +0000 (23:11 +0100)]
radeon: minor refactoring of mipmap code
Maciej Cencora [Sat, 9 Jan 2010 19:36:47 +0000 (20:36 +0100)]
radeon: add texture helper function
Maciej Cencora [Sat, 6 Feb 2010 17:38:01 +0000 (18:38 +0100)]
radeon: add some debugging info to sw tiling/untiling functions
Maciej Cencora [Sat, 6 Feb 2010 12:46:17 +0000 (13:46 +0100)]
radeon: add software untiling functions
Maciej Cencora [Sat, 16 Jan 2010 22:11:10 +0000 (23:11 +0100)]
radeon: add tile size getter
Maciej Cencora [Sat, 16 Jan 2010 17:38:17 +0000 (18:38 +0100)]
radeon: added tiling functions
Maciej Cencora [Sat, 13 Feb 2010 23:02:05 +0000 (00:02 +0100)]
r300: don't enable EXT_packed_depth_stencil
R300 hw doesn't support sampling from Z24_S8 or S8_Z24 formats.
Maciej Cencora [Sat, 16 Jan 2010 14:11:37 +0000 (15:11 +0100)]
radeon: no need to emit full state twice after flush
Maciej Cencora [Thu, 4 Mar 2010 17:35:55 +0000 (18:35 +0100)]
r300: allow src and dst BOs to be placed in GTT during blit
Fixes some relocation failures
Maciej Cencora [Sat, 6 Feb 2010 17:25:36 +0000 (18:25 +0100)]
r300: reset bos when validating buffers during blit
Maciej Cencora [Sat, 6 Feb 2010 18:37:23 +0000 (19:37 +0100)]
radeon: fallback to software in glCopyTexImage if blit isn't available
Maciej Cencora [Sun, 7 Mar 2010 11:02:28 +0000 (12:02 +0100)]
r300: VAP flush is needed only when vertex program or constants are changed
Maciej Cencora [Sat, 6 Mar 2010 12:39:13 +0000 (13:39 +0100)]
r300: recalculate point size, if point min/max size changes
Fixes two wine d3d9 unit tests
Maciej Cencora [Sat, 6 Mar 2010 12:18:11 +0000 (13:18 +0100)]
r300: no need to flush on context init
Maciej Cencora [Sat, 6 Mar 2010 12:09:47 +0000 (13:09 +0100)]
r300: remove unnecessary code
_tnl_UpdateFixedFunctionProgram is already called in r300_draw.c
Vinson Lee [Sun, 7 Mar 2010 04:30:28 +0000 (20:30 -0800)]
gallivm: Initialize variables for default cases.
Fixes use of uninitialized variables in non-debug builds.
Marek Olšák [Sun, 7 Mar 2010 02:17:58 +0000 (03:17 +0100)]
r300g: disable emitting the HWTCL-related state when SWTCL is in use
Now SWTCL renders at least "something", we're close...
Marek Olšák [Sun, 7 Mar 2010 02:00:07 +0000 (03:00 +0100)]
r300g: resurrect r300_emit_vertex_buffer for SWTCL
Taken over from
c9928ac3ee5dc0d10127388f9312779a6c59da7c.
Marek Olšák [Sun, 7 Mar 2010 01:40:57 +0000 (02:40 +0100)]
r300g: validate buffers when using SWTCL
Marek Olšák [Sun, 7 Mar 2010 01:32:09 +0000 (02:32 +0100)]
r300g: share the VS-output-mapping state with SWTCL
And associated cleanups.
Marek Olšák [Sun, 7 Mar 2010 00:12:57 +0000 (01:12 +0100)]
r300g: abort if FS compilation fails on non-debug builds
Marek Olšák [Sat, 6 Mar 2010 22:29:17 +0000 (23:29 +0100)]
r300g: minor cleanups after the no-rhw merge
Marek Olšák [Sat, 6 Mar 2010 18:35:10 +0000 (19:35 +0100)]
r300g: clamp vertex max index according to currently bound buffers
José Fonseca [Sat, 6 Mar 2010 14:22:56 +0000 (14:22 +0000)]
util: Use bitshift arithmetic to unpack pixels.
All test cases pass now.
José Fonseca [Sat, 6 Mar 2010 13:42:37 +0000 (13:42 +0000)]
progs/gallium/unit: Remove the test cases.
José Fonseca [Sat, 6 Mar 2010 13:42:11 +0000 (13:42 +0000)]
util: Move the format tests cases here so that they can be easily shared.