Commit graph

14281 commits

Author SHA1 Message Date
Brian Paul
bceebffc17 gallium: disable the bitmap/texcoord bias
Doesn't seem to be needed after fixing the float->int conversion problem.
2008-04-24 13:44:40 -06:00
Brian Paul
72c8d2f244 mesa: adjust glBitmap coords by a small epsilon
Fixes problem with bitmaps jumping around by one pixel depending on window
size.  The rasterpos is often X.9999 instead of X+1.
Run progs/redbook/drawf and resize window to check.
2008-04-24 13:36:26 -06:00
Brian Paul
a770d40c3d gallium: use cso_destroy_vertex/fragment_shader() functions
Also, rearrange the st_destroy_context() code a bit to prevent some
invalid/NULL ptr derefs during tear-down.
2008-04-24 12:15:05 -06:00
Brian Paul
386102c62a gallium: make cso_release_all() public 2008-04-24 12:15:05 -06:00
Brian Paul
a41804909d gallium: minor clean-ups, comments 2008-04-24 12:15:05 -06:00
Brian Paul
ac79532a15 gallium: tweak the new shader delete funcs 2008-04-24 12:15:05 -06:00
Brian Paul
f2c3125716 gallium: added cso_delete_vertex_fragment_shader() functions
The state tracker now uses these functions to free shaders, rather than
the pipe->delete_vs/fs-state() functions.  Before, we could get in a situation
where we free() a shader and happen to alloc() a new one at the same address.
The cso_set_vertex/fragment_shader() function would no-op the state change
since the pointers were the same.  This led to problems elsewhere, of course.

The new delete functions null-out the CSO's current shader pointers.
2008-04-24 12:15:05 -06:00
Michel Dänzer
35dc003c6a gallium: Make sure the size of non-existent storage components is set to 0.
Before adding support for formats with unused storage components, the size of
components swizzled to 0 or 1 was ignored, so this didn't matter.
2008-04-24 18:42:35 +01:00
Jakob Bornecrantz
cefa367b5d i915: Fix for wrong texture in texobj with VBUF 2008-04-24 17:10:11 +02:00
Michal Krol
d712eea074 translate: Actually return a value from translate_cache_create(). 2008-04-24 14:05:39 +02:00
Keith Whitwell
63e6e33db6 trivial: simple edgeflag test 2008-04-24 12:39:09 +01:00
Keith Whitwell
f93332da56 draw: handle edgeflags and reset-line-stipple again 2008-04-24 12:39:09 +01:00
Keith Whitwell
dddedd915a xlib: only shortcircuit makecurrent if NO_RAST set, otherwise window size updates fail 2008-04-24 12:39:08 +01:00
Michel Dänzer
7333578d2a gallium: Initial support for pixel formats with unused storage components.
Also clarify that RGB formats with no (used) alpha component are treated as
having alpha = 1.0.
2008-04-24 10:18:34 +01:00
Brian Paul
bb4f8ae1f9 gallium: reorder code to fix a recursive flush 2008-04-23 18:09:20 -06:00
Brian Paul
14d1ca8d86 gallium: fix issues in recursive flushing
When flushing/rendering, some stages (like AA line/point) need to set
pipe/driver state.  Those driver functions often call draw_flush().
That leads to recursion.

