Patrice Mandin [Sun, 30 Mar 2008 19:52:36 +0000 (21:52 +0200)]
nv30: use FREE macro
Ben Skeggs [Sun, 30 Mar 2008 19:13:06 +0000 (05:13 +1000)]
nv40: mark fp dirty even when only consts updated
Fixes arbfplight "sticking".
Ben Skeggs [Sun, 30 Mar 2008 10:32:22 +0000 (20:32 +1000)]
nouveau: adapt to recent gallium changes
Ben Skeggs [Sun, 30 Mar 2008 09:58:03 +0000 (19:58 +1000)]
Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
Ben Skeggs [Sun, 30 Mar 2008 09:08:59 +0000 (19:08 +1000)]
nv40: vp 1/0/- swz
Ben Skeggs [Sun, 30 Mar 2008 09:00:07 +0000 (19:00 +1000)]
nv40: vp const/immd fix
Brian Paul [Sat, 29 Mar 2008 13:41:03 +0000 (14:41 +0100)]
gallium: Set vertex state/buffers en-mass.
José Fonseca [Tue, 25 Mar 2008 17:30:34 +0000 (17:30 +0000)]
gallium: Fix some MSVC warnings.
Brian [Sat, 29 Mar 2008 00:41:10 +0000 (18:41 -0600)]
gallium: begin some bounding box code for bitmap cache
Brian [Sat, 29 Mar 2008 00:18:55 +0000 (18:18 -0600)]
gallium: added an (int) cast in setup_bitmap_vertex_data() to fix a signed/unsigned arithmetic problem
Negative values became very large uints.
Brian [Fri, 28 Mar 2008 21:22:34 +0000 (15:22 -0600)]
gallium: Fix computation of Z values when not using early Z.
This fixes the missing bitmaps in the engine and fogcoord demos.
Brian [Fri, 28 Mar 2008 21:17:50 +0000 (15:17 -0600)]
gallium: don't call st_flush_bitmap_cache() if the only change is _NEW_PACKUNPACK state
Brian [Fri, 28 Mar 2008 20:56:05 +0000 (14:56 -0600)]
gallium: disable a debug hack
Brian [Fri, 28 Mar 2008 20:53:47 +0000 (14:53 -0600)]
gallium: implement a glBitmap cache
The bitmap cache attempts to accumulate a series of glBitmap calls in a
buffer to effectively render a whole bunch of bitmaps at once.
The cache can be disabled, if needed, by setting UseBitmapCache=GL_FALSE.
Brian Paul [Fri, 28 Mar 2008 19:10:16 +0000 (13:10 -0600)]
mesa: fix texture/renderbuffer mix-up in test_attachment_completeness()
Brian Paul [Fri, 28 Mar 2008 19:09:19 +0000 (13:09 -0600)]
gallium: re-work texture format selection code
Use same code for choosing texture format and renderbuffer format.
Roland Scheidegger [Fri, 28 Mar 2008 14:43:00 +0000 (15:43 +0100)]
gallium: remove redundant compare bit in sampler state
Michal Krol [Fri, 28 Mar 2008 11:31:35 +0000 (12:31 +0100)]
gallium: Bump PIPE_MAX_SAMPLERS to 16.
We need it to fulfil D3D minimum requirements.
Brian [Fri, 28 Mar 2008 03:11:45 +0000 (21:11 -0600)]
If visual is 32bpp, set visual->alphaBits = 8.
This works since we always use XImages for color buffers. It wouldn't always
work for Windows/Pixmaps.
Brian [Thu, 27 Mar 2008 23:41:55 +0000 (17:41 -0600)]
gallium: replace PIPE_ATTRIB_MAX with PIPE_MAX_ATTRIBS
The later follows the naming scheme of other limits.
Keep the old definition until all possible usage is updated.
Brian Paul [Thu, 27 Mar 2008 23:18:25 +0000 (17:18 -0600)]
gallium: updated/improved comments, minor re-formatting
Brian [Thu, 27 Mar 2008 22:19:46 +0000 (16:19 -0600)]
consolidate some parsing functions that were pretty much identical for vertex/fragment programs
cherry-picked from master
Brian [Thu, 27 Mar 2008 22:05:40 +0000 (16:05 -0600)]
mesa: misc sync-up with master
Brian [Thu, 27 Mar 2008 22:04:20 +0000 (16:04 -0600)]
raise GL_INVALID_OPERATION if glProgramString compilation fails
cherry-picked from master
Brian [Thu, 27 Mar 2008 21:54:44 +0000 (15:54 -0600)]
Fix the compile of disabled DEBUG_PARSING code.
cherry-picked from master
Brian [Thu, 27 Mar 2008 21:52:00 +0000 (15:52 -0600)]
make sure state token values are fully initialized
cherry-picked from master
Brian [Thu, 27 Mar 2008 21:51:07 +0000 (15:51 -0600)]
added program_error2() function for better error reporting
cherry-picked from master
Brian [Thu, 27 Mar 2008 21:48:54 +0000 (15:48 -0600)]
Fix state.texgen parsing error (bug 12313).
Replace *(*inst++) with *(*inst)++ in a few places.
Cherry-picked from master.
Brian [Thu, 27 Mar 2008 21:42:52 +0000 (15:42 -0600)]
gallium: Update calls to the simple shader functions
Brian [Thu, 27 Mar 2008 21:42:09 +0000 (15:42 -0600)]
gallium: return pipe_shader_state from the simple shader functions
Allows us to fix a mem leak (tokens array).
Brian [Thu, 27 Mar 2008 21:41:52 +0000 (15:41 -0600)]
gallium: fix Element() macro redefinition warning
Brian [Thu, 27 Mar 2008 21:35:25 +0000 (15:35 -0600)]
gallium: fix incorrect types for shaders
Brian [Thu, 27 Mar 2008 21:33:47 +0000 (15:33 -0600)]
gallium: remove temporary static var
Brian [Thu, 27 Mar 2008 21:27:31 +0000 (15:27 -0600)]
gallium: silence unused var warning
Brian [Thu, 27 Mar 2008 21:27:14 +0000 (15:27 -0600)]
cell: include cell_state_per_fragment.h to silence warning
Brian [Thu, 27 Mar 2008 21:26:54 +0000 (15:26 -0600)]
cell: added (uint64_t) cast to silence warning
Brian [Thu, 27 Mar 2008 21:26:22 +0000 (15:26 -0600)]
cell: fix unclosed comment
Ian Romanick [Wed, 26 Mar 2008 17:52:08 +0000 (10:52 -0700)]
xlib: Fix build error from recent fence changes
Ian Romanick [Wed, 26 Mar 2008 17:45:32 +0000 (10:45 -0700)]
cell: Implement code-gen for logic op
This also implements code-gen for the float-to-packed color
conversion. It's currently hardcoded for A8R8G8B8, but that can
easily be fixed as soon as other color depths are supported by the
Cell driver.
Brian Paul [Wed, 26 Mar 2008 15:02:54 +0000 (09:02 -0600)]
gallium: need to call st_validate_state() in Bitmap()
Brian Paul [Wed, 26 Mar 2008 14:21:17 +0000 (08:21 -0600)]
gallium: as for aapoints, make the extra texcoord per-shader state
Michel Dänzer [Wed, 26 Mar 2008 09:36:40 +0000 (09:36 +0000)]
gallium: Change pipe->flush() interface to optionally return a fence.
The cell driver still uses an internal CELL_FLUSH_WAIT flag, in the long run
proper fencing should be implemented for it.
Brian [Wed, 26 Mar 2008 01:19:14 +0000 (19:19 -0600)]
gallium: the generic attrib we use for computing coverage is per-shader
Fixes a very tricky conformance failure.
Brian [Wed, 26 Mar 2008 01:18:56 +0000 (19:18 -0600)]
gallium: added fragment emit/write debug counters
Ian Romanick [Wed, 26 Mar 2008 01:15:34 +0000 (18:15 -0700)]
cell: Enable MIT-SHM on Cell.
Ian Romanick [Wed, 26 Mar 2008 01:07:56 +0000 (18:07 -0700)]
xlib: Add support for MIT-SHM in xlib winsys driver
Gives about a 3% performance increase in gears on x86-64 (non-tiled)
and about 10% performance increase in gears on Cell (tiled). I
actually expected more of a boost. :(
Ian Romanick [Mon, 24 Mar 2008 19:15:59 +0000 (12:15 -0700)]
cell: Float convert-to and convert-from instructions use different shift bias
Michal Krol [Tue, 25 Mar 2008 22:49:11 +0000 (23:49 +0100)]
draw: Take flatshade_first rasterizer bit into account.
Michal Krol [Tue, 25 Mar 2008 22:48:30 +0000 (23:48 +0100)]
gallium: Introduce flatshade_first field to rasterizer_state.
This bit tells us which vertex of the primitive is used to
propagate color for the remaining vertices if flatshade mode.
Brian Paul [Tue, 25 Mar 2008 20:12:55 +0000 (14:12 -0600)]
gallium: disable the selection/feedback draw module's options for wide lines, points, etc.
Disable paths that would convert points/lines to tris as that upsets selection,
feedback, rastpos.
Brian Paul [Tue, 25 Mar 2008 18:27:48 +0000 (12:27 -0600)]
gallium: added some debug code (disable)
Brian Paul [Tue, 25 Mar 2008 18:27:32 +0000 (12:27 -0600)]
mesa: fix some issues in _mesa_combine_programs()
Use a temporay register to connect outputs of first program to inputs of
second program.
Also, fix bug in replace_registers(): didn't search/replace DstReg.
Keith Whitwell [Tue, 25 Mar 2008 18:15:58 +0000 (18:15 +0000)]
draw: vertex fetch can be validated too early leading to an assertion... disable
Keith Whitwell [Tue, 25 Mar 2008 18:09:25 +0000 (18:09 +0000)]
draw: don't use fetch_and_store for bypass_vs mode, it's not quite right
Brian Paul [Tue, 25 Mar 2008 17:32:31 +0000 (11:32 -0600)]
mesa: append fog instructions after parsing if a fog option is set
Drivers don't have to worry about it then.
Brian Paul [Tue, 25 Mar 2008 17:22:57 +0000 (11:22 -0600)]
mesa: when negating scalar src args, use NEGATE_XYZW, not NEGATE_X
This makes things easier on the back-end when generating GPU code.
José Fonseca [Tue, 25 Mar 2008 17:47:39 +0000 (17:47 +0000)]
Fix typo
Keith Whitwell [Tue, 25 Mar 2008 15:17:53 +0000 (15:17 +0000)]
draw: take primitive into account when deciding if the pipeline is active
José Fonseca [Tue, 25 Mar 2008 11:37:54 +0000 (11:37 +0000)]
gallium: Use debug_get_option for GETENV
José Fonseca [Tue, 25 Mar 2008 11:37:24 +0000 (11:37 +0000)]
gallium: Fix default option on Windows.
Brian Paul [Tue, 25 Mar 2008 01:59:59 +0000 (19:59 -0600)]
gallium: don't enable stencil test if no stencil buffer.
Also, if not doing two-sided stencil, set back-face state = front-face state.
Ben Skeggs [Tue, 25 Mar 2008 01:57:36 +0000 (12:57 +1100)]
nv40: respect do_flip in surface_copy()
Brian [Tue, 25 Mar 2008 01:36:44 +0000 (19:36 -0600)]
gallium: be smarter about picking the sampler unit for pstipple, aaalines
Also, if the app really uses all available sampler/texture units, don't just
die. Just use the last sampler for the pstipple or aaline texture.
Ben Skeggs [Tue, 25 Mar 2008 01:14:49 +0000 (12:14 +1100)]
Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
Ben Skeggs [Tue, 25 Mar 2008 01:12:26 +0000 (12:12 +1100)]
nouveau: refcount buffers on validate list.
Brian [Tue, 25 Mar 2008 00:49:56 +0000 (18:49 -0600)]
gallium: fix a few bugs, warnings in the p_debug code
added missing _ to a _debug_printf() call.
Brian [Tue, 25 Mar 2008 00:32:48 +0000 (18:32 -0600)]
gallium: move sampler_unit field to pstip_fragment_shader since it's per-shader
Also, fix another texture refcounting bug.
Brian [Tue, 25 Mar 2008 00:31:01 +0000 (18:31 -0600)]
gallium: save/restore samplers in draw_textured_quad()
Brian Paul [Mon, 24 Mar 2008 23:20:52 +0000 (17:20 -0600)]
mesa: call glutDestroyWindow (help find mem leaks)
Brian Paul [Mon, 24 Mar 2008 23:20:22 +0000 (17:20 -0600)]
gallium: fix a few texture border/mipmap glitches found w/ conform
Brian Paul [Mon, 24 Mar 2008 18:59:54 +0000 (12:59 -0600)]
gallium: check SamplersUsed to determine if texture needed, as in st_atom_sampler.c
Otherwise, we were sometimes setting texture state but not the corresponding
sampler state.
Brian [Mon, 24 Mar 2008 22:31:15 +0000 (16:31 -0600)]
gallium: make a copy of the vertex shader's token array.
This solves problems when the state tracker frees the token array when the
draw module still needs it.
Brian [Mon, 24 Mar 2008 22:26:45 +0000 (16:26 -0600)]
gallium: use pipe_texture_reference() in a few places (fixes refcounting bugs)
Brian [Mon, 24 Mar 2008 22:24:32 +0000 (16:24 -0600)]
gallium: added tgsi_num_tokens() function to return number of tokens in token array.
Maybe move to a different file someday.
José Fonseca [Mon, 24 Mar 2008 22:30:33 +0000 (22:30 +0000)]
gallium: Simple cross platform get-opt system.
Uses getenv on Linux, and a memory mapped text file on Windows.
It supports boolean options, flags, and plain strings.
José Fonseca [Mon, 24 Mar 2008 20:18:59 +0000 (20:18 +0000)]
gallium: cleanup p_debug
Now debug_printf is disabled on release builds. Use debug_error or
_debug_printf to output messages on release versions.
Brian [Mon, 24 Mar 2008 18:51:50 +0000 (12:51 -0600)]
gallium: move filter assignment out of loop
Brian [Mon, 24 Mar 2008 18:50:28 +0000 (12:50 -0600)]
gallium: fix REALLOC() to copy smaller of old/new sizes
José Fonseca [Mon, 24 Mar 2008 18:25:31 +0000 (18:25 +0000)]
gallium: Protect operator precedence in macro.
Brian Paul [Mon, 24 Mar 2008 17:55:29 +0000 (11:55 -0600)]
gallium: free bitmap fragment shaders, misc clean-up
Brian Paul [Mon, 24 Mar 2008 17:46:41 +0000 (11:46 -0600)]
gallium: add missing cso_save_samplers() call
Michal Krol [Mon, 24 Mar 2008 15:50:39 +0000 (16:50 +0100)]
gallium: Remove util_gen_mipmap_filter().
Brian [Mon, 24 Mar 2008 14:53:16 +0000 (08:53 -0600)]
gallium: pass the filter mode to util_gen_mipmap().
Remove util_gen_mipmap_filter() when no longer used.
Michal Krol [Mon, 24 Mar 2008 14:09:34 +0000 (08:09 -0600)]
gallium: tweak coords in u_gen_mipmap code
Keith Whitwell [Mon, 24 Mar 2008 10:53:26 +0000 (10:53 +0000)]
draw: pre-declare referenced structs
Keith Whitwell [Mon, 24 Mar 2008 10:52:20 +0000 (10:52 +0000)]
Revert "draw: Fix #include order to fix Linux build."
This reverts commit
a6d17bf671d6bfbb187a62ba14b9ad08fb5dafe1.
Michel Dänzer [Mon, 24 Mar 2008 09:56:12 +0000 (09:56 +0000)]
draw: Fix #include order to fix Linux build.
Ben Skeggs [Mon, 24 Mar 2008 02:45:38 +0000 (13:45 +1100)]
nv40: maintain pipe_surface status field
Ben Skeggs [Mon, 24 Mar 2008 02:41:40 +0000 (13:41 +1100)]
nv40: respect rasterizer cso bypass_clipping flag
Ben Skeggs [Mon, 24 Mar 2008 02:01:35 +0000 (13:01 +1100)]
nouveau: fix infinite wait on space for userbuf.
A recent commit removed a bug which essentially caused a sync after each
use of a user buffer. In fixing it, the scratch area can now become
fragmented under some circumstances leading to nouveau_bo_tmp() waiting
forever for a large enough block of free space.
This fixes ppracer, gl-117 and probably a heap of other apps.
Keith Whitwell [Sun, 23 Mar 2008 21:55:19 +0000 (21:55 +0000)]
draw: check need_pipeline() in passthrough
Keith Whitwell [Sun, 23 Mar 2008 21:54:44 +0000 (21:54 +0000)]
draw: tweak the definition of draw_need_pipeline, fix minor bug
Keith Whitwell [Sun, 23 Mar 2008 21:31:23 +0000 (21:31 +0000)]
draw: fix crlf
Keith Whitwell [Sun, 23 Mar 2008 21:31:14 +0000 (21:31 +0000)]
draw: rename emit functions to match pipe_format names
Keith Whitwell [Sun, 23 Mar 2008 20:36:00 +0000 (20:36 +0000)]
draw: restructure fetch/emit as a pair of function calls
Michal Krol [Sun, 23 Mar 2008 19:39:35 +0000 (20:39 +0100)]
gallium: Add util_gen_mipmap_filter().
We need a way to specify the type of minification filter
used to downsample mipmap levels.
The old util_gen_mipmap() retains its behaviour and uses
LINEAR filter.
José Fonseca [Sun, 23 Mar 2008 19:38:11 +0000 (19:38 +0000)]
gallium: Fix memory leak.
pipe cso's were being destroyed, but the hash elements themselves not.
proper fix is IMHO add a destructor callback to cso_hash.
José Fonseca [Sun, 23 Mar 2008 18:57:35 +0000 (18:57 +0000)]
gallium: Remove the debug_mask_* stuff.
Overcomplex and not much different from using a global variable...
José Fonseca [Sun, 23 Mar 2008 18:52:37 +0000 (18:52 +0000)]
gallium: Fix typo.
José Fonseca [Sun, 23 Mar 2008 18:38:10 +0000 (18:38 +0000)]
gallium: Memory debugging utilities.
There are no known tools for windows kernel memory debugging, so this is a
simple set of malloc etc wrappers.
Enabled by default on win32 debug builds