diff options
author | Xiang, Haihao <[email protected]> | 2008-12-11 14:03:00 +0800 |
---|---|---|
committer | Xiang, Haihao <[email protected]> | 2008-12-11 14:03:00 +0800 |
commit | c8b505d8260cccf289c947c629471df8f5c81c0d (patch) | |
tree | 54554a2f1f5a4b88e5a228d6dbcbd429f068b709 /src | |
parent | 3b9bc821e1dfe39905585746166183264c335416 (diff) |
i915: fallback for cube map texture.
The i915 (and related graphics cores) only support TEXCOORDMODE_CLAMP and
TEXCOORDMODE_CUBE when using cube map texture coordinates, so fall back to
software rendering for other modes to avoid potential gpu hang issue. This
fixes scorched3d issue on 945GM(see bug 14539).
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/drivers/dri/i915/i915_texstate.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i915/i915_texstate.c b/src/mesa/drivers/dri/i915/i915_texstate.c index d1b0dcdf319..d53e2cbd5aa 100644 --- a/src/mesa/drivers/dri/i915/i915_texstate.c +++ b/src/mesa/drivers/dri/i915/i915_texstate.c @@ -295,6 +295,13 @@ i915_update_tex_unit(struct intel_context *intel, GLuint unit, GLuint ss3) wt == GL_CLAMP_TO_BORDER || wr == GL_CLAMP_TO_BORDER)) return GL_FALSE; + /* Only support TEXCOORDMODE_CLAMP_EDGE and TEXCOORDMODE_CUBE (not + * used) when using cube map texture coordinates + */ + if (tObj->Target == GL_TEXTURE_CUBE_MAP_ARB && + (((ws != GL_CLAMP) && (ws != GL_CLAMP_TO_EDGE)) || + ((wr != GL_CLAMP) && (wr != GL_CLAMP_TO_EDGE)))) + return GL_FALSE; state[I915_TEXREG_SS3] = ss3; /* SS3_NORMALIZED_COORDS */ |