Ben Skeggs [Sat, 19 Jan 2008 23:38:35 +0000 (10:38 +1100)]
Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
Brian [Sat, 19 Jan 2008 19:04:06 +0000 (12:04 -0700)]
Cell: improve "finished copying batch buffer" signalling.
When the SPU is done copying a batch buffer to local store, use an mfc_put()
to write a "done" message back to the buffer status array in main memory.
We were previously using a mailbox message for synchronization.
Brian [Fri, 18 Jan 2008 19:47:20 +0000 (12:47 -0700)]
s/varible/variable/
Brian [Fri, 18 Jan 2008 19:45:55 +0000 (12:45 -0700)]
set param type to PROGRAM_CONSTANT when parsing immediates
Brian [Fri, 18 Jan 2008 19:45:27 +0000 (12:45 -0700)]
use PROGRAM_CONSTANT instead of PROGRAM_STATE_VAR when generating immediates/literals
Michel Dänzer [Fri, 18 Jan 2008 18:08:30 +0000 (19:08 +0100)]
Unify copy_rect helpers.
Some of the copies were buggy.
José Fonseca [Thu, 17 Jan 2008 08:20:46 +0000 (17:20 +0900)]
Revert "temporarily don't emit TGSI immediates, use the constant buffer"
This reverts commit
310e7ca44b33558a9aa22f43024d1bfb63642128.
José Fonseca [Thu, 17 Jan 2008 04:39:14 +0000 (13:39 +0900)]
Back-port miscellaneous fixes from internal branch (mostly portability fixes).
These are changes that are in our internal branch, but somehow were skipped
so far. It was done using visual comparison of the branches --
it is likely that changes are being carried on the wrong way
José Fonseca [Thu, 17 Jan 2008 04:37:17 +0000 (13:37 +0900)]
gallium: Pass PIPE_BUFFER_USAGE_PIXEL to buffer_data.
José Fonseca [Thu, 17 Jan 2008 02:00:51 +0000 (11:00 +0900)]
gallium: Handle TGSI_OPCODE_END on sse2.
Brian [Thu, 17 Jan 2008 00:21:05 +0000 (17:21 -0700)]
temporarily don't emit TGSI immediates, use the constant buffer
This allows a few more programs to run and not crash.
Need to get constant buffer uploads working...
José Fonseca [Tue, 18 Dec 2007 22:19:40 +0000 (22:19 +0000)]
gallium: Fix cut-n-paste error.
José Fonseca [Tue, 18 Dec 2007 22:01:35 +0000 (22:01 +0000)]
gallium: Alternative mm_bufmgr_create_from_buffer constructor for mm pool managers.
José Fonseca [Tue, 18 Dec 2007 18:59:49 +0000 (18:59 +0000)]
gallium: Detect if a null buffer is passed.
Keith Whitwell [Mon, 17 Dec 2007 12:03:51 +0000 (12:03 +0000)]
gallium: fix warning
Keith Whitwell [Mon, 17 Dec 2007 11:59:02 +0000 (11:59 +0000)]
gallium: fix warning
Keith Whitwell [Fri, 14 Dec 2007 15:51:07 +0000 (15:51 +0000)]
gallium: hardwire reset_temps functionality
Keith Whitwell [Fri, 14 Dec 2007 15:50:06 +0000 (15:50 +0000)]
gallium: whitespace changes
José Fonseca [Fri, 14 Dec 2007 16:37:10 +0000 (16:37 +0000)]
gallium: Ignore generated files.
Brian [Wed, 16 Jan 2008 23:43:50 +0000 (16:43 -0700)]
use NEGATE_X/Y/Z/W tokens
Brian [Wed, 16 Jan 2008 23:43:36 +0000 (16:43 -0700)]
clean-up swizzle fields in fog code, fix NegateBase
Brian [Wed, 16 Jan 2008 23:31:37 +0000 (16:31 -0700)]
Fix broken fog.
Note that fogcoord and front-facing attribs are in the same register, in the
X and Y channels, respectively.
Brian [Wed, 16 Jan 2008 23:29:36 +0000 (16:29 -0700)]
Fix incorrect [0,1] clamping in store_dest().
Brian [Wed, 16 Jan 2008 20:55:08 +0000 (13:55 -0700)]
tweaks to quad drawing, set UsesKill in bitmap shader
Brian [Wed, 16 Jan 2008 20:54:32 +0000 (13:54 -0700)]
copy UsesKill state in _mesa_combine_programs()
Brian [Wed, 16 Jan 2008 17:57:53 +0000 (10:57 -0700)]
vbuf updates/fixes (KeithW)
Plus, update i915 and Cell drivers for latest vbuf->draw() params.
Brian [Wed, 16 Jan 2008 17:57:10 +0000 (10:57 -0700)]
s/DBG/DRAW_DBG
Brian [Wed, 16 Jan 2008 17:56:38 +0000 (10:56 -0700)]
remove useless assertions
Brian [Wed, 16 Jan 2008 17:56:23 +0000 (10:56 -0700)]
init front/back color attrib indexes to 0, not -1
Brian [Wed, 16 Jan 2008 15:30:00 +0000 (08:30 -0700)]
Fix a two-sided lighting bug (fixes samples/wave.c)
Ben Skeggs [Wed, 16 Jan 2008 02:50:00 +0000 (13:50 +1100)]
nouveau: remove assertions from PIPE_ -> GL_
It seems we need to keep some sane defaults around for a bit, at least until
the pipe drivers learn to avoid translating things like alpha_src_factor when
blend_enable is false.
Ben Skeggs [Wed, 16 Jan 2008 02:41:50 +0000 (13:41 +1100)]
nv40: stronger type safety
Ben Skeggs [Wed, 16 Jan 2008 02:37:13 +0000 (13:37 +1100)]
nouveau: don't use GL headers at all
Ben Skeggs [Wed, 16 Jan 2008 02:18:46 +0000 (13:18 +1100)]
nouveau: gallium changes..
Ben Skeggs [Wed, 16 Jan 2008 02:14:19 +0000 (13:14 +1100)]
Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
Conflicts:
src/mesa/pipe/Makefile
Brian [Wed, 16 Jan 2008 01:32:51 +0000 (18:32 -0700)]
typedef uintptr_t for non-HAVE_POSIX_MEMALIGN build
Brian [Wed, 16 Jan 2008 01:27:14 +0000 (18:27 -0700)]
Don't include stdint.h or inttypes. Use the uint64 typedef instead of uint64_t.
Brian [Wed, 16 Jan 2008 01:26:21 +0000 (18:26 -0700)]
replace _mesa_printf() with fprintf()
Brian [Wed, 16 Jan 2008 01:22:35 +0000 (18:22 -0700)]
remove redundant llvm subdir
Brian [Wed, 16 Jan 2008 01:22:23 +0000 (18:22 -0700)]
include pipe/draw/draw_context.h
Brian [Tue, 15 Jan 2008 21:18:17 +0000 (14:18 -0700)]
Add surface status/clear_value fields, PIPE_SURFACE_STATUS_x tokens
Brian [Tue, 15 Jan 2008 02:18:35 +0000 (19:18 -0700)]
free stvp->draw_shader
Brian [Tue, 15 Jan 2008 02:12:46 +0000 (19:12 -0700)]
Fix problems with vertex shaders and the private draw module.
The CSO returned by pipe->create_vs_state() can't be passed to the
private draw module. That was causing glRasterPos to blow up.
Add a 'draw_shader' field to st_vertex_program for use with the private
draw module.
Change st_context->state.vs type from cso_vertex_shader to st_vertex_program.
Brian [Tue, 15 Jan 2008 02:04:45 +0000 (19:04 -0700)]
disable debug printf
Brian [Mon, 14 Jan 2008 23:39:26 +0000 (16:39 -0700)]
Cell: after sending a batch, wait for a DMA completion signal.
This fixes sporadic rendering glitches.
Using a mailbox msg for now, until spe_mfcio_tag_status_read() or similar
is found to work.
Brian [Mon, 14 Jan 2008 23:37:13 +0000 (16:37 -0700)]
clamp colors during float->int conversion
Brian [Mon, 14 Jan 2008 18:11:08 +0000 (11:11 -0700)]
Cell: update surface map code to match recent changes in pipe_surface struct
Michel Dänzer [Mon, 14 Jan 2008 15:17:01 +0000 (16:17 +0100)]
Remove pipe->get/put_tile_rgba.
pipe_get/put_tile_rgba() now use pipe->get/put_tile internally.
Also simplify the <format>_get/put_tile_rgba() helper functions and clean up
some inconsitencies in them.
Michel Dänzer [Thu, 10 Jan 2008 16:44:04 +0000 (17:44 +0100)]
Remove mapping fields from struct pipe_surface.
It's now the responsibility of surface users to keep track of their mappings.
Brian [Sat, 12 Jan 2008 23:58:50 +0000 (16:58 -0700)]
Cell: remove fb parameter to get/put_tile()
Brian [Sat, 12 Jan 2008 23:57:55 +0000 (16:57 -0700)]
Cell: disable cell_emit_state() for now
Brian [Sat, 12 Jan 2008 19:53:49 +0000 (12:53 -0700)]
Cell: collect vars in a spu_global struct
Brian [Sat, 12 Jan 2008 19:39:26 +0000 (12:39 -0700)]
Cell: first state object (depth/stencil/alpha) emitted to SPUs
Brian [Sat, 12 Jan 2008 18:41:23 +0000 (11:41 -0700)]
Cell: whitespace/cleanup
Brian [Sat, 12 Jan 2008 17:33:50 +0000 (10:33 -0700)]
Cell: prefix SPU files with spu_
Brian [Sat, 12 Jan 2008 17:33:24 +0000 (10:33 -0700)]
Cell: prefix SPU sources with spu_
Brian [Sat, 12 Jan 2008 17:06:27 +0000 (10:06 -0700)]
Cell: sketch out needed rasterizer state
Brian [Fri, 11 Jan 2008 23:32:20 +0000 (16:32 -0700)]
s/int/uint/ to silence warnings
Brian [Fri, 11 Jan 2008 23:31:58 +0000 (16:31 -0700)]
whitespace, comment changes
Brian [Fri, 11 Jan 2008 23:08:53 +0000 (16:08 -0700)]
Cell: basic batch buffer working
Brian [Fri, 11 Jan 2008 19:04:55 +0000 (12:04 -0700)]
Cell: initial work for a hw-like batch buffer system
Brian [Fri, 11 Jan 2008 18:35:03 +0000 (11:35 -0700)]
Cell: remove obsolete cell_prim_buffer struct and code
Brian [Fri, 11 Jan 2008 18:31:03 +0000 (11:31 -0700)]
Cell: debug code, comments
Brian [Fri, 11 Jan 2008 18:30:02 +0000 (11:30 -0700)]
vbuf_flush_vertices() instead of vbuf_flush_indices() in vbuf_end()
Brian [Fri, 11 Jan 2008 18:27:24 +0000 (11:27 -0700)]
Cell: reformattting
Brian [Fri, 11 Jan 2008 18:27:09 +0000 (11:27 -0700)]
s/int/uint/ to silence warning
Brian [Fri, 11 Jan 2008 17:10:45 +0000 (10:10 -0700)]
Fix malloc size buf, silence signed/unsigned comparision warning
Brian [Fri, 11 Jan 2008 15:14:42 +0000 (08:14 -0700)]
Cell: Remove the pre-vbuf rendering code
Brian [Fri, 11 Jan 2008 04:59:15 +0000 (21:59 -0700)]
Cell: wait_on_mask_all()
Brian [Fri, 11 Jan 2008 04:53:38 +0000 (21:53 -0700)]
Cell: remove unneeded #includes
Brian [Fri, 11 Jan 2008 04:50:55 +0000 (21:50 -0700)]
Cell: compute bounding box in cell_vbuf_draw()
Brian [Fri, 11 Jan 2008 04:50:31 +0000 (21:50 -0700)]
Cell: remove unused color field
Brian [Fri, 11 Jan 2008 04:37:55 +0000 (21:37 -0700)]
Cell: remove unused code
Brian [Fri, 11 Jan 2008 04:35:13 +0000 (21:35 -0700)]
Cell: make vertex_header and prim_header types private to tri.c
Brian [Fri, 11 Jan 2008 04:22:03 +0000 (21:22 -0700)]
Cell: avoid copying vertex data
Brian [Fri, 11 Jan 2008 00:30:51 +0000 (17:30 -0700)]
Cell: move tile-related code into new tile.[ch] files.
Brian [Fri, 11 Jan 2008 00:14:06 +0000 (17:14 -0700)]
Cell: use new ASSERT macro instead of standard assert
The later doesn't seem to work properly in SPU code.
Brian [Fri, 11 Jan 2008 00:03:21 +0000 (17:03 -0700)]
Cell: enable vbuf path by default
Brian [Fri, 11 Jan 2008 00:01:52 +0000 (17:01 -0700)]
Cell: checkpoint: draw_vbuf code in place and works, but not enabled by default yet.
Brian [Fri, 11 Jan 2008 00:01:11 +0000 (17:01 -0700)]
Additional parameters to vbuf_render->draw()
Pass complete information about vertex/index buffer location, size, etc.
Brian [Thu, 10 Jan 2008 22:14:58 +0000 (15:14 -0700)]
Cell: initial implementation of vbuf code.
The draw module's vbuf stage builds buffers of post-transformed vertices
and issues draw-elements calls to render them. We'll pass the vertex and
index buffers to the SPUs...
Brian [Thu, 10 Jan 2008 22:13:14 +0000 (15:13 -0700)]
Cell: call draw_compute_vertex_size()
Brian [Thu, 10 Jan 2008 16:22:22 +0000 (09:22 -0700)]
Cell: s/free/align_free/
Brian [Thu, 10 Jan 2008 16:13:10 +0000 (09:13 -0700)]
Cell: clean-up cell_spu_exit() code
Brian [Thu, 10 Jan 2008 15:32:27 +0000 (08:32 -0700)]
bump CELL_MAX_VERTS to 240
Brian [Thu, 10 Jan 2008 17:38:28 +0000 (10:38 -0700)]
comment about vertex data in emit_vertex()
Brian [Thu, 10 Jan 2008 17:22:01 +0000 (10:22 -0700)]
clean-up comments, code
Michel Dänzer [Thu, 10 Jan 2008 09:03:47 +0000 (10:03 +0100)]
softpipe: Simplify texture memory layout.
Michel Dänzer [Thu, 10 Jan 2008 09:03:17 +0000 (10:03 +0100)]
Add glapi/ path for inclusion of glapioffsets.h.
Not sure why this is only needed now...
Brian [Thu, 10 Jan 2008 00:49:43 +0000 (17:49 -0700)]
Cell: initial implementation of tile status optimizations
Tiles are marked as CLEAR, DEFINED or DIRTY to avoid making unnecessary
get_tile() and put_tile() calls.
Brian [Wed, 9 Jan 2008 23:12:25 +0000 (16:12 -0700)]
Cell: start using DMA tags in a more sensible way, move waits() later when possible.
Brian [Wed, 9 Jan 2008 21:44:19 +0000 (14:44 -0700)]
move cliprect bounds, do trivial rejection triangle clipping
Brian [Wed, 9 Jan 2008 21:14:24 +0000 (14:14 -0700)]
Cell: remove some debug printfs, predicate others with Debug boolean
Brian [Wed, 9 Jan 2008 21:10:59 +0000 (14:10 -0700)]
Cell: implemement basic Z testing
Also, improve some surface clearing code
Jerome Glisse [Thu, 10 Jan 2008 00:11:53 +0000 (01:11 +0100)]
softpipe: map only once in softpipe_map_surfaces
softpipe_map_surfaces get call several time but softpipe_unmap_surfaces
get call only once. So to make sure stuff are properly unmap when
softpipe_unmap_surfaces get call we map surfaces only one time in
softpipe_map_surfaces.
Ben Skeggs [Mon, 7 Jan 2008 15:28:43 +0000 (02:28 +1100)]
nouveau: object header update
Ben Skeggs [Sun, 6 Jan 2008 17:36:22 +0000 (04:36 +1100)]
nv40: use a more "normal" 2x8bit format, the other is likely a HILO format.
Ben Skeggs [Sun, 6 Jan 2008 14:02:30 +0000 (01:02 +1100)]
nouveau: share pushbuf interface code between pipe drivers
Ben Skeggs [Sun, 6 Jan 2008 11:14:22 +0000 (22:14 +1100)]
nv40: do nothing for set_clip_state()
There's no way possible for us to support clip planes with the current
interfaces anyway.
Ben Skeggs [Sun, 6 Jan 2008 10:52:24 +0000 (21:52 +1100)]
nv40: bind textures based on fragprog usage.