Commit Graph

34179 Commits

Author SHA1 Message Date
Brian Paul
cf88dcf731 gallivm/llvmpipe: move lp_bld_interp.c to llvmpipe/ directory
This file is specific to the llvmpipe driver and not re-usable.
2010-04-16 10:17:38 -06:00
Brian Paul
d293c43c9a llvmpipe: rename vars, update comments for texture->resource changes 2010-04-16 10:01:32 -06:00
Brian Paul
cbe1145011 gallivm: init some vars to silence warnings 2010-04-16 09:56:38 -06:00
Brian Paul
ce4f4d6b2c llvmpipe: plug in draw's polygon stipple stage 2010-04-16 09:49:52 -06:00
Brian Paul
9fae289fcd llvmpipe: check for dirty context state in lp_setup_update_state()
This fixes problems with the draw module's aaline, aapoint and
pstipple stages where we change some driver state after the call
to the draw module's draw_arrays() function.
2010-04-16 09:49:33 -06:00
Brian Paul
b387f74c38 llvmpipe: flush upon PIPE_FLUSH_TEXTURE_CACHE too 2010-04-16 09:43:32 -06:00
Brian Paul
b7bd4b85f3 llvmpipe: make sure state is up to date before getting vertex layout/info
Some of the draw pipeline stages emit additional vertex attributes.
Without this change, we were getting stale vertex info that didn't
include the extra attributes.
2010-04-16 09:43:32 -06:00
Brian Paul
7d5da2370b llvmpipe: additional texture assertion 2010-04-16 09:27:58 -06:00
Brian Paul
8ba14fab9a llvmpipe: print_triangle() func (disabled) 2010-04-16 09:27:58 -06:00
Brian Paul
e960dd7b30 softpipe: rename vars, update comments, etc
Use 'resource' instead of 'texture', etc.
2010-04-16 09:27:58 -06:00
Brian Paul
1f67782afa st/mesa: add prototype for st_bufferobj_validate_usage() 2010-04-16 09:27:58 -06:00
Brian Paul
08e91bbfa1 softpipe: s/template/templat/ to avoid potential C++ issues 2010-04-16 09:27:58 -06:00
Brian Paul
0639765b28 Merge the lp-surface-tiling branch into master.
This branch implemented dual representations of texture/drawing surfaces:
one in the conventional linear layout and the other the tiled layout which
is used by the fragment shader pipe.  Per-tile flags indicate the layout
of each image tile.  In many situations this lets us avoid converting
image data between the two layouts.

Squashed commit of the following:

commit 563a7e3cc552fdcfcaf9ac0d4b1683c3ba2ae732
Author: Brian Paul <brianp@vmware.com>
Date:   Thu Apr 8 14:48:21 2010 -0600

    llvmpipe: convert points/lines to triangles with draw module

    This isn't the most efficient way to render points/lines but it allows us
    to run more tests.

commit a8aa763e8a717533f2b13bb6ea53cbccbede68c9
Author: Brian Paul <brianp@vmware.com>
Date:   Thu Apr 8 14:47:28 2010 -0600

    llvmpipe: call llvmpipe_get_texture_tile() for depth/stencil

    The returned pointer isn't used, but the tile status/layout info
    gets updated.  Helps to fix glReadPixels(DEPTH / STENCIL).

commit 463bc64af266194acbea71cd52e26a79b8c8a260
Author: Brian Paul <brianp@vmware.com>
Date:   Thu Apr 8 10:58:48 2010 -0600

    llvmpipe: add store_color to debug cmd_names list

commit 784cc73fb334a9d7b7c93cbd8a1445cdf742ff58
Author: Brian Paul <brianp@vmware.com>
Date:   Thu Apr 8 10:57:43 2010 -0600

    llvmpipe: fix debug build

commit 792c93171ec075664f55720ffed397ac2834a4fc
Author: Brian Paul <brianp@vmware.com>
Date:   Thu Apr 8 10:49:01 2010 -0600

    llvmpipe: fix cube mapping

