summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2011-08-15 12:04:37 -0700
committerKenneth Graunke <[email protected]>2011-09-07 07:49:55 -0700
commit477b74e85be8e468c63af9f2f3fe788e486764ce (patch)
tree11a0d355d43cfdda8e0e8e93568eaeb387bac5f5
parent8ceb235c9cbb9504e32479db54287ed9387df75a (diff)
i965: Use proper texture alignment units for cubemaps on Gen5+.
In particular, S3TC compressed textures need align_h == 4. Fixes skybox errors in Quake 4 and FEAR. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34628 Signed-off-by: Kenneth Graunke <[email protected]>
-rw-r--r--src/mesa/drivers/dri/i965/brw_tex_layout.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_tex_layout.c b/src/mesa/drivers/dri/i965/brw_tex_layout.c
index 46a417a08ed..b5d2cf31290 100644
--- a/src/mesa/drivers/dri/i965/brw_tex_layout.c
+++ b/src/mesa/drivers/dri/i965/brw_tex_layout.c
@@ -49,11 +49,14 @@ GLboolean brw_miptree_layout(struct intel_context *intel,
switch (mt->target) {
case GL_TEXTURE_CUBE_MAP:
if (intel->gen >= 5) {
- GLuint align_h = 2;
+ GLuint align_w;
+ GLuint align_h;
GLuint level;
GLuint qpitch = 0;
int h0, h1, q;
+ intel_get_texture_alignment_unit(mt->format, &align_w, &align_h);
+
/* On Ironlake, cube maps are finally represented as just a series
* of MIPLAYOUT_BELOW 2D textures (like 2D texture arrays), separated
* by a pitch of qpitch rows, where qpitch is defined by the equation