Commit Graph

486 Commits

Author SHA1 Message Date
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
Keith Whitwell 7a7bce7b24 gallium: make msvc less unhappy 2008-04-04 11:13:10 +01: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
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
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
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
Keith Whitwell 8f8b95ae58 draw: remove dead code 2008-04-01 15:19:30 +01:00
Keith Whitwell edfa8201a5 draw: more flatshade_first changes
- Reduce the number of changes to the normal vertex ordering
- Assume that the hardware knows how to do this in the standard case.
- Add support to the passthrough vcache path.
2008-04-01 14:51:25 +01:00
Keith Whitwell caa44763f7 draw: respect flatshade_first in flatshade stage 2008-04-01 14:51:25 +01:00
Keith Whitwell 52f40dcc46 draw: associate rhw divide with clipping not viewport flag 2008-04-01 14:51:24 +01:00
Keith Whitwell 4b1377b240 draw: flush between pt/non-pt modes 2008-04-01 14:51:24 +01:00
Michel Dänzer 2df9941368 scons: Fix test for building dri/intel winsys. 2008-04-01 13:05:09 +01:00
Brian d83e0c45be cell: update some of the CAP, texformat queries 2008-03-31 21:16:48 -06:00
Brian e6c981f22c cell: more work for multi-texture support 2008-03-31 21:16:48 -06:00
Brian 5553a3b675 cell: set cell->num_textures in cell_set_sampler_textures() 2008-03-31 21:16:48 -06:00
José Fonseca 686a6c7468 gallium: Do not assume that buffers are freed in the same order they are fenced.
Also free buffers as soon as possible.

This short term fix corrects the fenced list behavior but it will impact on performance.
The long term fix is probably replace the linked list (legacy from the bufpool code) by
a binary tree.
2008-04-01 10:46:04 +09:00
Brian 14452aee73 cell: initial work to support multi-texture 2008-03-31 17:38:21 -06:00
Brian 84c2821d2a cell: added const qualifier 2008-03-31 16:54:31 -06:00
Brian 58b6690cf8 cell: updated comments: s/test/SPE/ 2008-03-31 16:44:56 -06:00
Brian ab8bcc4ec6 cell: implement logicop/output for PIPE_FORMAT_B8G8R8A8_UNORM
Remote display to my usual terminal shows the right colors again.
Not 100% sure about the shuffle control words, but they seem to work.
2008-03-31 16:36:25 -06:00
José Fonseca 8a81429fa8 gallium: Compute YCBCR bit depth. 2008-04-01 07:22:10 +09:00
Brian 23b03c536d gallium: updated comment for bypass_vs 2008-03-31 15:12:01 -06:00
Brian 7139b8ef78 gallium: draw_passthrough.c is obsolete - removed 2008-03-31 14:20:16 -06:00
Brian 594dab4769 gallium: move the test for bypass_vs into the vs_XXX_run() functions
Also:
1. Added an identity_viewport flag to skip viewport transformation when it
has no effect.  Might also add an explicit bypass_viewport flag someday.
2. Separate the code for computing clip codes and doing the viewport transform.
Predicate them separately.
Note: even if bypass_vs is set, we still look at the shader to determine the
number of inputs and outputs.
2008-03-31 14:14:30 -06:00
Brian 9cbd840043 gallium: draw_passthrough.c is not used anymore 2008-03-31 14:13:09 -06:00
Brian 499d8aaa47 gallium: draw_passthrough.c is not used anymore 2008-03-31 14:06:42 -06:00
José Fonseca baab98a637 gallium: Eliminate p_winsys::printf
Not convenient and almost not used at all. Better replacements in p_debug.h
2008-03-31 17:28:33 +09:00
Michal Krol 63950b11b6 draw: Do not run full pipeline when flatshade_first for point primitives. 2008-03-30 23:21:20 +02:00