Age | Commit message (Collapse) | Author |
|
|
|
32-byte boundary
To make sure even/odd instructions hit the right pipes.
|
|
|
|
|
|
|
|
softpipe: MOV, ADD, MUL, SGE, SUB, MAD, ABS, SLT, MIN, MAX, LRP, DP3, DP4, CMP, FLR
|
|
|
|
Also: improve float/int Z conversion.
Use clgt instead of cgt in depth test since we're comparing unsigned values.
|
|
|
|
|
|
cmd_state_fragment_ops() was inverted
|
|
Multiple displays of same surface data causes pixels to get scrambled.
|
|
|
|
into gallium-0.2
|
|
|
|
|
|
|
|
|
|
|
|
- rtasm_ppc_spe.c, rtasm_ppc_spe.h: added a new macro function
"spe_load_uint" for loading and splatting unsigned integers
in a register; it will use "ila" for values 18 bits or less,
"ilh" for word values that are symmetric across halfwords,
"ilhu" for values that have zeroes in their bottom halfwords,
or "ilhu" followed by "iohl" for general 32-bit values.
Of the 15 color masks of interest, 4 are 18 bits or less,
2 are symmetric across halfwords, 3 are zero in the bottom
halfword, and 6 require two instructions to load.
- cell_gen_fragment.c: added full codegen for logic op and
color mask.
|
|
|
|
|
|
progs/demos: added new demo "fbo_firecube"
progs/glsl: added new demo "pointcoord"
src/gallium/drivers/cell/spu: added the g3d_spu executable, a Cell SPU
executable file, which seems to be occasionally built as part of the
cell driver
src/glu/sgi: added "exptmp", a byproduct of the "mklib" process that
sometimes gets deleted and sometimes not.
|
|
|
|
Conflicts:
src/mesa/shader/slang/slang_link.c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Added new "macro" functions spe_float_min() and spe_float_max()
to rtasm_ppc_spe.{ch}. These emit instructions that cause
the minimum or maximum of each element in a vector of floats
to be saved in the destination register.
- Major changes to cell_gen_fragment.c to implement all the blending
modes (except for the mysterious D3D-based PIPE_BLENDFACTOR_SRC1_COLOR,
PIPE_BLENDFACTOR_SRC1_ALPHA, PIPE_BLENDFACTOR_INV_SRC1_COLOR, and
PIPE_BLENDFACTOR_INV_SRC1_ALPHA).
- Some revamping of code in cell_gen_fragment.c: use the new spe_float_min()
and spe_float_max() functions (instead of expanding these calculations
inline via macros); create and use an inline utility function for handling
"optional" register allocation (for the {1,1,1,1} vector, and the
blend color vectors) instead of expanding with macros; use the Float
Multiply and Subtract (fnms) instruction to simplify and optimize many
blending calculations.
|
|
Used mostly to aid debugging memory issues or to clean up resources when
the drivers are long lived.
|
|
|
|
Subroutine code may be found after the END instruction so it's not always
the last instruction.
At least check for presence of exactly one END instruction though.
|
|
cso_set/save/restore_framebuffer()
Fixes asst problems with FBO / render to texture.
|
|
|
|
|
|
- Added two new debug flags (to be used with the CELL_DEBUG environment
variable). The first, "CELL_DEBUG=fragops", activates SPE fragment
ops debug messages. The second, "CELL_DEBUG=fragopfallback", will
eventually be used to disable the use of generated SPE code for
fragment ops in favor of the default fallback reference routine.
(During development, though, the parity of this flag is reversed:
all users will get the reference code *unless* CELL_DEBUG=fragopfallback
is set. This will prevent hiccups in code generation from affecting
the other developers.)
- Formalized debug message usage and macros in spu/spu_main.c.
- Added lots of new code to ppu/cell_gen_fragment.c to extend the
number of supported source RGB factors from 4 to 15, and to
complete the list of supported blend equations.
More coming, to complete the source and destination RGB and alpha
factors, and to complete the rest of the fragment operations...
|
|
|
|
|
|
KIL takes 1 src register. KILP uses no registers (uses cond codes).
|
|
Please enter the commit message for your changes.
|
|
|
|
|
|
|
|
|
|
|