summaryrefslogtreecommitdiff
path: root/src/gallium/state_trackers/vega/asm_fill.h
AgeCommit message (Collapse)Author
2010-12-04st/vega: Add blend shaders for all blend modes.Chia-I Wu
2010-12-04st/vega: Fix VG_BLEND_MULTIPLY.Chia-I Wu
TEMP[1].w will be needed for OUT.w just below. Use TEMP[0] to store the intermediate value.
2010-12-04st/vega: Blending should use premultiplied alpha.Chia-I Wu
Convert color values to and back from premultiplied form for blending. Finally the rendering result of the blend demo looks much closer to that of the reference implementation.
2010-12-04st/vega: Add support for per-channel alpha.Chia-I Wu
Drawing an image in VG_DRAW_IMAGE_STENCIL mode produces per-channel alpha for use in blending. Add a new shader stage to produce and save it in TEMP[1]. For other modes that do not need per-channel alpha, the stage does MOV TEMP[1], TEMP[0].wwww
2010-12-04st/vega: Move masking after blending.Chia-I Wu
Masking should happen after blending. The shader is not entirely correct, but leave it as is for now.
2010-12-04st/vega: Refactor blend shaders.Chia-I Wu
Add a helper function, blend_generic, that supports all blend modes and per-channel alpha. Make other blend generators a wrapper to it. Both the old and new code expects premultiplied colors, yet the input is non-premultiplied. Per-channel alpha is also not used for stencil image. They still need to be fixed.
2010-12-04st/vega: Add some comments to pipeline shaders.Chia-I Wu
2010-12-01st/vega: Simplify radial gradient.Chia-I Wu
Eight less instructions with comments.
2010-12-01st/vega: Fix degenerate paints.Chia-I Wu
Fix the case that the two points of a linear gradient coincide, or the case that the radius of a radial gradient is equal to or less than 0.
2010-12-01st/vega: Add color transformation support.Chia-I Wu
Per OpenVG 1.1. A new shader stage is added. It uses the first two constants of the fragment shader for color transformation parameters.
2010-12-01st/vega: More flexible shader selection.Chia-I Wu
Divide bits of VegaShaderType into 6 groups: paint, image, mask, fill, premultiply, and bw. Each group represents a stage. At most one shader from each group will be selected when constructing the final fragment shader.
2010-11-25st/vega: Fix a typo in EXTENDED_BLENDER_OVER_FUNC.Chia-I Wu
The typo was introduced by commit 231d5457b275c1d9bbeff14165cf3da33dda176b.
2010-02-02vega: change tgsi asm by tgsi_uregIgor Oliveira
2009-05-01OpenVG 1.0 State TrackerZack Rusin
Import of the OpenVG 1.0 state tracker for Gallium.