Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | CELL: fix use of stencil value mask | Robert Ellison | 2008-10-30 | 1 | -42/+112 |
| | | | | | | | The Cell stencil tests were completely ignoring the stencil value mask. Now the original code paths are still used if the stencil value mask is all 1s; but code to use the mask for the stencil value and reference value comparisons is now emitted if the mask is not all 1s. | ||||
* | cell: Protected use of non-initialized untile buffers | Jonathan White | 2008-10-30 | 1 | -4/+7 |
| | |||||
* | CELL: stencil bug fixes | Robert Ellison | 2008-10-30 | 5 | -13/+24 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | Two definitive bugs in stenciling were fixed. The first, reversed registers in the generated Select Bytes (selb) instruction, caused the stenciling INCR and DECR operations to fail dramatically, putting new values in where old values were supposed to be and vice versa. The second caused stencil tiles to not be read and written from main memory by the SPUs. A per-spu flag, spu.read_depth, was used to indicate whether the SPU should be reading depth tiles, and was set only when depth was enabled. A second flag, spu.read_stencil, was set when stenciling was enabled, but never referenced. As stenciling and depth are in the same tiles on the Cell, and there is no corresponding TAG_WRITE_TILE_STENCIL to complement TAG_WRITE_TILE_COLOR and TAG_WRITE_TILE_Z, I fixed this by eliminating the unused "spu.read_stencil", renaming "spu.read_depth" to "spu.read_depth_stencil", and setting it if either stenciling or depth is enabled. I also added an optimization to the fragment ops generation code, that avoids calculating stencil values and/or stencil writemask when the stencil operations are all KEEP. | ||||
* | cell: Added check for PIPE_FLUSH_RENDER_CACHE to cell_flush to fix black ↵ | Jonathan White | 2008-10-30 | 1 | -1/+1 |
| | | | | blocks during st_readpixels due to a flush wait not happening in order to allow any previous rendering to complete. | ||||
* | cell: add scalar param to emit_function_call() to indicate scalar function calls | Brian Paul | 2008-10-29 | 1 | -34/+69 |
| | | | | | Scalar calls only use the X component of the src regs and smear the result across the dest register's X/Y/Z/W. | ||||
* | cell: use simd utilities for pow, exp2, log2 | Brian Paul | 2008-10-29 | 1 | -22/+6 |
| | |||||
* | cell: fix a number of fence issues | Brian Paul | 2008-10-28 | 4 | -7/+30 |
| | | | | Plus add assertions to check status, alignment, etc. | ||||
* | cell: don't include libmisc.h | Brian Paul | 2008-10-28 | 1 | -1/+0 |
| | | | | Doesn't seem to be needed and fixes compilation with SDK 3.1 beta. | ||||
* | cell: fix some problems when displaying to a PIPE_FORMAT_B8G8R8A8_UNORM screen | Brian Paul | 2008-10-27 | 1 | -0/+3 |
| | |||||
* | cell: Added support for untwiddling textures during glReadPixels. This ↵ | Jonathan White | 2008-10-27 | 2 | -7/+152 |
| | | | | allows glReadPixels to work correctly on cell now and makes conformance tests that use pixel compares useable. | ||||
* | cell: include pthread.h | Brian Paul | 2008-10-22 | 1 | -0/+1 |
| | |||||
* | cell: implement fencing for texture buffers | Brian Paul | 2008-10-22 | 13 | -19/+367 |
| | | | | | | | If we delete a texture, we need to keep the underlying tiled data buffer around until any rendering that references it has completed. Keep a list of buffers referenced by a rendering batch. Unref/free them when the associated batch's fence is executed/signalled. | ||||
* | cell: set cell->num_textures | Brian Paul | 2008-10-22 | 1 | -0/+2 |
| | |||||
* | cell: note that dst reg writing needs clamping | Brian Paul | 2008-10-22 | 1 | -0/+16 |
| | |||||
* | gallium: remove unused var | Brian Paul | 2008-10-21 | 1 | -3/+0 |
| | |||||
* | cell: minor improvements to batch buffer functions | Brian Paul | 2008-10-20 | 1 | -4/+7 |
| | |||||
* | cell: temporarily disable freeing of tiled texture memory | Brian Paul | 2008-10-20 | 1 | -0/+6 |
| | | | | Allows glDrawPixels to work for now... | ||||
* | cell: use an approximation in compute_lambda_2d() to avoid sqrt | Brian Paul | 2008-10-17 | 1 | -2/+12 |
| | | | | Though, the logf() call still needs attention. | ||||
* | cell: add new debug flag (cache) to report texture cache stats on exit | Brian Paul | 2008-10-17 | 4 | -2/+7 |
| | |||||
* | cell: more efficient state emit for textures/samplers | Brian Paul | 2008-10-17 | 3 | -45/+58 |
| | |||||
* | cell: use 7-bit weights in sample_texture_2d_bilinear_int() | Brian Paul | 2008-10-17 | 1 | -31/+31 |
| | | | | | This allows us to use 16-bit signed mul/add instructions. Had to used unsigned mul before and there's no unsigned mul/add instruction. | ||||
* | cell: pass spu_texture_level ptr to get_four_texels() | Brian Paul | 2008-10-16 | 1 | -11/+11 |
| | |||||
* | cell: implement KIL instruction | Brian Paul | 2008-10-16 | 3 | -4/+87 |
| | |||||
* | cell: CELL_NUM_SPUS env var | Brian Paul | 2008-10-16 | 1 | -0/+4 |
| | |||||
* | cell: trilinear mipmap interpolation | Brian Paul | 2008-10-16 | 1 | -9/+46 |
| | |||||
* | cell: update comments | Brian Paul | 2008-10-16 | 1 | -5/+2 |
| | |||||
* | cell: call proper sampler function in sample_texture_cube() | Brian Paul | 2008-10-16 | 1 | -4/+4 |
| | |||||
* | cell: clean up various texture-related things | Brian Paul | 2008-10-16 | 6 | -80/+107 |
| | | | | | Distinguish among texture targets in codegen. progs/demos/cubemap.c runs correctly now too. | ||||
* | cell: start some performance measurements | Brian Paul | 2008-10-15 | 4 | -1/+55 |
| | | | | | Use the spu_write_decrementer() and spu_read_decrementer() functions to measure time. Convert to milliseconds according to the system timebase value. | ||||
* | cell: updated debug code | Brian Paul | 2008-10-15 | 1 | -19/+7 |
| | |||||
* | cell: get rid of last usage of float4 union/typedef | Brian Paul | 2008-10-15 | 1 | -34/+29 |
| | | | | Results in slightly tighter code. | ||||
* | cell: simplify triangle front/back face determination | Brian Paul | 2008-10-15 | 1 | -46/+23 |
| | |||||
* | cell: send rasterizer state to SPUs in proper way, remove front_winding hack | Brian Paul | 2008-10-15 | 8 | -9/+34 |
| | |||||
* | cell: query # cells too | Brian Paul | 2008-10-15 | 2 | -3/+5 |
| | |||||
* | cell: query number SPUs with spe_cpu_info_get() | Brian Paul | 2008-10-15 | 1 | -3/+4 |
| | |||||
* | cell: use CELL_MAX_SPUS consistently. | Brian Paul | 2008-10-15 | 3 | -7/+5 |
| | |||||
* | cell: remove some old, pre-batchbuffer stuff | Brian Paul | 2008-10-15 | 4 | -39/+2 |
| | |||||
* | cell: move some CELL_MAX constants | Brian Paul | 2008-10-15 | 2 | -10/+7 |
| | |||||
* | cell: remove obsolete spu_debug.h file | Brian Paul | 2008-10-15 | 1 | -51/+0 |
| | |||||
* | cell: simplify spu debug code | Brian Paul | 2008-10-15 | 7 | -48/+41 |
| | |||||
* | cell: propogate blend color to SPUs for the fallback fragment ops code | Brian Paul | 2008-10-15 | 6 | -9/+74 |
| | |||||
* | gallium: fix the shader-rebind test in softpipe, as was done for the draw ↵ | Brian Paul | 2008-10-15 | 1 | -4/+1 |
| | | | | module. | ||||
* | gallium: temporariliy revert softpipe shader optimization | Brian Paul | 2008-10-15 | 1 | -1/+2 |
| | |||||
* | cell: updated vertex dump/debug code | Brian Paul | 2008-10-15 | 1 | -9/+14 |
| | |||||
* | cell: additional debug | Brian Paul | 2008-10-15 | 1 | -0/+1 |
| | |||||
* | cell: fix/add some fallback blend cases | Brian Paul | 2008-10-15 | 1 | -3/+46 |
| | |||||
* | cell: need to flush draw module when constants change | Brian Paul | 2008-10-15 | 1 | -0/+2 |
| | |||||
* | cell: initial bits for 3D texture support | Brian Paul | 2008-10-14 | 5 | -6/+20 |
| | |||||
* | cell: replace FREE() with align_free() | Brian Paul | 2008-10-14 | 1 | -1/+1 |
| | |||||
* | cell: fix incorrect parameter type | Brian Paul | 2008-10-14 | 2 | -2/+2 |
| |