Commit graph

39979 commits

Author SHA1 Message Date
Jakob Bornecrantz
24fc93ebdc gallium: Stop warnings 2008-04-07 19:39:28 +02:00
Ben Skeggs
2655f69012 nv40: implement user clip planes
It turns out the user planes handed to the driver are already in clip space.
Hence, we no longer need to transform incoming vertices before computing the
clip distance, and no longer need to change the interface provided by
gallium.  Yay :)

The clip state change handling could be better, but this works.
2008-04-07 21:43:29 +10:00
Keith Whitwell
a8a5376406 draw: strip edgeflags out of fetch-emit path 2008-04-07 12:28:31 +01:00
Keith Whitwell
5c19e47362 draw: fix edgeflag handling on the pt paths
Encode edgeflags (and reset_stipple info) into the top two bits of the
fetch elements.  This info could be moved elsewhere, but for now we
can live with a 1<<30 maximum element size...

Also use the primitive decomposition code from draw_prim.c verbatim, as
it includes all this stuff and is known to work.
2008-04-06 14:31:41 +01:00
Michal Krol
a8ca549553 draw: Use debug_printf(). 2008-04-05 10:22:47 +02:00
José Fonseca
fdff063343 gallium: Keep fenced buffers list ordered.
This allows to keep the list small without the overhead of full walks.
2008-04-05 13:45:41 +09:00
José Fonseca
f1efef809c gallium: Fix typo. 2008-04-05 13:45:40 +09:00
José Fonseca
c1d26d3dcc gallium: Use the custom snprintf implementation everywhere (for Win32).
Because winddk's implemenation does not handle floats.
2008-04-05 13:45:40 +09:00
Brian Paul
5ffc5cce15 gallium: new debug code, disabled 2008-04-04 12:24:01 -06:00
Keith Whitwell
84501e68f6 gallium: Handle client-supplied edgeflags.
Also, implement support in the draw module.  We were hardwiring these
to one for quite a long time...