commit 882b1035db88c3dd8aebe28dc971ac30a9ee39e3
Author: Brian Paul <brianp@vmware.com>
Date:   Thu Apr 8 09:53:30 2010 -0600

    llvmpipe: remove some older/unused code

commit b807d32b23145301e8842824664d9f06b9c5502e
Author: Brian Paul <brianp@vmware.com>
Date:   Thu Apr 8 09:29:50 2010 -0600

    llvmpipe: silence warning

commit 7b337e64fec92836ccdf9d96216289dd58418e35
Author: Brian Paul <brianp@vmware.com>
Date:   Wed Apr 7 17:06:08 2010 -0600

    llvmpipe: clean-up, comments in lp_surface_copy()

commit c52fa36f249cc652fa8d5fdd94d6574127c08c41
Author: Brian Paul <brianp@vmware.com>
Date:   Wed Apr 7 16:51:42 2010 -0600

    llvmpipe: overhaul tiled/linear memory management

    Now we keep per-tile layout info (linear vs. tiled (or neither or both)
    and convert from one layout to the other on demand.

commit 4a50ccfd470547c9be0704005818a87014e9c0e9
Author: Brian Paul <brianp@vmware.com>
Date:   Wed Apr 7 16:51:27 2010 -0600

    llvmpipe: added tile read/write counters

commit b7d0ea9c687ac8773b083791623826fa604adf21
Author: Brian Paul <brianp@vmware.com>
Date:   Mon Apr 5 14:54:04 2010 -0600

    llvmpipe: rename some functions

commit ee45c6e5b95cbd3c8cccc9aa4d45d8aef11e20c4
Author: Brian Paul <brianp@vmware.com>
Date:   Mon Apr 5 14:42:15 2010 -0600

    llvmpipe: re-org some get block/tile pointer code

commit 26ce97c16c0b6520ff1538803baa772d8c3b1280
Author: Brian Paul <brianp@vmware.com>
Date:   Mon Apr 5 14:34:13 2010 -0600

    llvmpipe: disable bad assertions

commit 5c670481248c4d46f87f13bf3af5655925e7002d
Author: Brian Paul <brianp@vmware.com>
Date:   Fri Apr 2 16:36:11 2010 -0600

    llvmpipe: add a special-case optimization to lp_surface_copy()

    Be more efficient when copying tiled image to linear image.
    Before, the fallback path was always converting the whole source image
    to linear.  Now we can convert just a sub region.

commit faa684645e64d6024b3a11e4e08da825e8220b2e
Author: Brian Paul <brianp@vmware.com>
Date:   Fri Apr 2 16:15:16 2010 -0600

    llvmpipe: assorted texture and tile/line conversion code change s

    The tiled/linear conversion functions take x/y positions now to
    allow converting only sub-regions.

    More texture-related helper functions.

commit baad81ec5318d44bfac1e37c7643afc0836607bb
Author: Brian Paul <brianp@vmware.com>
Date:   Tue Mar 30 13:18:40 2010 -0600

    llvmpipe: convert tiled->linear upon PIPE_FLUSH_SWAPBUFFERS

    If we know we're about to do a swapbuffers we should immediately
    convert the tiled color tiles to linear instead of later in
    llvmpipe_texture_unmap() since we can take advantage of threading/
    parallelism here.

commit 928dd41256811daeddb7506a49a34dbad04beaf8
Author: Brian Paul <brianp@vmware.com>
Date:   Tue Mar 30 09:16:58 2010 -0600

    llvmpipe: polish-up the llvmpipe_flush() code

commit dd6014abcf86c517d159b8175e0eaeb167ea2ef6
Author: Brian Paul <brianp@vmware.com>
Date:   Tue Mar 30 09:15:17 2010 -0600

    llvmpipe: SETUP_x enum clean-up

commit 0b1ce6da2b28a41f3389685ab93e10b43c950f5d
Author: Brian Paul <brianp@vmware.com>
Date:   Fri Mar 26 10:43:37 2010 -0600

    llvmpipe: remove unused vars

commit 4562663480f88162ed4452cb05569eecb67f9f39
Author: Brian Paul <brianp@vmware.com>
Date:   Fri Mar 26 10:31:55 2010 -0600

    llvmpipe: cope with non-existant color/depth buffers

    The fragment jit functions always grab these pointers, even if they're
    not used.

commit df4329edbaf204ed501f1eac0698b8198178f9af
Author: Brian Paul <brianp@vmware.com>
Date:   Thu Mar 25 15:20:15 2010 -0600

    llvmpipe: do all render target surface mapping/unmapping in the rast code

commit 3d0c25d5ba8b8f61e8366d4c97324e45d526ff41
Author: Brian Paul <brianp@vmware.com>
Date:   Thu Mar 25 14:31:21 2010 -0600

    llvmpipe: map z/stencil buffer on demand like color buffers

    Plus lots of code clean-up and loose ends taken care of.

commit c3b6fddd788aef09b4b84b843b7b1272231151e8
Author: Brian Paul <brianp@vmware.com>
Date:   Thu Mar 25 13:15:03 2010 -0600

    llvmpipe: remove unused write_zstencil field

commit 63374d97836926a6357e9d6dd24a509a8e155c56
Author: Brian Paul <brianp@vmware.com>
Date:   Thu Mar 25 09:45:59 2010 -0600

    llvmpipe: add missing lp_rast_end() call

    Fixes crash on window resize when LP_NUM_THREADS=0.

commit 92fe9952161cc06f6edc58778e9e5a8b9ea447dc
Author: Brian Paul <brianp@vmware.com>
Date:   Wed Mar 24 10:15:19 2010 -0600

    llvmpipe: add tiled/linear conversion for 16-bit Z images

commit 6605fa28c147f30df351da0e4413cab33e4db5da
Author: Brian Paul <brianp@vmware.com>
Date:   Tue Mar 23 16:06:41 2010 -0600

    llvmpipe: implement tiled/linear conversion for Z/stencil images

commit 804528d84ffa292ef9d49d3666cdd3fa099ff3ff
Author: Brian Paul <brianp@vmware.com>
Date:   Tue Mar 23 16:05:45 2010 -0600

    llvmpipe: added texture stride comment

commit 66a88c012edf670c4ac887a912f02dcff93266dd
Author: Brian Paul <brianp@vmware.com>
Date:   Tue Mar 23 16:04:07 2010 -0600

    llvmpipe: remove unused vars

commit e2ca8d1328316dc8b36d5f688c16d109e49a6870
Author: Brian Paul <brianp@vmware.com>
Date:   Mon Mar 22 18:53:11 2010 -0600

    llvmpipe: checkpoint WIP: overhaul texture/surface mapping

    Conversion between tiled and linear surfaces is working everywhere now.
    The LP_TEXTURE_READ/READ_WRITE/WRITE_ALL flags let us avoid unnecessary
    image layout conversions.

    Still some loose ends, temporary/debug code, etc.
    Need to implement tiled/linear conversion for depth/stencil images.

commit f2730a03839ee8984c1f537b7cbebba24961397a
Author: Brian Paul <brianp@vmware.com>
Date:   Mon Mar 22 14:41:58 2010 -0600

    llvmpipe: rename/repurpose lp_rast_store_color()

commit e192a47552c5d20d2caef452ca7697e2cd852c9b
Author: Brian Paul <brianp@vmware.com>
Date:   Mon Mar 22 14:38:51 2010 -0600

    llvmpipe: remove lp_rast_load_color()

commit 3cff0bde4b4ab980e1c3e812700419091527c76b
Author: Brian Paul <brianp@vmware.com>
Date:   Mon Mar 22 14:11:38 2010 -0600

    llvmpipe: remove/consolidate texture image code

commit 3a2f08b6a550c69ef5e874f482be30252cbf8bfa
Author: Brian Paul <brianp@vmware.com>
Date:   Fri Mar 19 17:03:14 2010 -0600

    llvmpipe: checkpoint WIP: directly render to tiled texture buffers

    We're now directly writing colors into the tiled texture image buffers.

    This is a checkpoint commit with lots of dead code and temporary hacks.
    Everything will get cleaned up eventually.

commit c5ca987e03870849514d4e3c99af143722a09695
Author: Brian Paul <brianp@vmware.com>
Date:   Fri Mar 19 16:41:14 2010 -0600

    llvmpipe: refactor code, create tile_pixel_offset()

commit 2133e8273e937cbac09cd7264d6ce53af9764ddb
Author: Brian Paul <brianp@vmware.com>
Date:   Fri Mar 19 14:55:11 2010 -0600

    llvmpipe: pass LP_TEXTURE_LINEAR/TILED flags around

commit b9b9d4b82b01f4588721fdc8444740f859b4a021
Author: Brian Paul <brianp@vmware.com>
Date:   Fri Mar 19 14:51:05 2010 -0600

    llvmpipe: checkpoint WIP: hanlde co-existing tiled/linear texture data

    Cube maps are temporarily broken, maybe other things.

commit 4cd322e6889940b5f155fcb69041b685b9ef9273
Author: Brian Paul <brianp@vmware.com>
Date:   Fri Mar 19 11:34:43 2010 -0600

    progs/demos: add other modes/patterns to dissolve demo
2010-04-16 09:25:44 -06:00
Brian Paul
db3b34219e docs: update links for new mesa-users and mesa-announce lists 2010-04-16 08:25:58 -06:00
Tormod Volden
885048232f savage: call _mesa_meta_init/free()
Fixes crash when using _mesa_CopyTexImage2D.
Bug #27652.

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
2010-04-16 08:24:53 -06:00
Brian Paul
97831efdb0 gallium: comments and whitespace fixes 2010-04-16 08:21:49 -06:00
Brian Paul
826f552188 softpipe: formatting fixes and comments 2010-04-16 08:21:49 -06:00
Brian Paul
fe6237719d gallivm: remove some old stuff 2010-04-16 08:21:49 -06:00
Jakob Bornecrantz
53c57191c5 st/drisw: Stop pretending to be drm_api
Reviewed-by: George Sapountzis <gsapountzis@gmail.com>
2010-04-16 10:18:05 +01:00
Jakob Bornecrantz
39c81dada0 st/dri: Refactor init code a bit
Reviewed-by: George Sapountzis <gsapountzis@gmail.com>
2010-04-16 10:17:31 +01:00
Vinson Lee
6c954dd128 st/mesa: Remove NULL check of pointer that could not be NULL.
cbuf has been dereferenced twice earlier in the same if-block. It is
either not NULL or a crash has already occurred.
2010-04-16 00:55:35 -07:00
Corbin Simpson
b1a89ea1ab r300/compiler: Fix texture instruction readmasks.
No immediate benefit, it was just bugging me.
2010-04-16 00:43:18 -07:00
Corbin Simpson
2c5b35807e r300/compiler: Fix magic numbers in readmasks. 2010-04-16 00:43:17 -07:00
Corbin Simpson
a089fe2816 r300/compiler: Oops, this slipped through. 2010-04-16 00:43:17 -07:00
Corbin Simpson
2e74bc440e r300/compiler: Save Q for mirror and repeat. 2010-04-16 00:43:17 -07:00
Corbin Simpson
f8a1418680 r300/compiler: Split off texture fixes to their own file.
Yes, I'm fully aware this generates subpar code on r500.
2010-04-16 00:43:17 -07:00
Vinson Lee
8c45677588 drisw: Move pointer dereferences to after NULL checks. 2010-04-16 00:36:50 -07:00
Vinson Lee
e0543599b5 st/egl: Remove unnecessary header. 2010-04-16 00:23:25 -07:00
Vinson Lee
c0301af883 st/dri: Remove unnecessary header. 2010-04-16 00:16:08 -07:00
Vinson Lee
7b8c4f22d4 st/mesa: Move dereference and assignment to after NULL check. 2010-04-15 23:15:05 -07:00
Vinson Lee
8978e45e50 mesa: Add missing format specifiers in error strings. 2010-04-15 17:17:29 -07:00
Marek Olšák
80d89aa0d2 r300/compiler: fix repeat wrap mode for TXP and NPOTs
No idea why st/mesa unnecessarily inserts TXP where TEX is sufficient.
Also re-enabling the NPOT fallback for repeat in r300g.
2010-04-16 02:04:18 +02:00
Jakob Bornecrantz
4855b568ba i915g: Create a special 2D layout helper 2010-04-15 23:52:55 +01:00
Jakob Bornecrantz
97c326417c i915g: Fix 2D layouts
This should fix 2D compressed layouts
2010-04-15 23:52:54 +01:00
Jakob Bornecrantz
e17324372b i915g: Remove unused args 2010-04-15 23:52:54 +01:00
Marek Olšák
17b41f80bd r300/compiler: kill off RC_WRAP_CLAMP
A variant thereof might be later reintroduced for the mirrored-clamp modes.
2010-04-15 23:58:38 +02:00
Marek Olšák
85cbff5b60 r300g: mask out the mirrored bit correctly in the registers
It was previously done wrong + now it shouldn't render garbage,
so that the NPOT fallback can get in.
2010-04-15 23:17:35 +02:00
Marek Olšák
a28ee4aa02 r300g: fix the MIRROR_CLAMP_TO_BORDER wrap mode
I guess this was a typo.
2010-04-15 22:06:10 +02:00
Marek Olšák
eee220d65d r300g: add missing r300_state.h
I am very bad at this.
2010-04-15 10:24:06 +02:00
Marek Olšák
6b46df9616 r300g: disable the REPEAT NPOT fallback until it works
It causes regressions. I haven't tested the MIRROR wrap modes,
so not sure about that..
2010-04-15 10:15:42 +02:00
Marek Olšák
948ce60a26 r300g: do not use NPOT fallback for CLAMP wrap modes
These work just fine.
2010-04-15 10:15:34 +02:00
Marek Olšák
6bd6f4cd49 r300g: pick a new fragment shader when either a sampler state or view is changed 2010-04-15 10:10:28 +02:00
Vinson Lee
ebf765a324 st/mesa: Remove unnecessary headers. 2010-04-14 23:49:31 -07:00
Xavier Chantry
a1fdf12160 nvfx: dont swizzle stuff into GART
swzsurf doesn't support GART

Thanks to Marcin Kościelnicki <koriakin@0x04.net> for spotting that !

This fixes corruption in etracer and the following related errors :
[14381.551927] [drm] nouveau 0000:01:00.0: PGRAPH_ERROR - nSource:
PROTECTION_ERROR, nStatus: INVALID_STATE
[14381.551945] [drm] nouveau 0000:01:00.0: PGRAPH_ERROR - Ch 2/2 Class
0x039e Mthd 0x0184 Data 0x00001cd9:0x00001cd9

Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com>

Adapted by Luca Barbieri for mesa master.
2010-04-15 08:15:22 +02:00
Luca Barbieri
42d9f2bb7b nouveau: replace vtxbuf/idxbuf caps with BO_ flags in nouveau_screen and fix uncached reads on nv3x
Faster, simpler and more flexible.

Also, we set those flags properly on nv3x so that we don't allocate buffers in GART.

Since on AGP GART is uncached, OpenGL doesn't distinguish between vertex and index buffers, and we don't support hardware index buffers for now, this caused uncached reads.

Also check bind and not usage for PIPE_BIND_* flags, got broken in the gallium-resources transition.
2010-04-15 08:13:12 +02:00
Vinson Lee
18dc0f0b1c i915g: Remove unnecessary header. 2010-04-14 22:59:37 -07:00
Dave Airlie
7d93f2bf84 r300g: fix regression in texdepth.
texdepth stopped working when npot went in, this brings it back
to life.

< MostAwesomeDude> That looks like what I was going to do.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-04-15 14:56:20 +10:00
Vinson Lee
c8efed89ba gallium/tests: Add test case for pipe_barrier. 2010-04-14 18:06:54 -07:00
Jakob Bornecrantz
cb56b31f84 swrastg: Fix defines to be able to load more then one sw driver 2010-04-14 23:10:17 +01:00
Brian Paul
8239fd4baa llvmpipe: comments for fence functions 2010-04-14 14:32:09 -06:00