Michel Dänzer
d7b523b46b
gallium: Tell the driver the texture is updated when we finish rendering to it.
2008-04-25 10:34:20 +01:00
José Fonseca
b06cd4debf
gallium: Windows user mode portability fixes.
2008-04-25 18:19:51 +09:00
José Fonseca
dacfef1589
gallium: New configuration header.
...
To abstract all those weird #ifdef (__???__) checks.
It should typically be the first included header.
2008-04-25 18:18:48 +09:00
José Fonseca
35460fc91c
scons: Teach scons about user-land windows.
...
Actually, more like get rid of all our hacks when compiling for
user-land windows.
Only MSVC is supported atm though.
2008-04-25 18:16:25 +09:00
Brian Paul
b4c7a48d5c
gallium: fix an edgeflags crash
2008-04-24 16:40:08 -06:00
Keith Whitwell
2926e59e4a
draw: remove old assignment of edgeflag value
2008-04-24 23:31:35 +01:00
Brian Paul
ef683014dd
gallium: initial edgeflags code
2008-04-24 16:01:18 -06:00
Brian Paul
9816531862
gallium: plug in softpipe_set_edgeflags() function
2008-04-24 15:59:08 -06:00
Brian Paul
909894e34c
gallium: comments
2008-04-24 15:58:46 -06:00
Keith Whitwell
da8312a1cf
draw: default edgeflag should be one
2008-04-24 21:14:23 +01:00
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