Commit Graph

14018 Commits

Author SHA1 Message Date
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 bc029247d9 mesa: no longer combine vertex/fragment shader parameters/uniforms
GLSL Vertex and fragment shaders now have independent parameter buffers.
A new gl_uniform_list is used to keep track of program uniforms and where
each uniform is located in each shader's parameter buffer.
This makes better use of the space in each buffer and simplifies shader linking.
2008-04-04 18:59:21 -06:00
Brian b8cc9e88e0 mesa: new functions for managing list/index of uniforms 2008-04-04 18:57:40 -06:00
Brian 8a8e7b22c0 mesa: test code to exercise more GLSL functions 2008-04-04 18:56:22 -06:00
Brian f7f4b81ad8 mesa: added more ext funcs (from Mesa/master) 2008-04-04 18:55:48 -06:00
Brian b53d6ae4be gallium: always pass size=4 to make_immediate()
Mesa always packs 4 immediates into each parameter/const buffer slot.
I think we were just getting lucky with this as it was.
2008-04-04 18:28:14 -06:00
Brian 74a6a46b74 gallium: adjust the code in update_textures() to look more like update_samplers() 2008-04-04 16:45:05 -06:00
Brian fe1c9c0585 mesa: add missing glPush/PopMatrix() calls 2008-04-04 16:45:05 -06:00
Brian 1e4cd24e9c mesa: add missing glPush/PopMatrix() calls 2008-04-04 16:45:05 -06:00
Roland Scheidegger f32c512774 gallium: state tracker fixes for compressed textures 2008-04-04 21:10:15 +02:00
Brian Paul ac2ca39f8f gallium: add new call to st_flush_bitmap_cache() to fix recent regression 2008-04-04 12:24:25 -06:00
Brian Paul 5ffc5cce15 gallium: new debug code, disabled 2008-04-04 12:24:01 -06:00
Brian Paul 72f2c55069 gallium: make sure to set the SamplersUsed field for bitmap/drawpixels shaders
Also, make sure that field is copied/updated in the program clone and combine functions.
Without this we weren't getting SAMP declarations in the TGSI shaders.
2008-04-04 11:20:44 -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
Michel Dänzer 1d6877b326 gallium: Revert st_gl_flush() changes from when the **fence argument was added.
As st_gl_flush() isn't used by st_finish() anymore, it doesn't have to make
sure pipe->flush() always gets called.
2008-04-04 16:27:45 +01:00
Michel Dänzer 7b5303adbf gallium: Call st_flush() instead of st_gl_flush() in st_finish().
This is enough for the current purpose of st_finish(), which is to wait for
things to settle down before context teardown.
2008-04-04 16:17:33 +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
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