summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/tgsi
AgeCommit message (Collapse)Author
2007-10-24fix bug in RET codeBrian
2007-10-22Finish unifying the surface and texture tile caches.Brian
2007-10-20added case for TGSI_OPCODE_ENDBrian
2007-10-18added const qualifiersBrian
2007-10-18Corrected the file permissions in src/mesa/pipe.Oliver McFadden
2007-10-15fix logic for printing extended swizzlesBrian
2007-10-12added code to print extended swizzlesBrian
2007-10-12change exec_kilp() to only touch lowest four bits in kilmaskBrian
2007-10-10Merge tgsi_mesa_compile_fp_program() and tgsi_mesa_compile_vp_program() into ↵Brian
tgsi_translate_mesa_program().
2007-10-09start on a unified vertex/fragment program translation functionBrian
2007-10-09Generate DCLs for temporaries.Brian
2007-10-09Finish up decls for packed fragment program outputs.Brian
2007-10-09Pack fragment program outputs to be consistant with vertex programs.Brian
Previously, output[0] was always Z and output[1] was color. Now output[0] will be color if Z is not written. In shade_quad() use the semantic info to determine which quantity is in which output slot.
2007-10-09update some commentsBrian
2007-10-09More work on flow control for CAL/RET.Brian
2007-10-09New ATTRIB interpolation type for vertex program inputs/declarations.Brian
2007-10-09Don't emit semantic info for vertex program inputs.Brian
2007-10-03use different temps in exec_tex() for biasBrian
2007-10-03updated commentsBrian
2007-10-03fix eq/neq bugsBrian
2007-10-03fix f/u mix-up in micro_trunc()Brian
2007-10-03move TEX code into exec_tex()Brian
2007-10-02clean-upsBrian
2007-10-02Implement/use fragment kill resultsBrian
2007-10-02Implement TGSI_OPCODE_SNE with micro_ne()Brian
2007-10-02Separate TGSI_OPCODE_KIL and TGSI_OPCODE_KILP (predicated).Brian
These correspond to the NV and ARB-style fragment program KIL instructions. The former is really supposed to examine the NV condition codes but Mesa's GLSL compiler always emits unconditional KIL instructions.
2007-10-02Push mask stacks upon CAL, pop upon RET.Brian
Still need to handle conditional RET statements...
2007-10-02added license and interpreter commentsBrian
2007-10-02Implement CONT statement.Brian
2007-10-02added micro_trunc(), re-order some codeBrian
2007-10-02Minor optimization: no-op CAL when ExecMask==0x0.Brian
2007-10-02Added TGSI_FILE_OUTPUT case in fetch_src_file_channel().Brian
GLSL output variables (such as vertex varyings) can be read (they're not write-only).
2007-10-02Implement CAL/RET and a call stack for subroutines.Brian
The glsl/brick.c shader demo runs now.
2007-10-02Added TGSI_OPCODE_ENDBrian
Halt program execution when we get to END instruction. The GLSL compiler puts subroutines after the end instruction so we have to stop before then.
2007-10-02Fold expand_program() into tgsi_exec_prepare()Brian
2007-10-02no more need for tgsi_exec_machine_run2(), remove dead codeBrian
2007-10-02Move tgsi machine state init/allocations so they're done less frequently.Brian
This, plus expanding all instructions ahead of time, seems to have improved the performance of program execution by 8x or so.
2007-10-02checkpoint: unpack all instructions before interpretation. Actual looping ↵Brian
works.
2007-09-29Initial conditional execution support for loops and BRK instruction.Brian
Also, instead of passing cond mask to each micro op, just apply it in the store_dest() function.
2007-09-29remove unused tgsi_exec_cond_* typesBrian
2007-09-28Initial implementation of IF/ELSE/ENDIF using conditional masking.Brian
mach->CondMask controls writing to each of the 4 components in a quad. mach->CondMaskStack handles nested conditionals. Only a few of the micro ops (add/sub/mul/store) have been updated to obey CondMask at this time.
2007-09-27Fix some compiler warnings with -pedanticKeith Whitwell
2007-09-27Enable codegen based whenever __i386__ is defined.Keith Whitwell
2007-09-25Translate mesa vertex/fragment programs to TGSI programs at same time to do ↵Brian
proper linking. Previously, programs were translated independently during validation. The problem is the translation to TGSI format, which packs shader input/outputs into continuous slots, depends on which vertex program is being paired with which fragment shader. Now, we look at the outputs of the vertex program in conjunction with the inputs of the fragment shader to be sure the attributes match up correctly. The new 'linked_program_pair' class keeps track of the associations between vertex and fragment shaders. It's also the place where the TGSI tokens are kept since they're no longer per-program state but per-linkage. Still a few loose ends, like implementing some kind of hash/lookup table for linked_program_pairs.
2007-09-24Enable SSE2 for FS.michal
2007-09-21added PSIZEBrian
2007-09-21Fix up some point size breakage. Start on fogcoord too.Brian
2007-09-21remove debug printfsBrian
2007-09-21remove SEMANTIC_TEXCOORDBrian
2007-09-21Get rid of TGSI_SEMANTIC_TEXCOORD and just use TGSI_SEMANTIC_GENERIC.Brian