summaryrefslogtreecommitdiff
path: root/src/mesa/pipe
AgeCommit message (Collapse)Author
2007-10-03fix f/u mix-up in micro_trunc()Brian
2007-10-03move TEX code into exec_tex()Brian
2007-10-03Track fragment and vertex shader code generation via pipe shader state objects.Michel Dänzer
Unfortunately, the generated fragment shader code is effectively unusable until it handles quad->mask.
2007-10-03In vertex shaders also expect the template to be stack allocatedZack Rusin
structure so allocate a private copy of it.
2007-10-03Unify the definitions of the 4 component dot product into oneZack Rusin
location.
2007-10-03Unify handling of userplanes and regular planes to simplifyZack Rusin
the clipping code. (really done by Keith)
2007-10-03Make softpipe behave more like a real driver by always allocating somethingZack Rusin
in the state functions.
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-02remove 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-10-01use i915_miptree_layout when using an i915Brian
2007-10-01avoid updating vertex format when it doesn't really changeBrian
2007-10-01disable debug printfBrian
2007-10-01don't crash when fog enabled, still not rendered correctly thoughBrian
2007-10-01remove specular color assertion (the path works)Brian
2007-10-01fix a few vert/frag program items to get i915 driver going againBrian
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-28Use texture->first_level, not 0, when not mipmapping.Brian
Fixes crash when GL_BASE_LEVEL!=0. Also, remove old assertion.
2007-09-28Use sse only if GALLIUM_SSE is definedZack Rusin
2007-09-28Redoing the way we handle vertex shaders for the draw module.Zack Rusin
2007-09-28Revert "Redoing the way we handle vertex shaders for the draw module."Zack Rusin
This reverts commit 6dcfddb8e2ec2bfb6187b912807fa65f28da2c5e.
2007-09-28Revert "Use sse only if GALLIUM_SSE is defined"Zack Rusin
This reverts commit 57b5d3605745c96ddc2b6de7d50c93db65ba1257.
2007-09-28Use sse only if GALLIUM_SSE is definedZack Rusin
2007-09-28Redoing the way we handle vertex shaders for the draw module.Zack Rusin
2007-09-27reduced debugkeithw
2007-09-27Fix some compiler warnings with -pedanticKeith Whitwell
2007-09-27Enable codegen based whenever __i386__ is defined.Keith Whitwell
2007-09-27fix mergekeithw
2007-09-27disable debugKeith Whitwell
2007-09-27restore primitive trimming in sp_draw_arrays.ckeithw
2007-09-27Make flushing more lazy in the draw module.Keith Whitwell
2007-09-26added a8r8g8b8_put_tile()Brian
2007-09-26s/_mesa_copy_rect/copy_rect/Brian
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.