Age | Commit message (Collapse) | Author |
|
This function scans the shader to see if it has any GLSL features like
conditionals and loops. Calling this during state validation is expensive.
Just call it when the shader is given to the driver and save the result.
There's some new/temporary assertions to be sure we don't get out of sync
on this.
|
|
Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
|
|
Remove fixed function fog setup.
Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
|
|
Also cleanup sw tcl vertex buffer setup
Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
|
|
Testing and regression fixes by Markus Amsler
Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
|
|
Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
|
|
Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
|
|
Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
|
|
|
|
|
|
|
|
This was causing hangs in cairogears, as we would blit to the 8bpp target
(A8 texture) as 16bpp, and stomp over state objects.
|
|
This is pretty much Eric Anholts implementation of clear using the GL state machine
from the Intel drivers.
It works quite well for now for us, probably could do with trying to use Z engine for
clears.
|
|
|
|
|
|
This can improve debugging with INTEL_DEBUG=batch,sync by giving smaller
batchbuffers.
|
|
I keep wanting to hack this knob in as a one-time thing, so it seemed useful
to have all the time.
|
|
|
|
The 3D destination shares the same cache so we don't have any trouble with
the later commands needing the writes flushed inside of the same batchbuffer.
|
|
|
|
|
|
Instructions such as RCP, RSQ, LOG must smear the result of the function
across the dest register's X, Y, Z and W channels (subject to write masking).
Before this change, only the X component was getting written.
Among other things, this fixes cube map texture sampling in GLSL shaders
(since cube lookups involve normalizing the texcoord).
|
|
front_region may be null.
|
|
Plus fix up a debug printf.
|
|
|
|
|
|
|
|
|
|
this needs testing on real hw
|
|
|
|
The i965 hardware cannot do GL_CLAMP behavior on textures; an earlier
commit forced a software fallback if strict conformance was required
(i.e. the INTEL_STRICT_CONFORMANCE environment variable was set) and
2D textures were used, but it was somewhat flawed - it could trigger
the software fallback even if 2D textures weren't enabled, as long
as one texture unit was enabled.
This fixes that, and adds software fallback for GL_CLAMP behavior with
1D and 3D textures.
It also adds support for a particular setting of the INTEL_STRICT_CONFORMANCE
environment variable, which forces software fallbacks to be taken *all*
the time. This is helpful with debugging. The value is:
export INTEL_STRICT_CONFORMANCE=2
|
|
|
|
|
|
This gets DRI2 compiz going
|
|
|
|
need to write real hw user clear
|
|
|
|
|
|
drawing/reading
It seems that XGetImage() from a depth 32 TrueColor window is flakey.
Drawing with XPutImage() instead of XPutPixel() seems to work better, but
still not perfectly.
Keep using the original code for now until more is learned.
|
|
|
|
|
|
this is a step towards fbos and should fix pageflipping, but
I think the first flip seems broken.
|
|
Remove all references to aux buffers 1..3. Keep AUX0 around for now just
in case, but it'll probably go too someday. I don't know of any OpenGL
drivers since the IRIX days that support aux color buffers.
|
|
s/FRAG_RESULT_DEPR/FRAG_RESULT_DEPTH/
s/FRAG_RESULT_COLR/FRAG_RESULT/COLOR/
Remove FRAG_RESULT_COLH (NV half-precision) output since we never used it.
Next, we might merge the COLOR and DATA outputs (COLOR0, COLOR1, etc).
|
|
Core mesa now unmaps the buffers if needed in these cases.
|
|
Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
|
|
|
|
|
|
i965 doesn't natively support GL_CLAMP; it treats it like
GL_CLAMP_TO_EDGE, which fails conformance tests.
This fix adds a clause to the check_fallbacks() test to check
whether GL_CLAMP is in use on any enabled 2D texture. If so,
and if strict conformance is required (via INTEL_STRICT_CONFORMANCE),
a software fallback is mandated.
In addition, validate textures *before* checking for fallbacks,
rather than after; otherwise, the texture state is never validated
and can't be trusted. (In particular, if texturing is enabled and
the sampler would access any level beyond level 0 of a texture, the
sampler will segfault, because texture validation sets the firstLevel
and lastLevel fields of a texture object so that the valid levels
will be mapped and accessed correctly. If texture validation doesn't
occur, only level 0 is accessed correctly, and that only because
firstLevel and lastLevel happen to be set to 0.)
|
|
|