Eric Anholt
b4f585665c
glsl: Mark the array access for whole-array comparisons.
...
By not doing so, the uniform contents of
glsl-uniform-non-uniform-array-compare.shader_test was getting thrown
out since nobody was recorded as dereferencing the array.
2010-12-01 16:14:34 -08:00
Eric Anholt
f361f8a8a9
i965: Add support for loops in the VS.
...
This follows the changes done for the FS alongside the EU emit code.
2010-12-01 16:14:34 -08:00
Eric Anholt
251d15d888
i965: Enable IF statements in the VS.
...
While the actual IF instructions were fixed by Zhenyu, we were still
flattening them to conditional moves.
2010-12-01 16:14:34 -08:00
Eric Anholt
843a6a308e
i965: Add support for gen6 CONTINUE instruction emit.
...
At this point, piglit tests for fragment shader loops are working.
2010-12-01 16:14:34 -08:00
Eric Anholt
00e5a743e2
i965: Add support for gen6 BREAK ISA emit.
...
There are now two targets: the hop-to-end-of-block target, and the
target for where to resume execution for active channels.
2010-12-01 16:14:33 -08:00
Eric Anholt
4890e0f09c
i965: Add support for gen6 DO/WHILE ISA emit.
...
There's no more DO since there's no more mask stack, and WHILE has
been shuffled like IF was.
2010-12-01 16:14:31 -08:00
Eric Anholt
a9f62881a3
i965: Dump the WHILE jump distance on gen6.
2010-12-01 15:22:59 -08:00
Marek Olšák
fcf6b353bf
r300g: disable ARB_texture_swizzle if S3TC is enabled on r3xx-only
...
r3xx cannot swizzle compressed textures. r4xx+ is unaffected.
NOTE: This is a candidate for the 7.9 branch.
2010-12-01 22:54:05 +01:00
Marek Olšák
6478a4de14
r300g: fix texture swizzling with compressed textures on r400-r500
...
This fixes all S3TC piglit/texwrap tests.
NOTE: This is a candidate for the 7.9 branch.
2010-12-01 22:29:09 +01:00
Ian Romanick
c92550be64
i915: Correctly generate unconditional KIL instructions
...
Fixes piglit test glsl-fs-discard-03.
NOTE: This is a candidate for the 7.9 branch.
2010-12-01 12:01:13 -08:00
Ian Romanick
b6dbc06742
i915: Request that POW instructions be lowered
2010-12-01 12:01:13 -08:00
Ian Romanick
c4285be9a5
glsl: Lower ir_binop_pow to a sequence of EXP2 and LOG2
2010-12-01 12:01:13 -08:00
Ian Romanick
da61afa738
glsl: Use M_LOG2E constant instead of calling log2
2010-12-01 12:01:12 -08:00
Kenneth Graunke
d2d7a273c5
glsl: Add comments to lower_jumps (from the commit message).
...
This is essentially Luca's commit message, but placed at the top of the
file.
2010-12-01 11:52:43 -08:00
Kenneth Graunke
1802cb9baf
glsl: Remove "discard" support from lower_jumps.
...
The new lower_discard and opt_discard_simplification passes should
handle all the necessary transformations, so lower_jumps doesn't need to
support it.
Also, lower_jumps incorrectly handled conditional discards - it would
unconditionally truncate all code after the discard. Rather than fixing
the bug, simply remove the code.
NOTE: This is a candidate for the 7.9 branch.
2010-12-01 11:52:43 -08:00
Kenneth Graunke
940df10100
glsl: Add a lowering pass to move discards out of if-statements.
...
This should allow lower_if_to_cond_assign to work in the presence of
discards, fixing bug #31690 and likely #31983 .
NOTE: This is a candidate for the 7.9 branch.
2010-12-01 11:52:43 -08:00
Kenneth Graunke
9a1d063c6d
glsl: Add an optimization pass to simplify discards.
...
NOTE: This is a candidate for the 7.9 branch.
2010-12-01 11:52:43 -08:00
Marek Olšák
ead2ea89f4
ir_to_mesa: Add support for conditional discards.
...
NOTE: This is a candidate for the 7.9 branch.
Signed-off-by: Marek Olšák <maraeo@gmail.com>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
2010-12-01 11:52:36 -08:00
Alex Deucher
2ca9256911
r600c: fix some opcodes on evergreen
...
There were a few places where we were using the wrong opcodes
on evergreen. arl still needs to be fixed on evergreen; see
r600g for reference.
NOTE: This is a candidate for the 7.9 branch.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2010-12-01 13:26:02 -05:00
Marek Olšák
e6d798948e
r300/compiler: implement and lower OPCODE_CLAMP
...
Needed for st/vega.
2010-12-01 18:29:50 +01:00
José Fonseca
6f7c8c3cbf
vega: Remove extraneous ;
2010-12-01 12:31:21 +00:00
José Fonseca
792caebced
scons: Move MSVS_VERSION option to common module.
2010-12-01 12:23:12 +00:00
José Fonseca
2aa3203660
svga: Silence debug printf.
2010-12-01 12:23:12 +00:00
Chia-I Wu
0dadc0b808
st/vega: Avoid unnecessary constant bufer upload.
...
Remember the last uploaded data and avoid re-uploading.
2010-12-01 18:36:27 +08:00
Chia-I Wu
d7a6901cac
st/vega: Initialize pipe states with renderer.
...
Initialize vertex elements, rasterizer, stencil ref, and vertex shader
with renderer_create. Remove RASTERIZER_DIRTY and VS_DIRTY flags.
2010-12-01 18:07:00 +08:00
Chia-I Wu
c91c386012
st/vega: Create drawing surface mask as needed.
...
As the blend texture, a drawing surface mask is used when masking is
enabled. It should be created as needed.
s/alpha_mask/surface_mask/ to follow OpenVG 1.1 naming.
2010-12-01 18:03:06 +08:00
Chia-I Wu
04f342b417
st/vega: Delay blend texture creation until needed.
...
It is used for more advanced blending or mask update. It might not be
ever needed for some applications.
2010-12-01 17:46:34 +08:00
Chia-I Wu
f8e0dd246b
st/vega: Remove st_inlines.h.
...
Per b0427bedde .
2010-12-01 17:00:22 +08:00
Chia-I Wu
2bb788ccc6
st/vega: Simplify radial gradient.
...
Eight less instructions with comments.
2010-12-01 16:46:01 +08:00
Chia-I Wu
d7aa03b4fe
st/vega: Fix degenerate paints.
...
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-01 16:46:01 +08:00
Zhenyu Wang
c530fd3f8a
i965: also using align1 mode for math2 on sandybridge
...
Like Eric's workaround patch of commit 490c23ee6b .
This forces to align1 mode for math2 too.
2010-12-01 15:04:18 +08:00
Chia-I Wu
06e7a55028
st/vega: Fix negated logic in image_draw.
...
A typo from last commit.
2010-12-01 11:39:33 +08:00
Chia-I Wu
b06de80843
st/vega: Fix paint coordinates transformations.
...
Depending on whether vgDrawPath(mode), vgDrawImage, or vgDrawGlyph[s] is
called, different paint-to-user and user-to-surface matrices should be
used to derive the sample points for the paint.
This fixes "paint" demo.
2010-12-01 11:31:00 +08:00
Chia-I Wu
ca8bc9c05b
st/vega: Bump version to 1.1.
2010-12-01 11:23:53 +08:00
Chia-I Wu
e360f91f15
st/vega: Add color transformation support.
...
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-01 11:23:52 +08:00
Chia-I Wu
213e288e78
st/vega: More flexible shader selection.
...
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-12-01 11:23:52 +08:00
Chia-I Wu
30cab4b6cb
st/vega: Revive mask layer support.
2010-12-01 11:23:52 +08:00
Chia-I Wu
5d64a06a63
st/vega: Add primitive text support.
...
Optional features such as auth-hinting are not implemented. There is no
anti-aliasing, and no effort is done to keep the glyph origin integral.
So the text quality is poor.
2010-12-01 11:23:52 +08:00
Chia-I Wu
34f466d4e6
st/vega: Make image_draw take a matrix.
2010-12-01 11:23:52 +08:00
Chia-I Wu
165cb19abc
st/vega: Make path_render and path_stroke take a matrix.
2010-12-01 11:23:51 +08:00
Chia-I Wu
d873f1f5b6
st/vega: Fix image sampler views for alpha-only formats.
...
For alpha-only VG formats, R = G = B = 1.0.
2010-12-01 11:23:51 +08:00
Chia-I Wu
56f02cedfa
st/vega: Update to latest headers.
2010-12-01 11:23:51 +08:00
Chia-I Wu
20ce148c30
st/vega: Get rid of renderer_copy_texture.
2010-12-01 11:23:51 +08:00
Chia-I Wu
33ca973e7a
st/vega: vg_copy_texture and vg_copy_surface should share code.
2010-12-01 11:23:51 +08:00
Chia-I Wu
4690cdfe07
st/vega: Clean up renderer fields and functions.
2010-12-01 11:23:50 +08:00
Chia-I Wu
ace4539e88
st/vega: Clean up vg_context fields and functions.
2010-12-01 11:23:50 +08:00
Chia-I Wu
635fe3e192
st/vega: vg_manager should care about only the color buffer.
...
Move depth/stencil buffer, blend texture view, and alpha mask view
creation to vg_context.c.
2010-12-01 11:23:50 +08:00
Chia-I Wu
ee0f1ab923
st/vega: Make shader_bind call into the renderer.
...
With this commit, the pipe states are entirely managed by the renderer.
The rest of the code interfaces with the renderer instead of
manipulating the states directly.
2010-12-01 11:23:50 +08:00
Chia-I Wu
b730f0fc52
st/vega: Move g3d states to renderer.
...
Let vg_context focus on OpenVG states and renderer focus on gallium
states.
2010-12-01 11:23:50 +08:00
Chia-I Wu
96c6637a13
st/vega: Use st_framebuffer for fb width/height.
...
This allows us to eventually make g3d states opaque.
2010-12-01 11:23:50 +08:00