Commit 2656c611 authored by Chris Forbes's avatar Chris Forbes

i965/ivb: Flag RG32F quirk for texture gather regardless of swizzles

As of ARB_gpu_shader5, textureGather doesn't always read the
post-swizzle RED channel -- so we can't just look at the red swizzle
state.

Theoretically we could only flag the quirk if *some* green swizzle is in
use, but that's probably more trouble than it's worth.
Signed-off-by: default avatarChris Forbes <chrisf@ijw.co.nz>
Reviewed-by: default avatarKenneth Graunke <kenneth@whitecape.org>
parent e8ec2e03
......@@ -349,7 +349,7 @@ brw_populate_sampler_prog_key_data(struct gl_context *ctx,
/* gather4's channel select for green from RG32F is broken;
* requires a shader w/a on IVB; fixable with just SCS on HSW. */
if (brw->gen >= 7 && !brw->is_haswell && prog->UsesGather) {
if (img->InternalFormat == GL_RG32F && GET_SWZ(t->_Swizzle, 0) == 1)
if (img->InternalFormat == GL_RG32F)
key->gather_channel_quirk_mask |= 1 << s;
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment