Brian Paul
7a8ad75c89
gallium: fix readback of z16 values
2008-04-10 10:30:46 -06:00
Brian Paul
311e402684
gallium: more elaborate tracking of front color buffer state
...
This fixes the case where the app calls SwapBuffers then calls glReadPixels
to read the front color buffer. We now keep track of when the front buffer
is a _logically_ copy of the back buffer (after SwapBuffers) and read from
the back color buffer instead of the front.
2008-04-09 18:39:51 -06:00
Brian Paul
54d7c399a8
gallium: more flush/finish changes
...
New, separate is_front_buffer_dirty() function.
2008-04-09 16:59:14 -06:00
Brian Paul
4ecbd5a70f
gallium: reorder funcs
2008-04-09 16:32:46 -06:00
Brian Paul
aade2f41b0
gallium: call_flush_front_buffer() from st_glFinish()
2008-04-09 16:32:22 -06:00
Brian Paul
574f964667
gallium: fold st_gl_flush() into st_glFlush()
2008-04-09 16:30:28 -06:00
Brian Paul
9c86c0e88b
gallium: refactor code, new flush_front_buffer() function
2008-04-09 16:26:56 -06:00
Brian Paul
a52faa9325
gallium: remove unneeded st->haveFramebufferSurfaces field.
2008-04-09 16:09:46 -06:00
Brian Paul
f7e475280a
gallium: fix bug in PIPE_BLENDFACTOR_INV_DST_ALPHA case
2008-04-09 14:20:43 -06:00
Brian
da8934034b
gallium: re-order, clean-up PIPE_MAX_* definitions
2008-04-08 21:43:36 -06:00
Brian
be37e8350f
gallium: remove obsolete/unused PIPE_ATTRIB_MAX
2008-04-08 21:38:44 -06:00
Brian
7e57a9e8bb
cell: keep track of num_vertex_attribs/buffers for shorter loops
2008-04-08 21:20:10 -06:00
Brian
1f888abf16
i915: keep track of num_vertex_attribs/buffers for shorter loops
2008-04-08 21:20:10 -06:00
Brian
28cf8c8fdc
gallium: keep track of num_vertex_attribs/buffers for shorter loops
2008-04-08 21:20:10 -06:00
José Fonseca
4382b0c9cb
gallium: Fix overzealous assert.
2008-04-08 20:42:24 +09:00
Michel Dänzer
f97c56e057
gallium: Fix up scons build.
2008-04-08 10:53:37 +01:00
Brian
17f6409903
gallium: get rid of bufloop quad stage
2008-04-07 22:00:41 -06:00
Brian
c7daa68ca3
gallium: begin reworking quad stages for multiple color outputs
2008-04-07 21:59:12 -06:00
José Fonseca
4e2127b0e5
gallium: Allow to debug memory leaks in nested scopes.
2008-04-08 12:04:03 +09:00
Brian Paul
985134211d
gallium: check ctx->DrawBuffer before flushing bitmap cache.
...
During context unbind, we may not have a draw buffer.
This fixes demos/tunnel2.c
2008-04-07 16:45:17 -06:00
Brian Paul
d28a2004b8
gallium: fix the texture case in default_deep_rgba_format()
...
Fixes glean pixelFormat test
2008-04-07 15:53:49 -06:00
Brian Paul
2b8b2420d4
gallium: slightly improved accum clear/mad operations
...
Instead of get/put_tile(), map the buffer and operate on values directly.
2008-04-07 15:05:28 -06:00
Brian Paul
0dd596fbc7
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.
2008-04-07 14:53:49 -06:00
Brian Paul
29b65a709c
gallium: remove stray comment
2008-04-07 14:17:32 -06:00
Brian Paul
2b2d0e0584
gallium: clean-up in st_renderbuffer_alloc_storage()
2008-04-07 13:50:02 -06:00
Brian
42a9218daa
mesa: call _mesa_remove_varying_reads() after compiling vertex shaders
2008-04-07 11:23:44 -06:00
Brian
48a25bdd36
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.
2008-04-07 11:23:44 -06:00
Brian
5d1e73028a
mesa: added _mesa_insert_instructions()
...
Also, use new _mesa_free_instructions() in a few places.
2008-04-07 11:23:43 -06:00
Brian
f3bd7bf5c9
mesa: added _mesa_free_instructions()
2008-04-07 11:23:43 -06:00
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
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