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.
Ben Skeggs [Wed, 2 Jan 2008 12:44:24 +0000 (23:44 +1100)]
nv40: some cleanups
Ben Skeggs [Wed, 2 Jan 2008 12:02:35 +0000 (23:02 +1100)]
Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
Brian [Tue, 1 Jan 2008 22:21:14 +0000 (15:21 -0700)]
Plug in more infrastructure for actual rendering.
Track vertex/fragment shader state.
Plug in pipe->draw_arrays(), pipe->draw_elements().
Plug render stage (a stub) into end of 'draw' pipeline.
Specify a hard-coded vertex format for now.
Brian [Tue, 1 Jan 2008 21:01:14 +0000 (14:01 -0700)]
hack/fix pack_color() for correct ps3 format
Brian [Tue, 1 Jan 2008 22:17:30 +0000 (15:17 -0700)]
Clean-up, re-org some vertex/fragment shader state code.
Brian [Tue, 1 Jan 2008 22:09:16 +0000 (15:09 -0700)]
move SP_NEW_ #defines into sp_state.h
Brian [Fri, 28 Dec 2007 21:52:12 +0000 (14:52 -0700)]
fix vbo display list memleak upon context destruction
Brian [Fri, 28 Dec 2007 21:25:09 +0000 (14:25 -0700)]
unref buffer after drawing, fixes rastpos mem leak
Brian [Fri, 28 Dec 2007 21:18:18 +0000 (14:18 -0700)]
fix single-sided stencil test bug
Brian [Fri, 28 Dec 2007 02:18:12 +0000 (19:18 -0700)]
fix leak, fix refcount error
Brian [Fri, 28 Dec 2007 02:17:41 +0000 (19:17 -0700)]
fix a mem leak, document another existing leak
Brian [Wed, 26 Dec 2007 14:16:41 +0000 (07:16 -0700)]
unref const buffers during context destroy
Brian [Wed, 26 Dec 2007 14:16:12 +0000 (07:16 -0700)]
unref const buffers during context destroy
Brian [Wed, 26 Dec 2007 13:57:24 +0000 (06:57 -0700)]
free program caches
Brian [Wed, 26 Dec 2007 13:56:58 +0000 (06:56 -0700)]
fix mem leaks
Brian [Wed, 26 Dec 2007 13:56:42 +0000 (06:56 -0700)]
fix mem leak (free key)
Brian [Tue, 25 Dec 2007 00:40:02 +0000 (17:40 -0700)]
free surface caches in softpipe_destroy()
Brian [Tue, 25 Dec 2007 00:39:21 +0000 (17:39 -0700)]
fix a memleak
Brian [Tue, 25 Dec 2007 00:39:01 +0000 (17:39 -0700)]
free tgsi machine state
Brian [Tue, 25 Dec 2007 00:38:35 +0000 (17:38 -0700)]
free tgsi machine state
Brian [Tue, 25 Dec 2007 00:37:59 +0000 (17:37 -0700)]
added tgsi_exec_machine_free_data()
Brian [Tue, 25 Dec 2007 00:37:30 +0000 (17:37 -0700)]
free Default1D/2DArray objects
Ben Skeggs [Sun, 30 Dec 2007 04:24:16 +0000 (15:24 +1100)]
nv40: s/READ/WRITE/
Ben Skeggs [Sat, 29 Dec 2007 14:17:47 +0000 (01:17 +1100)]
nouveau: header update
Ben Skeggs [Sat, 29 Dec 2007 14:03:24 +0000 (01:03 +1100)]
nv40: untested fragprog mods for big-endian chips
Ben Skeggs [Sat, 29 Dec 2007 13:37:58 +0000 (00:37 +1100)]
nouveau: typo fix
Ben Skeggs [Wed, 26 Dec 2007 22:01:08 +0000 (09:01 +1100)]
nouveau: remove legacy stuff
Ben Skeggs [Wed, 26 Dec 2007 19:21:13 +0000 (06:21 +1100)]
nouveau: track last validated offsets, so we know when relocs can be avoided.
Ben Skeggs [Wed, 26 Dec 2007 19:10:49 +0000 (06:10 +1100)]
nouveau: allow unfenced read of buffers in a few situations
Ben Skeggs [Wed, 26 Dec 2007 19:02:01 +0000 (06:02 +1100)]
nouveau: remove fence_del(), _ref() can be used for the same purpose.
Ben Skeggs [Tue, 25 Dec 2007 13:56:00 +0000 (00:56 +1100)]
nouveau: header update
Ben Skeggs [Tue, 25 Dec 2007 13:37:21 +0000 (00:37 +1100)]
nv40: use index buffers rather than inline indices.
We probably want to use inline indices in some situations still, but this
commit's primary purpose is to workaround some mis-rendering caused by a
more complicated problem that'll get fixed eventually.
Zack Rusin [Mon, 24 Dec 2007 12:57:34 +0000 (07:57 -0500)]
i965: a little better way of handling immediates
Ben Skeggs [Mon, 24 Dec 2007 08:21:17 +0000 (19:21 +1100)]
nouveau: pushbuf code, now with 50% less suck!
Far more efficient, if not a bit more complicated. Hopefully not too
buggy still.
This commit will potentially expose some unrelated bugs, fixes for them
will follow "real soon now".
Ben Skeggs [Mon, 24 Dec 2007 07:53:41 +0000 (18:53 +1100)]
nv40: ensure all required buffers are accounted for during state validation
Ben Skeggs [Sun, 23 Dec 2007 06:00:08 +0000 (17:00 +1100)]
nouveau: speed up user buffers.
Try and fit user buffers into a small GART scratch area at validate time,
instead of going to a lot of effort to fit these (mostly) use-once-and-discard
objects into VRAM.
Ben Skeggs [Sun, 23 Dec 2007 05:19:25 +0000 (16:19 +1100)]
nv40: seems we have stencil faces around the wrong way.
Ben Skeggs [Sun, 23 Dec 2007 05:18:00 +0000 (16:18 +1100)]
nouveau: don't wait when deleting fences unless needed
Ben Skeggs [Sun, 23 Dec 2007 05:06:24 +0000 (16:06 +1100)]
nouveau: some cleanups
Ben Skeggs [Sun, 23 Dec 2007 05:05:02 +0000 (16:05 +1100)]
nouveau: match gallium changes
Ben Skeggs [Sun, 23 Dec 2007 05:01:59 +0000 (16:01 +1100)]
Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
Zack Rusin [Thu, 20 Dec 2007 17:54:23 +0000 (12:54 -0500)]
i965: very crude and hacky way of handling immediates
Keith Whitwell [Thu, 20 Dec 2007 13:47:46 +0000 (13:47 +0000)]
gallium: make state tracker explictly ask for rendercache flushes
Keith Whitwell [Thu, 20 Dec 2007 13:47:11 +0000 (13:47 +0000)]
965: respect pipe flush flags
Now we emit way too many flushes instead of none at all.
Keith Whitwell [Thu, 20 Dec 2007 13:19:56 +0000 (13:19 +0000)]
gallium: translate ARB fp/vp immediates consistently to tgsi immediates
Zack Rusin [Thu, 20 Dec 2007 12:05:52 +0000 (07:05 -0500)]
965: fix the constant buffers
Brian [Wed, 19 Dec 2007 21:06:22 +0000 (14:06 -0700)]
Add some prototype code for converting RET to END for main(). Disabled for now.
Brian [Wed, 19 Dec 2007 20:53:28 +0000 (13:53 -0700)]
temporarily defeat an assertion
Brian [Wed, 19 Dec 2007 20:45:00 +0000 (13:45 -0700)]
Fix problem with initial viewport/scissor size.
If an app never called glViewport, the viewport size was always 0 by 0 pixels.
Now pass initial size to st_create_framebuffer() and initialize the viewport
and scissor bounds in st_make_current().
This could also be fixed by ensuring the gl_framebuffers passed to
_mesa_make_current() were initialized to the right size. But that involves
allocating the renderbuffers/pipe_surfaces earlier and that runs into some
other issues ATM.
Also remove obsolete createRenderbuffers param to st_create_framebuffer().
Brian [Wed, 19 Dec 2007 18:50:50 +0000 (11:50 -0700)]
convert Mesa OPCODE_END to TGSI_OPCODE_END, not TGSI_OPCOD_RET
Brian [Wed, 19 Dec 2007 15:51:17 +0000 (08:51 -0700)]
remove obsolete TXP, add some sanity checks
Brian [Wed, 19 Dec 2007 15:50:52 +0000 (08:50 -0700)]
special-case PSIZE too
Brian [Wed, 19 Dec 2007 15:50:35 +0000 (08:50 -0700)]
move st_make_current() before buffer size check so renderbuffer alloc storage works
Brian [Wed, 19 Dec 2007 15:49:59 +0000 (08:49 -0700)]
new assertions
Keith Whitwell [Wed, 19 Dec 2007 19:05:19 +0000 (19:05 +0000)]
965: dump curbe contents to stderr
Keith Whitwell [Wed, 19 Dec 2007 19:04:35 +0000 (19:04 +0000)]
965: handle BRW_CONSTANT_BUFFER data type
Zack Rusin [Wed, 19 Dec 2007 18:22:27 +0000 (13:22 -0500)]
consts
Keith Whitwell [Wed, 19 Dec 2007 15:48:53 +0000 (15:48 +0000)]
965: count grf allocation correctly for wm prog, first aub triangle
Keith Whitwell [Wed, 19 Dec 2007 15:16:25 +0000 (15:16 +0000)]
965: hardwire correct behaviour for vp-tri setup (for now...)
Keith Whitwell [Wed, 19 Dec 2007 15:13:20 +0000 (15:13 +0000)]
vp-tri: match vertex/color data of other tests
Keith Whitwell [Wed, 19 Dec 2007 14:20:23 +0000 (14:20 +0000)]
965: align buffer allocations to 4k
Keith Whitwell [Wed, 19 Dec 2007 13:13:42 +0000 (13:13 +0000)]
use a depth buffer temporarily
Keith Whitwell [Wed, 19 Dec 2007 13:12:34 +0000 (13:12 +0000)]
965: make sure stipple state gets uploaded
Keith Whitwell [Wed, 19 Dec 2007 13:11:56 +0000 (13:11 +0000)]
965: allocate buffer space to hold batch commands
Zack Rusin [Wed, 19 Dec 2007 12:49:42 +0000 (07:49 -0500)]
actually set the max_index. useful in the driver
Keith Whitwell [Wed, 19 Dec 2007 12:23:27 +0000 (12:23 +0000)]
965: fill unused surface pointers with zero
Zack Rusin [Wed, 19 Dec 2007 12:08:13 +0000 (07:08 -0500)]
i965: emit fb write on RET for now (until we get END back)
Keith Whitwell [Wed, 19 Dec 2007 11:49:56 +0000 (11:49 +0000)]
965: pitch is in bytes not pixels
Keith Whitwell [Wed, 19 Dec 2007 11:36:03 +0000 (11:36 +0000)]
965: fix off-by-one in scissor rect
Keith Whitwell [Wed, 19 Dec 2007 11:35:21 +0000 (11:35 +0000)]
965: fix off-by-one in surface dimensions
Keith Whitwell [Wed, 19 Dec 2007 11:32:56 +0000 (11:32 +0000)]
965: respect surface width when dumping bitmap
Zack Rusin [Wed, 19 Dec 2007 11:00:30 +0000 (06:00 -0500)]
i965: actually detect whether a sampler is enabled/disabled
Keith Whitwell [Wed, 19 Dec 2007 11:10:30 +0000 (11:10 +0000)]
965: disable clipping more, and restore drawing rect packet
Keith Whitwell [Wed, 19 Dec 2007 11:10:06 +0000 (11:10 +0000)]
965: disable clipping for now
Keith Whitwell [Wed, 19 Dec 2007 10:55:49 +0000 (10:55 +0000)]
965: fix vertex pointsize state, match default cull mode
Keith Whitwell [Wed, 19 Dec 2007 10:49:16 +0000 (10:49 +0000)]
965: fix colormask state
Keith Whitwell [Wed, 19 Dec 2007 10:20:14 +0000 (10:20 +0000)]
965: populate fp_input_count in setup key
Zack Rusin [Wed, 19 Dec 2007 10:28:28 +0000 (05:28 -0500)]
i965: stuff the outputs into mrf registers when possible
Zack Rusin [Wed, 19 Dec 2007 09:58:29 +0000 (04:58 -0500)]
i965: be smarter about register allocation
Ben Skeggs [Wed, 19 Dec 2007 08:40:38 +0000 (19:40 +1100)]
nouveau: nuke subchan auto-assign.
It's annoying for several reasons, especially in its current form. May
possibly be reincarnated later (DDX depends on it these days), but in
not quite the same way.
Ben Skeggs [Wed, 19 Dec 2007 02:28:22 +0000 (13:28 +1100)]
nouveau: remove sync hack, gallium got sort-of fixed.
Ben Skeggs [Wed, 19 Dec 2007 02:21:41 +0000 (13:21 +1100)]
Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
Brian [Tue, 18 Dec 2007 23:01:25 +0000 (16:01 -0700)]
turn off TGSI_DEBUG
Brian [Tue, 18 Dec 2007 23:00:58 +0000 (16:00 -0700)]
fix bug on GL_VERTEX_PROGRAM_TWO_SIDE path
Brian [Tue, 18 Dec 2007 23:00:31 +0000 (16:00 -0700)]
setup the frontface register (fog.y, ATM)
Brian [Tue, 18 Dec 2007 22:59:54 +0000 (15:59 -0700)]
fix some semantic info mix-ups in calculate_vertex_layout()
Keith Whitwell [Tue, 18 Dec 2007 17:25:33 +0000 (17:25 +0000)]
gallium: rationalize vertex_element state packet
Remove dst_offset (not used)
Add nr_components, which could be calculated from format, but would be
too much effort.
Update i965 driver to cope.
Keith Whitwell [Tue, 18 Dec 2007 16:57:17 +0000 (16:57 +0000)]
gallium: give userbuffers some storage in the aub buffer pool
Keith Whitwell [Tue, 18 Dec 2007 16:56:22 +0000 (16:56 +0000)]
vbo: unmap and remap immediate vbo before/after each draw.
Also use BufferData(NULL) to get fresh storage and avoid synchronous
operation where we would have to flush and wait for the fence after each
draw because of the map.
This will chew through a whole load of buffer space on small draws, so
it isn't a proper solution. Need to support a no-fence or append mapping
mode to do this right, or use user buffers.
Zack Rusin [Tue, 18 Dec 2007 14:59:54 +0000 (09:59 -0500)]
i965: don't treat swz differently and upload vertex buffers
Brian [Tue, 18 Dec 2007 03:41:20 +0000 (20:41 -0700)]
obsolete
Ben Skeggs [Tue, 18 Dec 2007 00:27:44 +0000 (11:27 +1100)]
nouveau: match latest gallium changes
Ben Skeggs [Tue, 18 Dec 2007 00:02:46 +0000 (11:02 +1100)]
Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
Brian [Mon, 17 Dec 2007 21:05:53 +0000 (14:05 -0700)]
updates for depth/stencil/alpha state
Brian [Mon, 17 Dec 2007 20:59:55 +0000 (13:59 -0700)]
Emit declarations for constants (references to the const buffer)
Zack Rusin [Mon, 17 Dec 2007 19:36:31 +0000 (14:36 -0500)]
i965: index the destination offset with regards to the current index
Zack Rusin [Mon, 17 Dec 2007 19:05:46 +0000 (14:05 -0500)]
i965: return false when the function fails, not succeeds
Zack Rusin [Mon, 17 Dec 2007 18:21:45 +0000 (13:21 -0500)]
Add the new test program for fp's.