Commit graph

11122 commits

Author SHA1 Message Date
Brian
e308dc4465 Cell: move cmd_render() into new spu_render.c file 2008-02-15 13:50:24 +11:00
Brian
c474e0d6ed Cell: add a few null texture tests 2008-02-15 13:50:24 +11:00
Brian
7012dd9b76 Cell: compute min index referenced in draw command, use it to reduce size of vertex data payload 2008-02-15 13:50:24 +11:00
Brian
5f54cfaba1 Cell: minor optimization for flat shading 2008-02-15 13:50:24 +11:00
Brian
948dc8ad24 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.
2008-02-15 13:50:24 +11:00
Brian
2f868411a2 Cell: initial texture cache/sampling code 2008-02-15 13:50:24 +11:00
Brian
7c596b8011 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.
2008-02-15 13:50:24 +11:00
Brian
deaa895fe2 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.
2008-02-15 13:50:24 +11:00
José Fonseca
d6667171dc gallium: Use GALLIUM_ prefix for env vars. 2008-02-15 13:50:24 +11:00
José Fonseca
d5dd52aea8 gallium: Use CALLOC for pb_buffer to ensure that all fields of pipe_buffer are initiallized. 2008-02-15 13:50:23 +11:00
José Fonseca
5ec70aa03b gallium: Remove direct dependencies to mesa internals.
_mesa_exec_free is still being called. More invasive refactoring is necessary to clean it out.
2008-02-15 13:50:23 +11:00
Keith Whitwell
eb08501403 gallium: remove dead vars, code 2008-02-15 13:50:23 +11:00
Keith Whitwell
3c9e26e0fa gallium: fix typos in hardwired fetch path 2008-02-15 13:50:23 +11:00
Brian
5b4d14bf1c Cell: additional assertions 2008-02-15 13:50:23 +11:00
Brian
ca85eed771 Cell: make sure state commands aren't split across batches 2008-02-15 13:50:23 +11:00
Brian
1cbe803922 Cell: remove unneeded flush(), dead code 2008-02-15 13:50:23 +11:00
Brian
c4ef36dec0 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)...
2008-02-15 13:50:23 +11:00
Brian
9abbaacea6 Cell: checkpoint commit: always inline prim indexes into batch buffer
Also, explicit release-vertex-buffer command.
Lots of debug/stale code still in place...
2008-02-15 13:50:23 +11:00
Brian
4f0906a18a Cell: If flushing for swapbuffers, wait for frame completion 2008-02-15 13:50:23 +11:00
Brian
87c8f9c583 Cell: additional debug code, misc clean-up 2008-02-15 13:50:23 +11:00
Brian
5c7c0675a7 Cell: generalize the batch buffer code for vertex buffers... 2008-02-15 13:50:23 +11:00
Brian
72b671bd39 gallium: check if surface has defined status in check_clear_depth_with_quad()
This was part of Keith's patch from Friday.
2008-02-15 13:50:23 +11:00
Keith Whitwell
af2ccd4c0c 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.
2008-02-15 13:50:23 +11:00
Keith Whitwell
bb37e7f591 gallium: add a couple of hardwired vertex fetch functions 2008-02-15 13:50:22 +11:00
Keith Whitwell
f7e64c323f gallium: only call vertex/prim queue flush when there is something to flush 2008-02-15 13:50:22 +11:00
Keith Whitwell
85d7e7ceee gallium: explictly cast double to float in vertex fetch 2008-02-15 13:50:22 +11:00
Keith Whitwell
01ab6472cc gallium: fill in missing formats for vertex_fetch 2008-02-15 13:50:22 +11:00
Keith Whitwell
25d2ffc669 gallium: remove dead code from draw_vf* 2008-02-15 13:50:22 +11:00
José Fonseca
169a74196f First stab at hooking draw_vbuf & vf.
Emit disabled for now. Tested with softpipe. Only one vertex at a time for now (slow).
2008-02-15 13:50:22 +11:00
José Fonseca
a7872d4c41 Clone vf module. 2008-02-15 13:50:22 +11:00
Stephane Marchesin
903521a6c0 nouveau: oops and make nouveau winsys build by default 2008-02-15 02:41:34 +01:00
Stephane Marchesin
583f424d61 nouveau: add nv30. 2008-02-15 02:36:28 +01:00
Stephane Marchesin
e538dc52c1 nouveau: hook in nv30. 2008-02-15 02:26:03 +01:00
Stephane Marchesin
e713cb26c9 nouveau: Update to latest header. 2008-02-15 02:26:03 +01:00
Stephane Marchesin
73b3a29b16 Hook nv30 into the build. 2008-02-15 02:26:03 +01:00
Maarten Maathuis
2effa9b36c nv40: Avoid a nasty array overflow leading to a corrupt memory pointer. 2008-02-13 22:57:09 +01:00
Stephane Marchesin
f71400876b nouveau: update to latest header. 2008-02-04 17:31:45 +01:00
Stephane Marchesin
5351e7270f Add NV63. 2008-02-03 23:08:06 +01:00
Ben Skeggs
ae7dcae81b nouveau: support nv67 2008-01-30 00:05:59 +11:00
Ben Skeggs
d342a6eecc nouveau: ddx versioning changed to match nouveau.ko versioning 2008-01-28 18:40:11 +11:00
Ben Skeggs
faa05d41c5 Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1 2008-01-28 18:34:21 +11:00
Ben Skeggs
3e39bc3d87 nouveau: quicky-port to gallium changes 2008-01-28 18:32:46 +11:00
José Fonseca
c3f10aef38 Simplify prototypes of draw_vbuf's internal functions. 2008-01-28 15:00:08 +09:00
José Fonseca
3b93c74a8d Cache the vinfo in vbuf_stage. 2008-01-28 14:51:14 +09:00
José Fonseca
dac124081d Do refcounting trhoughout all buffer objects, since it is now a base requirement. 2008-01-27 19:22:25 +09:00
José Fonseca
e6c8278c04 Fullfill pipe_winsys->user_buffer_create. Aggregate winsys functions. 2008-01-27 19:20:48 +09:00
Brian
87a8a339d7 Cell: added support for inlined vertex buffers.
Small prims are now self-contained in batch buffers when space allows.
2008-01-26 19:38:16 -07:00
Brian
419a5cca34 Cell: added ROUNUP4 2008-01-26 19:31:20 -07:00
Ben Skeggs
a556034514 Merge branch 'upstream-gallium-0.1' into darktama-gallium-0.1 2008-01-27 12:35:33 +11:00
Brian
1bab5bd24e 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.
2008-01-26 18:30:44 -07:00