Commit graph

92185 commits

Author SHA1 Message Date
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
Jakob Bornecrantz
d5d93a3158 i915: Pulled in changes from i915tex 2008-04-07 19:40:43 +02:00
Jakob Bornecrantz
d945e8ddd7 mesa: Pulled in glthread from i915tex 2008-04-07 19:40:01 +02:00
Jakob Bornecrantz
24fc93ebdc gallium: Stop warnings 2008-04-07 19:39:28 +02: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
Ben Skeggs
2655f69012 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.
2008-04-07 21:43:29 +10:00
Keith Whitwell
a8a5376406 draw: strip edgeflags out of fetch-emit path 2008-04-07 12:28:31 +01:00
Michel Dänzer
da3e48186d r300: Fix r300VAPInputRoute{0,1} for big endian platforms. 2008-04-07 10:28:42 +02: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
5d73502625 7.0.3 updates 2008-04-04 19:28:33 -06:00
Brian
fad7933c44 updated w/ 7.0.3 release 2008-04-04 19:28:33 -06:00
Brian
6eddb4cb20 import 7.0.3 relnotes from 7.0 branch 2008-04-04 19:28:33 -06:00
Brian
c3240b5ff8 added glGetActiveUniform_func 2008-04-04 19:28:33 -06:00
Brian
40905c909d mesa: add missing glPush/PopMatrix() calls 2008-04-04 19:28:33 -06:00
Brian
ae0ea14ff6 mesa: add missing glPush/PopMatrix() calls 2008-04-04 19:28:33 -06: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