Ian Romanick
33cac48241
Initial pass at instruction / declaration fetch
пре 18 година
Ian Romanick
524bba17a7
Initial pass at vertex shader on SPU using TGSI VM
All of the code is wired in on the SPU side, but it is not called from
the PPU yet. Instruction / declaration fetch still needs to be
implemented in spu_exec.c.
пре 18 година
Brian
8fb73a5993
Cell: prototype SIMD code for z testing
пре 18 година
Brian
24f0e54c1b
Cell: start to SIMD-ize triangle attribute interpolation
Using the spu_add(), etc intrinsics.
About a 15% speed-up with some tests.
пре 18 година
Brian
7b149449df
Cell: fold setup_tri() into tri_draw()
пре 18 година
Brian
022bf6dfa1
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.
пре 18 година
Brian
dcf41a0eed
Cell: minor code refactoring, movement
пре 18 година
Brian
0d3f60ec64
Cell: check tile status before wait_on_mask()
пре 18 година
Brian
41bdf4cf4c
Cell: make wait_on_mask() static/inlined
пре 18 година
Brian
da6eac242d
Cell: move CELL_MAX_SPUS
пре 18 година
José Fonseca
eb0e0d38ea
gallium: Teach draw_vf about draw vertices.
This reduces the emit overhead, which is significant since we're
emiting one vertex at a time.
пре 18 година
José Fonseca
ed0327980a
gallium: Remove draw_vertex_fetch::lookup.
It is not being used, and would be dangerous to use given the possibility of constants.
пре 18 година
Michal Krol
17ef840af4
gallium: Fix build on WinXP.
пре 18 година
Brian
7f2713a29f
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
пре 18 година
Keith Whitwell
1aaed38568
gallium: weaken assert slightly
пре 18 година
Keith Whitwell
c81848210e
gallium: streamline various unfilled & stippled paths
пре 18 година
Keith Whitwell
c185c55aec
gallium: don't rely on assert(0) for error handling - may be disabled
пре 18 година
José Fonseca
f94425b316
gallium: Emit point size as a constant.
пре 18 година
José Fonseca
5022344c65
gallium: Emit constants.
пре 18 година
José Fonseca
6f75de06ff
gallium: Allow draw_vf usage to be controlled at runtime.
пре 18 година
José Fonseca
3d3f7cf06e
gallium: Add extern keyword to global.
пре 18 година
Brian
59e7bfd5ac
Cell: add OPT_FLAGS var
пре 18 година
Brian
64935c8751
Cell: move cmd_render() into new spu_render.c file
пре 18 година
Brian
4bede9219b
Cell: add a few null texture tests
пре 18 година
Brian
e2406b4788
Cell: compute min index referenced in draw command, use it to reduce size of vertex data payload
пре 18 година
Brian
25105276b3
Cell: minor optimization for flat shading
пре 18 година
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.
пре 18 година
Brian
c2372cc748
Cell: initial texture cache/sampling code
пре 18 година
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.
пре 18 година
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.
пре 18 година
José Fonseca
1cc0b0dda7
gallium: Use GALLIUM_ prefix for env vars.
пре 18 година
José Fonseca
93d727eea7
gallium: Use CALLOC for pb_buffer to ensure that all fields of pipe_buffer are initiallized.
пре 18 година
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.
пре 18 година
Keith Whitwell
1e2d6b1b82
gallium: remove dead vars, code
пре 18 година
Keith Whitwell
c50ba44095
gallium: fix typos in hardwired fetch path
пре 18 година
Brian
bd299093ec
push out far clip plane to 200
пре 18 година
Brian
ba083bae69
Added d/D keys to change viewing distance, 'a' to toggle animation
пре 18 година
Brian
3d1b0f4c57
Cell: additional assertions
пре 18 година
Brian
a8590e097e
Cell: make sure state commands aren't split across batches
пре 18 година
Brian
3f8a8eada6
Cell: remove unneeded flush(), dead code
пре 18 година
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)...
пре 18 година
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...
пре 18 година
Brian
200dcb4760
Cell: If flushing for swapbuffers, wait for frame completion
пре 18 година
Brian
aaea9a121b
Cell: additional debug code, misc clean-up
пре 18 година
Brian
2194675196
Cell: generalize the batch buffer code for vertex buffers...
пре 18 година
Brian
16ed55c641
gallium: check if surface has defined status in check_clear_depth_with_quad()
This was part of Keith's patch from Friday.
пре 18 година
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.
пре 18 година
Keith Whitwell
88858e0468
gallium: add a couple of hardwired vertex fetch functions
пре 18 година
Keith Whitwell
99f2976511
gallium: only call vertex/prim queue flush when there is something to flush
пре 18 година
Keith Whitwell
a46181044f
gallium: explictly cast double to float in vertex fetch
пре 18 година