From a70e1315846cd5e8d6f2b622821ff8262fe7179d Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 18 Aug 2009 18:48:54 -0700 Subject: [PATCH] intel: Align cubemap texture height to its padding requirements. --- src/mesa/drivers/dri/i965/brw_tex_layout.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_tex_layout.c b/src/mesa/drivers/dri/i965/brw_tex_layout.c index 1d2e953eb1e..5e4f7fd27bf 100644 --- a/src/mesa/drivers/dri/i965/brw_tex_layout.c +++ b/src/mesa/drivers/dri/i965/brw_tex_layout.c @@ -194,6 +194,16 @@ GLboolean brw_miptree_layout(struct intel_context *intel, } } + /* The 965's sampler lays cachelines out according to how accesses + * in the texture surfaces run, so they may be "vertical" through + * memory. As a result, the docs say in Surface Padding Requirements: + * Sampling Engine Surfaces that two extra rows of padding are required. + * We don't know of similar requirements for pre-965, but given that + * those docs are silent on padding requirements in general, let's play + * it safe. + */ + if (mt->target == GL_TEXTURE_CUBE_MAP) + total_height += 2; break; } -- 2.30.2