Commit graph

14348 commits

Author SHA1 Message Date
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
Brian
9edac96d69 Alias glStencilOpSeparateATI with glStencilOpSeparate. 2008-04-04 12:44:14 +02:00
Brian
cdbfae9bef test glStencilFuncSeparateATI() 2008-04-04 12:44:14 +02:00
Brian
102f2ef4fc Finish up ATI_separate_stencil
Add entrypoints to glapi XML file and regenerate files.
Implement glStencilOpSeparateATI().
Consolidate some code in stencil.c
2008-04-04 12:44:14 +02:00
Roland Scheidegger
04097f5583 add missing _mesa_StencilFuncSeparateATI function 2008-04-04 12:44:13 +02: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
Michel Dänzer
c07d3f6a9e gallium: Always allocate new const buffers instead of modifying existing ones. 2008-04-04 09:06:13 +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
1307eebfa0 gallium: test if PIPE_FORMAT_YCBCR[_REV] is supported and enable GL_MESA_ycbcr_texture
Update texture format selection code too.
2008-04-03 16:37:30 -06:00
Brian
766f3a545e gallium: implement ycbcr->rgba tile conversion 2008-04-03 16:36:07 -06:00
Brian
124e1345c9 gallium: set rasterizer.gl_rasterization_rules = 1 in a few more places 2008-04-03 13:16:37 -06:00
Brian Paul
ce5c867cbb gallium: streamline viewport/raster/shader state for clearing with quads
Move init of these items to new st_init_clear().
2008-04-03 12:54:32 -06:00
Brian Paul
e8823bb7df gallium: include st_cb_bitmap.h to silence warning 2008-04-03 12:52:55 -06:00
Brian Paul
c4f8c8b304 gallium: remove the temporary/test TEST_DRAW_PASSTHROUGH code 2008-04-03 12:44:58 -06:00
Brian Paul
4f67a3f7d3 gallium: use identity viewport fix broken clear_with_quad() path
Since bypass_clipping is set and we're specifying quad vertexes in window
coords, setup identity viewport.
2008-04-03 12:42:26 -06:00
Brian Paul
0bc2e2c9cd gallium: call st_flush_bitmap_cache() 2008-04-03 12:01:53 -06:00
Brian Paul
f07fe3c728 gallium: set gl_rasterization_rules 2008-04-03 12:01:17 -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
7f40115a52 mesa: added a cast to avoid int overflow, plus rename texels->pixels 2008-04-01 16:20:29 -06:00
Brian
792d524aed mesa: measure fill rate for drawing a large quad with basic shading/texture modes 2008-04-01 16:07:09 -06:00
Brian
bccd3f138c cell: more multi-texture fixes (mostly working now) 2008-04-01 15:42:42 -06:00
Brian
8bef18f47b mesa: destroy window upon exit 2008-04-01 14:56:10 -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
9d287a1841 gallium: init ctx->Const.MaxTextureUnits 2008-04-01 11:28:01 -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
f3a62372bf handle IsPositionInvariant flag 2008-04-01 08:59:41 -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
cc85573a9f gallium: Fencing fix.
Make sure the struct pipe_fence_handle* we point st_flush() to is initialized
to NULL, so winsys->fence_reference() doesn't try to unreference a random
struct pipe_fence_handle* pointer.
2008-04-01 13:05: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