Commit Graph

14291 Commits

Author SHA1 Message Date
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