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
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
Michel Dänzer
c07d3f6a9e
gallium: Always allocate new const buffers instead of modifying existing ones.
2008-04-04 09:06:13 +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
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