Commit graph

32059 commits

Author SHA1 Message Date
José Fonseca
02716cf7d1 null: Add a null software winsys.
One where framebuffer data will be read via texture transfers.

Useful for e.g., python state tracker.
2010-03-09 19:47:56 +00:00
Keith Whitwell
9cdaadc92f target-helpers: missing files 2010-03-09 19:15:28 +00:00
Keith Whitwell
3cadd983e8 ws/gdi: fix typo 2010-03-09 18:01:47 +00:00
Keith Whitwell
0df858a8d5 gallium: create target for gdi libgl 2010-03-09 17:58:40 +00:00
Keith Whitwell
25b9aafbd2 ws/xlib: no dependency on mesa state tracker 2010-03-09 17:55:19 +00:00
Keith Whitwell
5e72b89b89 egl/x11: use swrast-xlib helper 2010-03-09 17:32:10 +00:00
Keith Whitwell
d0aea65032 gallium: create helper for swrast+xlib combination
Several targets may want to reuse this code.  It's pretty simple, not
sure if this is really a win.
2010-03-09 17:32:10 +00:00
José Fonseca
c27ffc5215 scons: Fix the libg-xlib Sconscript. 2010-03-09 17:08:36 +00:00
José Fonseca
78d8e6c98a scons: Always build the identity driver. 2010-03-09 17:08:16 +00:00
Keith Whitwell
999932bf1f targets/libgl-xlib: add code to inject trace and identity layers
Finally we can inject layers for debug, trace and "other" with
relative ease between state-tracker and driver.
2010-03-09 15:58:45 +00:00
Keith Whitwell
3c57c01a44 ws/xlib: remove self-knowledge about users of xlib winsys
Several software rasterizers can make use of this winsys, but there
isn't any reason why the winsys itself should know about them.

This change moves that information into the libgl-xlib target.

Need to fix up other targets making use of this winsys.
2010-03-09 15:33:21 +00:00
Brian Paul
27a7f9454f cell: fix up assorted compilation problems
The driver is pretty much totally broken though.
2010-03-09 08:14:06 -07:00
José Fonseca
ff407a117c gdi: Fixup llvmpipe gdi winsys too. 2010-03-09 15:12:19 +00:00
José Fonseca
706eda3057 scons: Add new targets option.
This will likely change. Most probably we'll just add an alias to indvidual
targets and use the regular scons targets arguments.
2010-03-09 15:09:32 +00:00
Keith Whitwell
b694f32170 winsys/gdi: get softpipe version compiling 2010-03-09 15:02:21 +00:00
Keith Whitwell
73d9400ad6 softpipe: silence warning 2010-03-09 14:50:16 +00:00
Keith Whitwell
3db9644a9e ws/gdi: missing file 2010-03-09 14:49:39 +00:00
Keith Whitwell
ce30b5bf2c ws/gdi: sketch of gdi changes 2010-03-09 14:32:44 +00:00
Keith Whitwell
65233674d3 cell: untwiddle surface contents in flush_frontbuffer()
Don't make the shared software winsys rely on internal knowledge about
the cell driver's texture twiddling.

This is just a sketch and hasn't even been compile tested.
2010-03-09 14:03:41 +00:00
Keith Whitwell
fe94a363e5 cell: attempt conversion to sw_winsys 2010-03-09 12:31:20 +00:00
Keith Whitwell
8ac10162f1 ws/xlib: remove USE_XSHM preprocessor macro 2010-03-09 11:48:57 +00:00
Keith Whitwell
d5bf9c0a5e ws/xlib: manage the GC internally
No need for the user of this winsys to supply/manage the x11 gc for
us.
2010-03-09 11:39:40 +00:00
Keith Whitwell
0c96690a5b 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
2010-03-09 11:02:37 +00:00
Keith Whitwell
6f4ce4a4fe 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
2010-03-09 10:54:54 +00:00
Chia-I Wu
95c5c69b50 st/egl: Use xlib_sw_winsys in ximage backend. 2010-03-09 12:56:47 +08:00
Chia-I Wu
da92f6db5b winsys/xlib: Fix a segfault when USE_XSHM is not defined. 2010-03-09 12:51:27 +08:00
Marek Olšák
821c830f11 r300g: remove hacks from translate_vertex_data_swizzle
The first part of the fix of BGRA vertex colors.
2010-03-09 04:56:11 +01:00
Marek Olšák
f3365bceb8 draw: quads never provoke the first vertex 2010-03-09 04:51:43 +01:00
Marek Olšák
558ce9964f softpipe: quads never provoke the first vertex 2010-03-09 04:51:43 +01:00
Marek Olšák
f2b8f14267 llvmpipe: quads never provoke the first vertex 2010-03-09 04:51:43 +01:00
Corbin Simpson
dd8f5c33f3 mesa/st: Gallium quads, by spec, never change provoking vertex.
Fixes glean/clipFlat for r300g.
2010-03-09 04:51:29 +01:00
Chia-I Wu
2b76e04a8c st/egl: Fix KMS build error after winsys handle change. 2010-03-09 11:34:37 +08:00
Brian Paul
4243ca1144 gallium: update some comments, remove others which are superfluous 2010-03-08 16:26:44 -07:00
Brian Paul
e799163dec vega: remove redundant DEFINES from .c.o rule 2010-03-08 16:26:44 -07:00
Brian Paul
f027d56129 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.
2010-03-08 16:26:44 -07:00
Brian Paul
891f7f4d52 nv: define NV30/40/50_MAX_TEXTURE_LEVELS 2010-03-08 16:26:44 -07:00
Brian Paul
ac2e849111 r300g: define R300_MAX_TEXTURE_LEVELS 2010-03-08 16:26:44 -07:00
Brian Paul
156585c12e svga: s/PIPE_MAX_TEXTURE_LEVELS/SVGA_MAX_TEXTURE_LEVELS/ 2010-03-08 16:26:44 -07:00
Brian Paul
e0d4f3202e i915g: define I915_MAX_TEXTURE_2D/3D_LEVELS 2010-03-08 16:26:44 -07:00
Brian Paul
e836f35369 i965g: define BRW_MAX_TEXTURE_2D/3D_LEVELS 2010-03-08 16:26:44 -07:00
Brian Paul
44eec28023 softpipe: define SP_MAX_TEXTURE_2D/3D_LEVELS 2010-03-08 16:26:43 -07:00
Brian Paul
d73fadf211 llvmpipe: define max texture levels 2010-03-08 16:26:43 -07:00
Brian Paul
e3b6f7b800 llvmpipe: rewrap for 80 columns 2010-03-08 16:26:43 -07:00
Eric Anholt
bc632d0437 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.
2010-03-08 14:23:18 -08:00
Zack Rusin
1d84808dc0 gallivm: fix a crash by making sure we set the has_mask flag correctly 2010-03-08 15:04:04 -05:00
Jesse Barnes
f2a035e5d8 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.
2010-03-08 11:31:26 -08:00
Keith Whitwell
3ab8211be4 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.
2010-03-08 19:23:10 +00:00
Keith Whitwell
c867c58c73 gallium: make it work 2010-03-08 19:21:27 +00:00
Keith Whitwell
99f11d0e18 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.
2010-03-08 19:11:35 +00:00
Brian Paul
e5923a1240 Merge branch '7.8' 2010-03-08 11:43:20 -07:00