Age | Commit message (Collapse) | Author |
|
|
|
TEMP[1].w will be needed for OUT.w just below. Use TEMP[0] to store the
intermediate value.
|
|
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.
|
|
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
|
|
Masking should happen after blending. The shader is not entirely
correct, but leave it as is for now.
|
|
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.
|
|
|
|
Eight less instructions with comments.
|
|
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.
|
|
Per OpenVG 1.1. A new shader stage is added. It uses the first two
constants of the fragment shader for color transformation parameters.
|
|
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.
|
|
The typo was introduced by commit
231d5457b275c1d9bbeff14165cf3da33dda176b.
|
|
|
|
Import of the OpenVG 1.0 state tracker for Gallium.
|