Patrice Mandin [Sat, 12 Apr 2008 20:16:42 +0000 (22:16 +0200)]
nv30: Update miptree stuff
Patrice Mandin [Fri, 11 Apr 2008 21:39:29 +0000 (23:39 +0200)]
nv30: Move some structures and functions from context to screen
Patrice Mandin [Fri, 11 Apr 2008 19:37:41 +0000 (21:37 +0200)]
nv30: Do flip
Patrice Mandin [Fri, 11 Apr 2008 19:37:28 +0000 (21:37 +0200)]
nv30: Set pipe status on clear
Ben Skeggs [Wed, 9 Apr 2008 03:58:51 +0000 (13:58 +1000)]
nv40: use vb/ve counts rather than shader inputs for related loops
Ben Skeggs [Wed, 9 Apr 2008 03:42:55 +0000 (13:42 +1000)]
Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
Brian [Wed, 9 Apr 2008 03:18:21 +0000 (21:18 -0600)]
cell: keep track of num_vertex_attribs/buffers for shorter loops
Brian [Wed, 9 Apr 2008 03:14:58 +0000 (21:14 -0600)]
i915: keep track of num_vertex_attribs/buffers for shorter loops
Brian [Wed, 9 Apr 2008 03:07:14 +0000 (21:07 -0600)]
gallium: keep track of num_vertex_attribs/buffers for shorter loops
José Fonseca [Tue, 8 Apr 2008 11:42:06 +0000 (20:42 +0900)]
gallium: Fix overzealous assert.
Michel Dänzer [Tue, 8 Apr 2008 09:53:37 +0000 (10:53 +0100)]
gallium: Fix up scons build.
Brian [Tue, 8 Apr 2008 04:00:41 +0000 (22:00 -0600)]
gallium: get rid of bufloop quad stage
Brian [Tue, 8 Apr 2008 03:59:12 +0000 (21:59 -0600)]
gallium: begin reworking quad stages for multiple color outputs
José Fonseca [Tue, 8 Apr 2008 02:30:36 +0000 (11:30 +0900)]
gallium: Allow to debug memory leaks in nested scopes.
Brian Paul [Mon, 7 Apr 2008 22:45:17 +0000 (16:45 -0600)]
gallium: check ctx->DrawBuffer before flushing bitmap cache.
During context unbind, we may not have a draw buffer.
This fixes demos/tunnel2.c
Brian Paul [Mon, 7 Apr 2008 21:53:49 +0000 (15:53 -0600)]
gallium: fix the texture case in default_deep_rgba_format()
Fixes glean pixelFormat test
Brian Paul [Mon, 7 Apr 2008 21:05:28 +0000 (15:05 -0600)]
gallium: slightly improved accum clear/mad operations
Instead of get/put_tile(), map the buffer and operate on values directly.
Brian Paul [Mon, 7 Apr 2008 20:53:49 +0000 (14:53 -0600)]
gallium: accum buffer fixes
If the driver can't create a PIPE_FORMAT_R16G16B16A16_SNORM surface, create
an accum surface using a shallower format and taller height. Since only the
accum buffer code accesses the surface the actual format doesn't really
matter, just that there's enough memory.
Brian Paul [Mon, 7 Apr 2008 20:17:32 +0000 (14:17 -0600)]
gallium: remove stray comment
Brian Paul [Mon, 7 Apr 2008 19:50:02 +0000 (13:50 -0600)]
gallium: clean-up in st_renderbuffer_alloc_storage()
Brian [Mon, 7 Apr 2008 17:22:41 +0000 (11:22 -0600)]
mesa: call _mesa_remove_varying_reads() after compiling vertex shaders
Brian [Mon, 7 Apr 2008 17:20:21 +0000 (11:20 -0600)]
mesa: new _mesa_remove_varying_reads() function
We'll apply this function to GLSL vertex programs. In GLSL it's legal to
read and write varying (output) vars in a vertex shader. But reading from
an output register isn't supported by all hardware. This routine examines
the vertex program for that condition and rewrites it to use temporary
registers where needed.
Brian [Mon, 7 Apr 2008 17:16:18 +0000 (11:16 -0600)]
mesa: added _mesa_insert_instructions()
Also, use new _mesa_free_instructions() in a few places.
Brian [Mon, 7 Apr 2008 17:15:23 +0000 (11:15 -0600)]
mesa: added _mesa_free_instructions()
Ben Skeggs [Mon, 7 Apr 2008 10:10:40 +0000 (20:10 +1000)]
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.
Keith Whitwell [Mon, 7 Apr 2008 11:28:31 +0000 (12:28 +0100)]
draw: strip edgeflags out of fetch-emit path
Keith Whitwell [Sun, 6 Apr 2008 13:29:30 +0000 (14:29 +0100)]
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.
Michal Krol [Sat, 5 Apr 2008 08:22:47 +0000 (10:22 +0200)]
draw: Use debug_printf().
José Fonseca [Sat, 5 Apr 2008 02:29:26 +0000 (11:29 +0900)]
gallium: Keep fenced buffers list ordered.
This allows to keep the list small without the overhead of full walks.
José Fonseca [Sat, 5 Apr 2008 00:49:50 +0000 (09:49 +0900)]
gallium: Fix typo.
José Fonseca [Wed, 2 Apr 2008 01:21:24 +0000 (10:21 +0900)]
gallium: Use the custom snprintf implementation everywhere (for Win32).
Because winddk's implemenation does not handle floats.
Brian [Sat, 5 Apr 2008 00:59:21 +0000 (18:59 -0600)]
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.
Brian [Sat, 5 Apr 2008 00:57:40 +0000 (18:57 -0600)]
mesa: new functions for managing list/index of uniforms
Brian [Sat, 5 Apr 2008 00:56:22 +0000 (18:56 -0600)]
mesa: test code to exercise more GLSL functions
Brian [Sat, 5 Apr 2008 00:55:48 +0000 (18:55 -0600)]
mesa: added more ext funcs (from Mesa/master)
Brian [Sat, 5 Apr 2008 00:28:14 +0000 (18:28 -0600)]
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.
Brian [Fri, 4 Apr 2008 22:44:09 +0000 (16:44 -0600)]
gallium: adjust the code in update_textures() to look more like update_samplers()
Brian [Fri, 4 Apr 2008 15:37:21 +0000 (09:37 -0600)]
mesa: add missing glPush/PopMatrix() calls
Brian [Fri, 4 Apr 2008 13:29:28 +0000 (07:29 -0600)]
mesa: add missing glPush/PopMatrix() calls
Roland Scheidegger [Fri, 4 Apr 2008 19:10:07 +0000 (21:10 +0200)]
gallium: state tracker fixes for compressed textures
Brian Paul [Fri, 4 Apr 2008 18:24:25 +0000 (12:24 -0600)]
gallium: add new call to st_flush_bitmap_cache() to fix recent regression
Brian Paul [Fri, 4 Apr 2008 18:24:01 +0000 (12:24 -0600)]
gallium: new debug code, disabled
Brian Paul [Fri, 4 Apr 2008 17:20:44 +0000 (11:20 -0600)]
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.
Keith Whitwell [Fri, 4 Apr 2008 16:02:20 +0000 (17:02 +0100)]
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.
Michel Dänzer [Fri, 4 Apr 2008 15:21:42 +0000 (16:21 +0100)]
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.
Michel Dänzer [Fri, 4 Apr 2008 15:17:33 +0000 (16:17 +0100)]
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.
Keith Whitwell [Fri, 4 Apr 2008 12:18:09 +0000 (13:18 +0100)]
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.
Brian [Tue, 30 Oct 2007 16:24:34 +0000 (10:24 -0600)]
Alias glStencilOpSeparateATI with glStencilOpSeparate.
Brian [Tue, 30 Oct 2007 16:23:58 +0000 (10:23 -0600)]
test glStencilFuncSeparateATI()
Brian [Tue, 30 Oct 2007 15:13:58 +0000 (09:13 -0600)]
Finish up ATI_separate_stencil
Add entrypoints to glapi XML file and regenerate files.
Implement glStencilOpSeparateATI().
Consolidate some code in stencil.c
Roland Scheidegger [Tue, 30 Oct 2007 13:09:17 +0000 (14:09 +0100)]
add missing _mesa_StencilFuncSeparateATI function
Roland Scheidegger [Thu, 3 Apr 2008 23:59:38 +0000 (01:59 +0200)]
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).
Ben Skeggs [Fri, 4 Apr 2008 10:32:06 +0000 (20:32 +1000)]
nv40: kill some warnings
Ben Skeggs [Fri, 4 Apr 2008 10:30:29 +0000 (20:30 +1000)]
Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
Keith Whitwell [Fri, 4 Apr 2008 10:13:10 +0000 (11:13 +0100)]
gallium: make msvc less unhappy
Michel Dänzer [Fri, 4 Apr 2008 08:06:13 +0000 (09:06 +0100)]
gallium: Always allocate new const buffers instead of modifying existing ones.
Ben Skeggs [Fri, 4 Apr 2008 06:14:15 +0000 (16:14 +1000)]
nouveau: create swizzled surface + scaled image objects
Ben Skeggs [Fri, 4 Apr 2008 03:02:37 +0000 (13:02 +1000)]
nv40: have test for hw idxbuf in single place
Ben Skeggs [Fri, 4 Apr 2008 02:39:45 +0000 (12:39 +1000)]
nouveau: in some cases don't create the buffer in local mem initially.
Brian [Wed, 2 Apr 2008 20:30:28 +0000 (14:30 -0600)]
cell: added some comments/ideas about better texture sampling
Brian [Wed, 2 Apr 2008 20:01:42 +0000 (14:01 -0600)]
cell: minor texture improvements
Precompute tiles_per_row. Use ushort multiplies in a few places. New comments.
Ben Skeggs [Wed, 2 Apr 2008 23:39:00 +0000 (09:39 +1000)]
nv40: remove redundant state_emit() calls
Ben Skeggs [Wed, 2 Apr 2008 22:21:56 +0000 (08:21 +1000)]
nv40: static attribs -> stateobj
Ben Skeggs [Fri, 28 Mar 2008 13:30:04 +0000 (00:30 +1100)]
nv40: convert the inline idxbuf paths also
Ben Skeggs [Fri, 28 Mar 2008 12:51:24 +0000 (23:51 +1100)]
nv40: need to resubmit buffers if pushbuf gets flushed during draw
Brian [Thu, 3 Apr 2008 22:37:30 +0000 (16:37 -0600)]
gallium: test if PIPE_FORMAT_YCBCR[_REV] is supported and enable GL_MESA_ycbcr_texture
Update texture format selection code too.
Brian [Thu, 3 Apr 2008 22:36:07 +0000 (16:36 -0600)]
gallium: implement ycbcr->rgba tile conversion
Brian [Thu, 3 Apr 2008 19:16:37 +0000 (13:16 -0600)]
gallium: set rasterizer.gl_rasterization_rules = 1 in a few more places
Brian Paul [Thu, 3 Apr 2008 18:54:32 +0000 (12:54 -0600)]
gallium: streamline viewport/raster/shader state for clearing with quads
Move init of these items to new st_init_clear().
Brian Paul [Thu, 3 Apr 2008 18:52:55 +0000 (12:52 -0600)]
gallium: include st_cb_bitmap.h to silence warning
Brian Paul [Thu, 3 Apr 2008 18:44:58 +0000 (12:44 -0600)]
gallium: remove the temporary/test TEST_DRAW_PASSTHROUGH code
Brian Paul [Thu, 3 Apr 2008 18:42:26 +0000 (12:42 -0600)]
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.
Brian Paul [Thu, 3 Apr 2008 18:01:53 +0000 (12:01 -0600)]
gallium: call st_flush_bitmap_cache()
Brian Paul [Thu, 3 Apr 2008 18:01:17 +0000 (12:01 -0600)]
gallium: set gl_rasterization_rules
Michel Dänzer [Thu, 3 Apr 2008 12:19:38 +0000 (13:19 +0100)]
gallium: Only build softpipe driver by default for xlib winsys with scons.
Keith Whitwell [Thu, 3 Apr 2008 11:21:30 +0000 (12:21 +0100)]
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.
Stephane Marchesin [Thu, 3 Apr 2008 02:20:22 +0000 (04:20 +0200)]
nv10: emit dummy zeta size when no zbuffer is used.
Stephane Marchesin [Thu, 3 Apr 2008 02:07:16 +0000 (04:07 +0200)]
nv10: fix more vertex stuff
Stephane Marchesin [Wed, 2 Apr 2008 16:28:44 +0000 (18:28 +0200)]
don't push "pouets"
Stephane Marchesin [Wed, 2 Apr 2008 16:26:49 +0000 (18:26 +0200)]
nv10: fix some more state, work on the vertex emission code.
Stephane Marchesin [Wed, 2 Apr 2008 13:09:32 +0000 (15:09 +0200)]
nv10: set rasterizer state.
Keith Whitwell [Wed, 2 Apr 2008 11:05:55 +0000 (12:05 +0100)]
draw: add missing break statement
Keith Whitwell [Wed, 2 Apr 2008 10:55:03 +0000 (11:55 +0100)]
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.
Keith Whitwell [Wed, 2 Apr 2008 10:38:33 +0000 (11:38 +0100)]
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.
Keith Whitwell [Wed, 2 Apr 2008 09:43:37 +0000 (10:43 +0100)]
gallium: add temporary facility for rasterization-time clamping of point sizes
Ben Skeggs [Wed, 2 Apr 2008 03:29:17 +0000 (13:29 +1000)]
Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
Stephane Marchesin [Wed, 2 Apr 2008 03:10:52 +0000 (05:10 +0200)]
Merge branch 'gallium-0.1' of git+ssh://marcheu@git.freedesktop.org/git/nouveau/mesa into gallium-0.1
Stephane Marchesin [Wed, 2 Apr 2008 03:10:18 +0000 (05:10 +0200)]
nv10: fix stuff and things.
Ben Skeggs [Wed, 2 Apr 2008 03:04:06 +0000 (13:04 +1000)]
nv40: only update draw module state when using swtnl
Ben Skeggs [Wed, 2 Apr 2008 02:54:37 +0000 (12:54 +1000)]
nv40: shorten zsa state lines
Brian [Tue, 1 Apr 2008 22:20:29 +0000 (16:20 -0600)]
mesa: added a cast to avoid int overflow, plus rename texels->pixels
Brian [Tue, 1 Apr 2008 22:07:09 +0000 (16:07 -0600)]
mesa: measure fill rate for drawing a large quad with basic shading/texture modes
Brian [Tue, 1 Apr 2008 21:42:42 +0000 (15:42 -0600)]
cell: more multi-texture fixes (mostly working now)
Brian [Tue, 1 Apr 2008 20:56:10 +0000 (14:56 -0600)]
mesa: destroy window upon exit
Brian [Tue, 1 Apr 2008 20:55:31 +0000 (14:55 -0600)]
cell: turn off some debug output
Brian [Tue, 1 Apr 2008 20:52:25 +0000 (14:52 -0600)]
cell: pass tex unit to get_texel()
Brian [Tue, 1 Apr 2008 20:52:04 +0000 (14:52 -0600)]
cell: fix bug in texture tiling function (non-square textures work now)
Brian [Tue, 1 Apr 2008 17:35:53 +0000 (11:35 -0600)]
cell: checkpoint: more multi-texture work
Brian [Tue, 1 Apr 2008 17:30:17 +0000 (11:30 -0600)]
cell: assert num samplers/textures <= CELL_MAX_SAMPLERS
Brian [Tue, 1 Apr 2008 17:28:27 +0000 (11:28 -0600)]
cell: return CELL_MAX_SAMPLERS to indicate number of texture units