Use new draw->suspend_flush flag to explicitly prevent that in the key places.
Remove the draw->vcache_flushing field.
Reuse draw->flushing as a debug/assertion var.
2008-04-23 18:08:20 -06:00
Brian Paul
8437f5c763 gallium: fix comments 2008-04-23 17:41:30 -06:00
Brian Paul
bff371c431 gallium: fix comments, whitespace changes 2008-04-23 17:40:39 -06:00
Brian Paul
3f6242d3e4 gallium: passthrough tri, not point 2008-04-23 12:13:12 -06:00
Zack Rusin
95f8f8863a Add translate cache to fetch_emit stage and add out of memory
checks to code creating the cache.
2008-04-23 14:07:53 -04:00
Zack Rusin
5fcd84ab39 Create a sharable translate_cache and use it. 2008-04-23 14:01:08 -04:00
Brian Paul
ba47aabc98 gallium: fix potential divide by zero in fog computation
It's legal for Fog.Start == Fog.End and conformance testing does so.
2008-04-23 11:38:41 -06:00
Brian Paul
5d873c8718 gallium: additional debug code 2008-04-23 11:38:41 -06:00
Brian Paul
809bc8f9ad gallium: move logicop test outside of loop 2008-04-23 11:38:40 -06:00
Brian Paul
2221cb9f74 gallium: fix broken PIPE_BLENDFACTOR_SRC_ALPHA_SATURATE 2008-04-23 11:38:40 -06:00
Brian Paul
76d39f0c19 gallium: more vertex debug code 2008-04-23 11:38:40 -06:00
Zack Rusin
e1180c2d69 fix the simple hash finding function and use it 2008-04-23 13:32:41 -04:00
José Fonseca
4f93a3a680 gallium: Fix texture refcount leak. 2008-04-24 02:13:41 +09:00
José Fonseca
a75a3df851 pipebuffer: New function to flush the buffer cache. 2008-04-24 02:13:41 +09:00
José Fonseca
53cf833af9 gallium: Add extern "C" to the headers. 2008-04-24 02:13:41 +09:00
Brian Paul
333976c90a gallium: fix broken hashing for vertex translation
It seems we get hash collisions fairly easily and the code as it was didn't
deal with that properly.

I think we need a simpler hashing interface...
2008-04-23 10:29:52 -06:00
Keith Whitwell
43be7a4819 draw: remove stupid debug (Keith) 2008-04-23 13:56:05 +01:00
Keith Whitwell
d6a965972b draw: add missing break (Jakob) 2008-04-23 13:51:50 +01:00
Keith Whitwell
1e3087cd03 mesa: add dedicated point-wide-smooth test, restore original tri.c as tri-orig.c 2008-04-23 13:10:13 +01:00
Ben Skeggs
6fc530ccda fix non-i386 builds 2008-04-23 12:38:37 +10:00
Brian Paul
72fd5b9c5a gallium: added a flushing_vcache flag, test in draw_do_flush()
Fixes broken polygon stipple, aaline, aapoint stages
2008-04-22 19:11:59 -06:00
Brian Paul
91e37b7140 gallium: fix bad logic in bind_pstip_fragment_shader(): use &&, not || 2008-04-22 19:10:52 -06:00
Brian Paul
33f3938d2d gallium: fix some bitmap frag shader issues
If texturing happens to be enabled when glBitmap() is called, need to be
careful about choosing a sampler unit, etc.
2008-04-22 18:43:05 -06:00
Brian Paul
1977fbff60 gallium: don't set buffer status to undefined in display_front_buffer() 2008-04-22 18:43:05 -06:00
Zack Rusin
36feb5eacf In case the 'func' is deleting the state move the iterator before
calling it.
2008-04-22 18:32:36 -04:00
Zack Rusin
d8f2e400cf Fix a crash. Rasterizer can be null 2008-04-22 18:32:36 -04:00
Zack Rusin
f088b53769 Cache translate's structs for emits and fetches.
Results in a fair speed improvement.
2008-04-22 18:32:36 -04:00
Zack Rusin
500c41b8ba Fix reporting of clipped vertices. 2008-04-22 18:32:36 -04:00
Brian Paul
22cbf6a704 gallium: setup an identity viewport
This fixes broken blits.
2008-04-22 16:29:48 -06:00
Brian Paul
0939a986a8 gallium: update comment about bypass clipping/viewport 2008-04-22 16:25:55 -06:00
Brian Paul
aaa43218f3 gallium: setup an identity viewport 2008-04-22 16:22:21 -06:00
Brian Paul
465bc9473a gallium: move the vertex print/debug code 2008-04-22 16:15:49 -06:00
Brian Paul
8f4f89c043 gallium: remove assertions
It's possible the current vs/fs is null when cso_save_vertex/fragment_shader()
is called.
2008-04-22 14:44:07 -06:00
Brian Paul
b456f1374f gallium: st_translate_fragment_program() is void now
The return value was never used.
2008-04-22 14:44:07 -06:00
Keith Whitwell
4ebede8c7f Revert "softpipe: squash warning"
This reverts commit 1f0f029ba6.

Which broke the debug build.
2008-04-22 21:17:21 +01:00