summaryrefslogtreecommitdiff
path: root/src/gallium
AgeCommit message (Collapse)Author
2008-09-23CELL: fix colormask code generationRobert Ellison
The colormask code generation had assumed that its input packed pixels were in RGBA format. In fact, the format they're in is dependent on the pipe color format. Now the color format is passed in to gen_colormask(), and proper color format-dependent SPU code is generated.
2008-09-23CELL: improve legibility of CELL_DEBUG environment variable outputRobert Ellison
2008-09-22cell: Fixed bug with absolute, negate, set-negative logic in source fetch ↵Jonathan White
for TGSI instructions. The logic should operate on the origin channel not the swizzled channel. Please enter the commit message for your changes.
2008-09-22cell: Added TRUNC, SWZ (extended) and XPD instructions, verified against ↵Jonathan White
softpipe. Optimized FLR and FRC. Fixed writeback logic for DP3, DP4 and DPH.
2008-09-22cell: Added DPH instruction and verified against softpipe.Jonathan White
2008-09-19cell: use different opcodes for spe_move() depending on even/odd addressBrian Paul
2008-09-19cell: make sure the fragment ops and fragment shader code buffer is at a ↵Brian Paul
32-byte boundary To make sure even/odd instructions hit the right pipes.
2008-09-19gallium: added ALIGN32_ATTRIBBrian Paul
2008-09-19gallium: added spe_code_size()Brian Paul
2008-09-19cell: Added FRC instructionJonathan White
2008-09-19cell: Added FLR instruction. Verified the following instructions match ↵Jonathan White
softpipe: MOV, ADD, MUL, SGE, SUB, MAD, ABS, SLT, MIN, MAX, LRP, DP3, DP4, CMP, FLR
2008-09-19cell: Fixed bugs with DP3 and DP4, they match softpipe results now.Jonathan White
2008-09-19cell: flesh out support for other Z/stencil formatBrian Paul
Also: improve float/int Z conversion. Use clgt instead of cgt in depth test since we're comparing unsigned values.
2008-09-19cell: issue warning to stderr when using fallback fragment opsBrian Paul
2008-09-19cell: fix a commentBrian Paul
2008-09-19cell: the test for CELL_DEBUG_FRAGMENT_OP_FALLBACK in ↵Brian Paul
cmd_state_fragment_ops() was inverted
2008-09-19cell: disable XShmPutImage for tiled surface for nowBrian Paul
Multiple displays of same surface data causes pixels to get scrambled.
2008-09-19cell: change spe_complement() to take a src and dst reg, like other instructionsBrian Paul
2008-09-19Merge branch 'gallium-0.2' of ssh+git://git.freedesktop.org/git/mesa/mesa ↵José Fonseca
into gallium-0.2
2008-09-19util: Use OpenGL rasterization rules in blits and mipmap generation.José Fonseca
2008-09-19i915simple: Use defined MSAA arrayJakob Bornecrantz
2008-09-19fix for MSAAAlan Hourihane
2008-09-19i915simple: Front flushing does workJakob Bornecrantz
2008-09-19i915simple: Fix extentions being loadedJakob Bornecrantz
2008-09-19CELL: add codegen for logic op, color maskRobert Ellison
- 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.
2008-09-19gallium: Fix doxygen comments.José Fonseca
2008-09-19softpipe: Obey const qualifier.José Fonseca
2008-09-18CELL: mark several transient files as .gitignoreRobert Ellison
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.
2008-09-18cell: Added CMP instructionJonathan White
2008-09-18Merge commit 'origin/gallium-0.1' into gallium-0.2Keith Whitwell
Conflicts: src/mesa/shader/slang/slang_link.c
2008-09-18cell: Fix bug with complement logic for SGE and SLEJonathan White
2008-09-18cell: Added SGE and SLE instructions to dispatch functionJonathan White
2008-09-18cell: Added SGE and SLE instructionsJonathan White
2008-09-18tgsi: Build tgsi_text with makeJakob Bornecrantz
2008-09-18util: A few more memory debugging checks.José Fonseca
2008-09-18util: Add missing p_debug.h include.José Fonseca
2008-09-18gallium: fix surface object memory leak in cso moduleBrian Paul
2008-09-18tgsi: Make tgsi dumps look more like mesa shader dumps.Jakob Bornecrantz
2008-09-18CELL: finish fragment ops blending (except for unusual D3D modes)Robert Ellison
- 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.
2008-09-18pipebuffer: New callback to flush all temporary-held buffers.José Fonseca
Used mostly to aid debugging memory issues or to clean up resources when the drivers are long lived.
2008-09-17gallium: fix wide point / point coord semantic info (generic, not fog)Brian Paul
2008-09-17gallium: fix tgsi sanity checker with respect to END.Brian Paul
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.
2008-09-17gallium: fix lack of surface reference counting in ↵Brian Paul
cso_set/save/restore_framebuffer() Fixes asst problems with FBO / render to texture.
2008-09-17cell: example of doing fs/fm sequence with fnms in blendingBrian Paul
2008-09-17cell: dump generated code if CELL_DEBUG=asmBrian Paul
2008-09-17CELL: fleshing out the blending fragment opsRobert Ellison
- 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...
2008-09-16cell: Added RCP and RSQ instruction support.Jonathan White
2008-09-16cell: Added DP3 and DP4 instructionsJonathan White
2008-09-16gallium: fix info entries for KIL, KILPBrian Paul
KIL takes 1 src register. KILP uses no registers (uses cond codes).
2008-09-16cell: Optimized LERP with fmaJonathan White
Please enter the commit message for your changes.