Brian [Wed, 30 Jan 2008 19:08:23 +0000 (12:08 -0700)]
Cell: make 'setup' a regular var instead of passing around a pointer everywhere
We'll never have more than one of these objects.
Avoiding pointer deref improves performance a bit.
Brian [Wed, 30 Jan 2008 18:56:41 +0000 (11:56 -0700)]
Cell: minor code refactoring, movement
Brian [Wed, 30 Jan 2008 18:56:14 +0000 (11:56 -0700)]
Cell: check tile status before wait_on_mask()
Brian [Wed, 30 Jan 2008 18:49:51 +0000 (11:49 -0700)]
Cell: make wait_on_mask() static/inlined
Brian [Wed, 30 Jan 2008 18:49:26 +0000 (11:49 -0700)]
Cell: move CELL_MAX_SPUS
José Fonseca [Wed, 30 Jan 2008 07:46:41 +0000 (16:46 +0900)]
gallium: Teach draw_vf about draw vertices.
This reduces the emit overhead, which is significant since we're
emiting one vertex at a time.
José Fonseca [Wed, 30 Jan 2008 06:24:56 +0000 (15:24 +0900)]
gallium: Remove draw_vertex_fetch::lookup.
It is not being used, and would be dangerous to use given the possibility of constants.
Michal Krol [Tue, 29 Jan 2008 15:41:10 +0000 (16:41 +0100)]
gallium: Fix build on WinXP.
Ben Skeggs [Wed, 30 Jan 2008 04:34:02 +0000 (15:34 +1100)]
nouveau: 0xdeadc0de
Brian [Tue, 29 Jan 2008 18:22:57 +0000 (11:22 -0700)]
Cell: use _pack_rgba8() from pack_rgba8.h to do float[4]->uint color conversion
texcyl.c is twice as fast now in non-texture mode
Keith Whitwell [Tue, 29 Jan 2008 15:17:56 +0000 (15:17 +0000)]
gallium: weaken assert slightly
Keith Whitwell [Tue, 29 Jan 2008 12:37:47 +0000 (12:37 +0000)]
gallium: streamline various unfilled & stippled paths
Keith Whitwell [Tue, 29 Jan 2008 12:37:07 +0000 (12:37 +0000)]
gallium: don't rely on assert(0) for error handling - may be disabled
José Fonseca [Tue, 29 Jan 2008 11:47:30 +0000 (20:47 +0900)]
gallium: Emit point size as a constant.
José Fonseca [Tue, 29 Jan 2008 11:46:48 +0000 (20:46 +0900)]
gallium: Emit constants.
José Fonseca [Tue, 29 Jan 2008 09:01:17 +0000 (18:01 +0900)]
gallium: Allow draw_vf usage to be controlled at runtime.
José Fonseca [Tue, 29 Jan 2008 02:21:29 +0000 (11:21 +0900)]
gallium: Add extern keyword to global.
Brian [Tue, 29 Jan 2008 01:17:55 +0000 (18:17 -0700)]
Cell: add OPT_FLAGS var
Brian [Tue, 29 Jan 2008 01:17:30 +0000 (18:17 -0700)]
Cell: move cmd_render() into new spu_render.c file
Brian [Tue, 29 Jan 2008 01:09:16 +0000 (18:09 -0700)]
Cell: add a few null texture tests
Brian [Tue, 29 Jan 2008 01:03:45 +0000 (18:03 -0700)]
Cell: compute min index referenced in draw command, use it to reduce size of vertex data payload
Brian [Tue, 29 Jan 2008 00:32:23 +0000 (17:32 -0700)]
Cell: minor optimization for flat shading
Brian [Tue, 29 Jan 2008 00:23:44 +0000 (17:23 -0700)]
Cell: basic texture mapping
Texture images are tiled in PPU code. SPUs use a texture cache for getting
texels from textures.
This is very rough code, but demos/texcyl.c works.
Brian [Tue, 29 Jan 2008 00:22:12 +0000 (17:22 -0700)]
Cell: initial texture cache/sampling code
Brian [Mon, 28 Jan 2008 20:02:11 +0000 (13:02 -0700)]
Cell: emit state in cell_clear_surface() if dirty.
Without this a program that does nothing but glClear() doesn't work. We need
the framebuffer state.
Brian [Mon, 28 Jan 2008 19:46:05 +0000 (12:46 -0700)]
Cell: re-enable bounding boxes
The geometry bounding box is used to restrict rasterization to just those
tiles that are relevant.
Note another dummy field had to be added to the cell_command_render struct.
Apparently, every 4th word in a struct is susceptible to corruption in some
circumstances. Might be a compiler bug.
José Fonseca [Tue, 29 Jan 2008 00:42:03 +0000 (09:42 +0900)]
gallium: Use GALLIUM_ prefix for env vars.
José Fonseca [Tue, 29 Jan 2008 00:41:21 +0000 (09:41 +0900)]
gallium: Use CALLOC for pb_buffer to ensure that all fields of pipe_buffer are initiallized.
José Fonseca [Tue, 29 Jan 2008 00:34:09 +0000 (09:34 +0900)]
gallium: Remove direct dependencies to mesa internals.
_mesa_exec_free is still being called. More invasive refactoring is necessary to clean it out.
Keith Whitwell [Mon, 28 Jan 2008 20:57:58 +0000 (20:57 +0000)]
gallium: remove dead vars, code
Keith Whitwell [Mon, 28 Jan 2008 20:57:16 +0000 (20:57 +0000)]
gallium: fix typos in hardwired fetch path
Brian [Mon, 28 Jan 2008 19:41:47 +0000 (12:41 -0700)]
push out far clip plane to 200
Brian [Mon, 28 Jan 2008 19:35:20 +0000 (12:35 -0700)]
Added d/D keys to change viewing distance, 'a' to toggle animation
Brian [Mon, 28 Jan 2008 18:21:25 +0000 (11:21 -0700)]
Cell: additional assertions
Brian [Mon, 28 Jan 2008 18:20:47 +0000 (11:20 -0700)]
Cell: make sure state commands aren't split across batches
Brian [Mon, 28 Jan 2008 17:41:51 +0000 (10:41 -0700)]
Cell: remove unneeded flush(), dead code
Brian [Mon, 28 Jan 2008 17:41:27 +0000 (10:41 -0700)]
Cell: clean-up of render path
Finally removed a number of unneeded flush commands. Vertex buffers are
allocated from the general buffer pool, freed by SPUs when done.
Still an occasional failed assertion (invalid batch buffer command)...
Brian [Mon, 28 Jan 2008 17:00:27 +0000 (10:00 -0700)]
Cell: checkpoint commit: always inline prim indexes into batch buffer
Also, explicit release-vertex-buffer command.
Lots of debug/stale code still in place...
Brian [Mon, 28 Jan 2008 16:57:51 +0000 (09:57 -0700)]
Cell: If flushing for swapbuffers, wait for frame completion
Brian [Mon, 28 Jan 2008 16:57:13 +0000 (09:57 -0700)]
Cell: additional debug code, misc clean-up
Brian [Sun, 27 Jan 2008 19:01:47 +0000 (12:01 -0700)]
Cell: generalize the batch buffer code for vertex buffers...
Brian [Mon, 28 Jan 2008 16:23:29 +0000 (09:23 -0700)]
gallium: check if surface has defined status in check_clear_depth_with_quad()
This was part of Keith's patch from Friday.
Keith Whitwell [Mon, 28 Jan 2008 15:50:02 +0000 (15:50 +0000)]
gallium: handle flatshading explicitly in clipper stage
We can do a better job in the clip stage than just relying on the
brute-force approach of copying colors to all incoming vertices applied
in the flatshade stage.
At very least, it is only necessary to do this in the clipper when a
primitive is actually being clipped.
Keith Whitwell [Mon, 28 Jan 2008 12:40:29 +0000 (12:40 +0000)]
gallium: add a couple of hardwired vertex fetch functions
Keith Whitwell [Mon, 28 Jan 2008 11:12:11 +0000 (11:12 +0000)]
gallium: only call vertex/prim queue flush when there is something to flush
Keith Whitwell [Mon, 28 Jan 2008 10:48:22 +0000 (10:48 +0000)]
gallium: explictly cast double to float in vertex fetch
Keith Whitwell [Mon, 28 Jan 2008 10:46:52 +0000 (10:46 +0000)]
gallium: fill in missing formats for vertex_fetch
Keith Whitwell [Mon, 28 Jan 2008 10:14:13 +0000 (10:14 +0000)]
gallium: remove dead code from draw_vf*
José Fonseca [Mon, 28 Jan 2008 09:46:21 +0000 (18:46 +0900)]
First stab at hooking draw_vbuf & vf.
Emit disabled for now. Tested with softpipe. Only one vertex at a time for now (slow).
José Fonseca [Mon, 28 Jan 2008 06:48:51 +0000 (15:48 +0900)]
Clone vf module.
Stephane Marchesin [Fri, 15 Feb 2008 01:41:34 +0000 (02:41 +0100)]
nouveau: oops and make nouveau winsys build by default
Stephane Marchesin [Fri, 15 Feb 2008 01:36:28 +0000 (02:36 +0100)]
nouveau: add nv30.
Stephane Marchesin [Fri, 15 Feb 2008 01:25:17 +0000 (02:25 +0100)]
nouveau: hook in nv30.
Stephane Marchesin [Fri, 15 Feb 2008 01:23:56 +0000 (02:23 +0100)]
nouveau: Update to latest header.
Stephane Marchesin [Sun, 10 Feb 2008 18:14:02 +0000 (19:14 +0100)]
Hook nv30 into the build.
Maarten Maathuis [Wed, 13 Feb 2008 21:57:09 +0000 (22:57 +0100)]
nv40: Avoid a nasty array overflow leading to a corrupt memory pointer.
Stephane Marchesin [Mon, 4 Feb 2008 16:31:45 +0000 (17:31 +0100)]
nouveau: update to latest header.
Stephane Marchesin [Sun, 3 Feb 2008 22:08:06 +0000 (23:08 +0100)]
Add NV63.
Ben Skeggs [Tue, 29 Jan 2008 13:05:50 +0000 (00:05 +1100)]
nouveau: support nv67
Ben Skeggs [Mon, 28 Jan 2008 07:40:11 +0000 (18:40 +1100)]
nouveau: ddx versioning changed to match nouveau.ko versioning
Ben Skeggs [Mon, 28 Jan 2008 07:34:21 +0000 (18:34 +1100)]
Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
Ben Skeggs [Mon, 28 Jan 2008 07:32:46 +0000 (18:32 +1100)]
nouveau: quicky-port to gallium changes
José Fonseca [Mon, 28 Jan 2008 06:00:08 +0000 (15:00 +0900)]
Simplify prototypes of draw_vbuf's internal functions.
José Fonseca [Mon, 28 Jan 2008 05:51:14 +0000 (14:51 +0900)]
Cache the vinfo in vbuf_stage.
José Fonseca [Sun, 27 Jan 2008 10:22:25 +0000 (19:22 +0900)]
Do refcounting trhoughout all buffer objects, since it is now a base requirement.
José Fonseca [Sun, 27 Jan 2008 10:20:48 +0000 (19:20 +0900)]
Fullfill pipe_winsys->user_buffer_create. Aggregate winsys functions.
Brian [Sun, 27 Jan 2008 02:38:16 +0000 (19:38 -0700)]
Cell: added support for inlined vertex buffers.
Small prims are now self-contained in batch buffers when space allows.
Brian [Sun, 27 Jan 2008 02:31:20 +0000 (19:31 -0700)]
Cell: added ROUNUP4
Ben Skeggs [Sun, 27 Jan 2008 01:35:33 +0000 (12:35 +1100)]
Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1
Brian [Sun, 27 Jan 2008 01:30:44 +0000 (18:30 -0700)]
Cell: added support for inlined indexes
If there's room in the batch buffer after the rendering command to accomodate
the indexes, put them there rather than in a separate buffer.
Brian [Sun, 27 Jan 2008 01:27:37 +0000 (18:27 -0700)]
Cell: added cell_batch_free_space()
Brian [Sat, 26 Jan 2008 23:46:52 +0000 (16:46 -0700)]
gallium: disable unnecessary point/line/tri re-validation in vbuf_flush_indices()
Brian [Sat, 26 Jan 2008 23:06:26 +0000 (16:06 -0700)]
Cell: remove some old tile code
Brian [Sat, 26 Jan 2008 23:05:35 +0000 (16:05 -0700)]
gallium: s/GLuint/unsigned/ to work with gallium when THREADS not defined
Brian [Sat, 26 Jan 2008 23:04:47 +0000 (16:04 -0700)]
gallium: fix a few segfaults/assertions that can happen during context init
Brian [Sat, 26 Jan 2008 21:14:56 +0000 (14:14 -0700)]
Cell: fix a recursive flushing bug
Brian [Sat, 26 Jan 2008 21:12:33 +0000 (14:12 -0700)]
Cell: add check to catch recursive batch flushing
Brian [Sat, 26 Jan 2008 21:11:50 +0000 (14:11 -0700)]
Cell: move ASSERT macro into common.h
José Fonseca [Thu, 17 Jan 2008 08:06:16 +0000 (17:06 +0900)]
gallium: Aggregate all buffer allocation info into a single struct. Obey requested alignment.
José Fonseca [Fri, 25 Jan 2008 09:38:25 +0000 (18:38 +0900)]
gallium: Make mm buffer manager more portable.
José Fonseca [Fri, 25 Jan 2008 09:37:41 +0000 (18:37 +0900)]
gallium: Remove unneeded headers.
Keith Whitwell [Thu, 24 Jan 2008 11:09:07 +0000 (11:09 +0000)]
gallium: fix linux build
Michal Krol [Wed, 23 Jan 2008 14:47:10 +0000 (15:47 +0100)]
gallium: Fix build on Windows.
Michal Krol [Wed, 23 Jan 2008 14:47:10 +0000 (15:47 +0100)]
d3d: Fix build on Windows.
Michal Krol [Sun, 20 Jan 2008 20:33:35 +0000 (21:33 +0100)]
gallium: Fix build on WinXP.
José Fonseca [Mon, 21 Jan 2008 15:13:50 +0000 (00:13 +0900)]
gallium: Use directory name in include.
Michal Krol [Sun, 20 Jan 2008 18:36:23 +0000 (19:36 +0100)]
gallium: Fix build for WinXP.
José Fonseca [Fri, 25 Jan 2008 10:33:58 +0000 (19:33 +0900)]
gallium: Define MALLOC_STRUCT.
Michal Krol [Thu, 24 Jan 2008 17:15:30 +0000 (18:15 +0100)]
gallium: Fix build on Windows.
Michal Krol [Thu, 24 Jan 2008 15:41:29 +0000 (16:41 +0100)]
gallium: Fix build on Windows.
Keith Whitwell [Thu, 24 Jan 2008 11:19:06 +0000 (11:19 +0000)]
gallium: restructure vertex fetch code slightly
José Fonseca [Thu, 24 Jan 2008 10:40:14 +0000 (19:40 +0900)]
gallium: Fix MSVC float/double conversion warning.
José Fonseca [Thu, 24 Jan 2008 10:37:37 +0000 (19:37 +0900)]
gallium: Complete integer types.
Keith Whitwell [Tue, 22 Jan 2008 14:38:36 +0000 (14:38 +0000)]
gallium: minor cleanups to pipe interface
- Remove put/get tile, just have users call put_tile_raw, etc directly.
- Remove surface_data call, just map it locally.
Keith Whitwell [Mon, 21 Jan 2008 20:25:19 +0000 (20:25 +0000)]
gallium: add PIPE_FLUSH_SWAPBUFFERS flag
Keith Whitwell [Mon, 21 Jan 2008 20:23:32 +0000 (20:23 +0000)]
gallium: add notify_swapbuffers_complete, use it to set surfaces to undefined state
Keith Whitwell [Mon, 21 Jan 2008 20:22:49 +0000 (20:22 +0000)]
gallium: specialize glFlush vs other flush semantics
Keith Whitwell [Fri, 18 Jan 2008 17:30:21 +0000 (17:30 +0000)]
gallium: remove makefile whitespace
Brian [Sat, 26 Jan 2008 00:34:22 +0000 (17:34 -0700)]
Cell: updates to match pipe_buffer changes
Brian [Sat, 26 Jan 2008 00:34:04 +0000 (17:34 -0700)]
Cell: typedefs need semicolons, Ian :)