Commit graph

13138 commits

Author SHA1 Message Date
José Fonseca
6f75de06ff gallium: Allow draw_vf usage to be controlled at runtime. 2008-01-29 18:01:40 +09:00
José Fonseca
3d3f7cf06e gallium: Add extern keyword to global. 2008-01-29 18:01:40 +09:00
Brian
59e7bfd5ac Cell: add OPT_FLAGS var 2008-01-28 18:18:46 -07:00
Brian
64935c8751 Cell: move cmd_render() into new spu_render.c file 2008-01-28 18:18:46 -07:00
Brian
4bede9219b Cell: add a few null texture tests 2008-01-28 18:18:46 -07:00
Brian
e2406b4788 Cell: compute min index referenced in draw command, use it to reduce size of vertex data payload 2008-01-28 18:18:46 -07:00
Brian
25105276b3 Cell: minor optimization for flat shading 2008-01-28 18:18:46 -07:00
Brian
425f270fcb 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-01-28 18:18:46 -07:00
Brian
c2372cc748 Cell: initial texture cache/sampling code 2008-01-28 18:18:46 -07:00
Brian
41899c70a7 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-01-28 18:18:46 -07:00
Brian
043fc00a60 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-01-28 18:18:46 -07:00
José Fonseca
1cc0b0dda7 gallium: Use GALLIUM_ prefix for env vars. 2008-01-29 09:42:03 +09:00
José Fonseca
93d727eea7 gallium: Use CALLOC for pb_buffer to ensure that all fields of pipe_buffer are initiallized. 2008-01-29 09:41:21 +09:00
José Fonseca
f3d0882c02 gallium: Remove direct dependencies to mesa internals.
_mesa_exec_free is still being called. More invasive refactoring is necessary to clean it out.
2008-01-29 09:34:09 +09:00
Keith Whitwell
1e2d6b1b82 gallium: remove dead vars, code 2008-01-28 20:58:26 +00:00
Keith Whitwell
c50ba44095 gallium: fix typos in hardwired fetch path 2008-01-28 20:58:26 +00:00
Brian
bd299093ec push out far clip plane to 200 2008-01-28 12:42:37 -07:00
Brian
ba083bae69 Added d/D keys to change viewing distance, 'a' to toggle animation 2008-01-28 12:37:35 -07:00
Brian
3d1b0f4c57 Cell: additional assertions 2008-01-28 11:31:58 -07:00
Brian
a8590e097e Cell: make sure state commands aren't split across batches 2008-01-28 11:31:58 -07:00
Brian
3f8a8eada6 Cell: remove unneeded flush(), dead code 2008-01-28 11:31:58 -07:00
Brian
5b5ec94663 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-01-28 11:31:57 -07:00
Brian
7024019d4e 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-01-28 11:31:57 -07:00
Brian
200dcb4760 Cell: If flushing for swapbuffers, wait for frame completion 2008-01-28 11:31:57 -07:00
Brian
aaea9a121b Cell: additional debug code, misc clean-up 2008-01-28 11:31:57 -07:00
Brian
2194675196 Cell: generalize the batch buffer code for vertex buffers... 2008-01-28 11:31:57 -07:00
Brian
16ed55c641 gallium: check if surface has defined status in check_clear_depth_with_quad()
This was part of Keith's patch from Friday.
2008-01-28 09:23:50 -07:00
Keith Whitwell
82d9063708 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-01-28 15:50:02 +00:00
Keith Whitwell
88858e0468 gallium: add a couple of hardwired vertex fetch functions 2008-01-28 12:40:29 +00:00
Keith Whitwell
99f2976511 gallium: only call vertex/prim queue flush when there is something to flush 2008-01-28 11:12:11 +00:00
Keith Whitwell
a46181044f gallium: explictly cast double to float in vertex fetch 2008-01-28 10:48:22 +00:00
Keith Whitwell
4141ebdf59 gallium: fill in missing formats for vertex_fetch 2008-01-28 10:46:52 +00:00
Keith Whitwell
5abc8d9e23 gallium: remove dead code from draw_vf* 2008-01-28 10:14:13 +00:00
José Fonseca
09059259be First stab at hooking draw_vbuf & vf.
Emit disabled for now. Tested with softpipe. Only one vertex at a time for now (slow).
2008-01-28 18:46:21 +09:00
José Fonseca
19caf4e4f0 Clone vf module. 2008-01-28 15:48:51 +09: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
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
Brian
8dc5972908 Cell: added cell_batch_free_space() 2008-01-26 18:27:37 -07:00
Brian
651e8e9a73 gallium: disable unnecessary point/line/tri re-validation in vbuf_flush_indices() 2008-01-26 16:46:52 -07:00
Brian
b717de3238 Cell: remove some old tile code 2008-01-26 16:06:26 -07:00
Brian
ffeae75031 gallium: s/GLuint/unsigned/ to work with gallium when THREADS not defined 2008-01-26 16:05:35 -07:00
Brian
9ef61b9808 gallium: fix a few segfaults/assertions that can happen during context init 2008-01-26 16:04:47 -07:00
Brian
856db7dee6 Cell: fix a recursive flushing bug 2008-01-26 14:15:53 -07:00
Brian
d4bd6ca816 Cell: add check to catch recursive batch flushing 2008-01-26 14:15:53 -07:00
Brian
7f4bec264e Cell: move ASSERT macro into common.h 2008-01-26 14:15:53 -07:00