Currently using a draw_set_edgeflags() function, may be better to push
the argument into the draw_arrays() function.  TBD.
2008-04-04 17:05:27 +01:00
Keith Whitwell
0b20d1b9b5 draw: move code to run pipeline from pt to new file
Add facility for draw_vbuf.c to reset these vertex ids on flushes.
Pre-initialize vertex ids correctly.
2008-04-04 13:19:26 +01:00
Roland Scheidegger
cf9b07ea34 gallium: fix two-side stencil handling
Previously all drivers were in twosided mode since they checked for
stencil.enable[1] flag which was a copy of stencil.enable[0]. Note that drivers
should not reference stencil[1] state (other than the enable) if twosided
stenciling is disabled (for now the stencil state is still copied but for
instance clear_with_quads won't provide useful values in there).
Also, use _TestTwoSide instead of TestTwoSide since results would be
bogus otherwise if using APIs with implicit two side stencil enable
(i.e. core ogl 2.0).
2008-04-04 12:44:13 +02:00
Ben Skeggs
2946a5a012 nv40: kill some warnings 2008-04-04 20:32:06 +10:00
Ben Skeggs
e902d9091c Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 2008-04-04 20:30:29 +10:00
Keith Whitwell
7a7bce7b24 gallium: make msvc less unhappy 2008-04-04 11:13:10 +01:00
Ben Skeggs
bc67533f29 nouveau: create swizzled surface + scaled image objects 2008-04-04 16:18:58 +10:00
Ben Skeggs
a45a12e757 nv40: have test for hw idxbuf in single place 2008-04-04 13:02:37 +10:00
Ben Skeggs
fbb6cc7842 nouveau: in some cases don't create the buffer in local mem initially. 2008-04-04 12:55:57 +10:00
Brian
a7504ad587 cell: added some comments/ideas about better texture sampling 2008-04-03 19:43:10 -06:00
Brian
217d379407 cell: minor texture improvements
Precompute tiles_per_row.  Use ushort multiplies in a few places.  New comments.
2008-04-03 19:43:10 -06:00
Ben Skeggs
0b57662fa6 nv40: remove redundant state_emit() calls 2008-04-04 11:17:28 +10:00
Ben Skeggs
6fbc50e013 nv40: static attribs -> stateobj 2008-04-04 11:17:28 +10:00
Ben Skeggs
7e9b83ac0a nv40: convert the inline idxbuf paths also 2008-04-04 11:17:27 +10:00
Ben Skeggs
73322bba5c nv40: need to resubmit buffers if pushbuf gets flushed during draw 2008-04-04 11:17:27 +10:00
Brian
766f3a545e gallium: implement ycbcr->rgba tile conversion 2008-04-03 16:36:07 -06:00
Michel Dänzer
333df9656a gallium: Only build softpipe driver by default for xlib winsys with scons. 2008-04-03 13:19:38 +01:00
Keith Whitwell
d2cb4ba0bb draw: add passthrough path to the pipeline
This handles the case where bypass_vs is set, but vertices need to go
through the pipeline for some reason - eg unfilled polygon mode.

Demonstrates how to drive the pipeline from inside one of these things.
2008-04-03 12:21:30 +01:00
Stephane Marchesin
8ed894bd17 nv10: emit dummy zeta size when no zbuffer is used. 2008-04-03 04:20:22 +02:00
Stephane Marchesin
7f21b63a98 nv10: fix more vertex stuff 2008-04-03 04:07:16 +02:00
Stephane Marchesin
d3340cda9c don't push "pouets" 2008-04-02 18:28:44 +02:00
Stephane Marchesin
fb19b3393f nv10: fix some more state, work on the vertex emission code. 2008-04-02 18:26:49 +02:00
Stephane Marchesin
8f26e975ca nv10: set rasterizer state. 2008-04-02 15:09:32 +02:00
Keith Whitwell
add46fbc8c draw: add missing break statement 2008-04-02 12:05:55 +01:00
Keith Whitwell
ae3c91e98c draw: Set the backend prim in the pt 'prepare' operation
Leaving it until 'run' is bad as the primitive is pretty much state
for some drivers and so needs to get set early.  In some drivers
this is used to determine things like vertex format, etc -- by the
time we get to 'run', it's too late to change this.
2008-04-02 12:02:32 +01:00
Keith Whitwell
8e33194837 gallium: add a flag to turn on gl rasterization rules
Use this to set up hardware rasterization (if your hardware can
do it) or otherwise turn on various tweaks in the draw module.

Currently only hooked up to point biasing code.
2008-04-02 11:38:33 +01:00
Keith Whitwell
bc739440c2 gallium: add temporary facility for rasterization-time clamping of point sizes 2008-04-02 10:44:04 +01:00
Ben Skeggs
81f34e222a Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 2008-04-02 13:29:17 +10:00
Stephane Marchesin
901700888e Merge branch 'gallium-0.1' of git+ssh://marcheu@git.freedesktop.org/git/nouveau/mesa into gallium-0.1 2008-04-02 05:10:52 +02:00
Stephane Marchesin
b1a361ba7a nv10: fix stuff and things. 2008-04-02 05:10:18 +02:00
Ben Skeggs
ae87909d0d nv40: only update draw module state when using swtnl 2008-04-02 13:04:06 +10:00
Ben Skeggs
bdf5b23bfd nv40: shorten zsa state lines 2008-04-02 12:54:37 +10:00
Brian
bccd3f138c cell: more multi-texture fixes (mostly working now) 2008-04-01 15:42:42 -06:00
Brian
9d1444092f cell: turn off some debug output 2008-04-01 14:55:31 -06:00
Brian
9e7b730eb2 cell: pass tex unit to get_texel() 2008-04-01 14:52:25 -06:00
Brian
2d02ee8509 cell: fix bug in texture tiling function (non-square textures work now) 2008-04-01 14:52:04 -06:00
Brian
e7b23d36df cell: checkpoint: more multi-texture work 2008-04-01 11:35:53 -06:00
Brian
c14da8f524 cell: assert num samplers/textures <= CELL_MAX_SAMPLERS 2008-04-01 11:30:17 -06:00
Brian
6ddd2df1ae cell: return CELL_MAX_SAMPLERS to indicate number of texture units 2008-04-01 11:28:27 -06:00
Brian
f8c09464f8 cell: enable #define CACHE_STATS to print a cache report upon exit 2008-04-01 11:05:32 -06:00
Ben Skeggs
71d7aec2b3 nouveau: winsys printf disappeared :) 2008-04-02 00:40:18 +10:00