Explictly pass src and dst arguments (previously dst argument was also
being used as a src). Separate argument handling from the rest of
the function call emit.
Somehow context->radeon.tcl.aos[j].bo is not null sometimes,
but it is safe for now because it is only a pointer to
dma.current so overwriting it would not hurt anything.
I started looking into why _NEW_ARRAY punishes us, and while annotating
dependencies noticed that a bunch of dependencies were missing.
(cherry picked from master, commit e5f63c403b)
This allows double buffered apps to run, but perfomance
will be awful until we implement something faster.
You must update to the latest kernel modules.
RasterPos[2] is already sent through the window transform, which includes
DepthRange handling. So make DepthRange for the metaops a noop.
Fixes a failure in oglconform depthrange.c
Since it has a dispatch table entry (for BlendEquationSeparateEXT,)
can't omit it from this list. It'll still get disabled if the cap
(PIPE_CAP_BLEND_EQUATION_SEPARATE) isn't set.
Somebody that doesn't suck at GL (read: not me) should probably add
this into progs/samples/blendeq or similar so we can test it.
Really, we should be checking that the MesaTexFormat for the read buffer
and the texture match, but the previous code wasn't even doing that, so
matching the cpp should be an improvement (and potentially fix some hangs!).
The previous code also rejected GL_RGB even though blitting the alpha
channel to the ignored channel of an x8r8g8b8 texture should be fine, which
tripped up compiz's blur plugin.
Components of input attributes that are used by fragment program aren't part of vertex program key, and that may lead to situations when vertex program writes only TEX1.xy and fragment program reads TEX1.xyz, resulting in rendering errors.
Reported-by: Nicolai Hähnle <nhaehnle@gmail.com>
We only care about the actual fogcoord itself now, reducing the rewriting
done for the vertex program.
The rewriting of source operand swizzles in the fragment program takes
care that fogcoord.yzw = 001.
This should fix fogcoord rewriting entirely, which had been horribly
broken in the face of dot-product instructions, and just broken (though
not horribly so) in the face of almost every other instruction (the W
component would be incorrect for most arithmetic instructions).
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>