summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorChia-I Wu <[email protected]>2015-02-21 00:35:49 +0800
committerChia-I Wu <[email protected]>2015-02-21 11:33:54 +0800
commit9fe81879c54562a4abbfba3eb5f6081f152c83db (patch)
tree4b981d00f5fdb76cce72f7e5a7f8af689c26027d /src/gallium
parent226109436fd7e0fe67bad024629496b4f4d75633 (diff)
ilo: R32G32B32_FLOAT need no special care on Gen8+
Gen8+ must use VALIGN_4. Unlike prior Gens, R32G32B32_FLOAT should supposedly support VALIGN_4.
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/ilo/ilo_layout.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/gallium/drivers/ilo/ilo_layout.c b/src/gallium/drivers/ilo/ilo_layout.c
index 03a692f2997..0b639b2ef17 100644
--- a/src/gallium/drivers/ilo/ilo_layout.c
+++ b/src/gallium/drivers/ilo/ilo_layout.c
@@ -430,8 +430,9 @@ layout_init_alignments(struct ilo_layout *layout,
layout->tiling == INTEL_TILING_Y &&
(templ->bind & PIPE_BIND_RENDER_TARGET));
- if (valign_4)
- assert(layout->block_size != 12);
+ if (ilo_dev_gen(params->dev) >= ILO_GEN(7) &&
+ ilo_dev_gen(params->dev) <= ILO_GEN(7.5) && valign_4)
+ assert(layout->format != PIPE_FORMAT_R32G32B32_FLOAT);
layout->align_i = 4;
layout->align_j = (valign_4) ? 4 : 2;
@@ -525,7 +526,9 @@ layout_get_valid_tilings(const struct ilo_layout *layout,
*
* "VALIGN_4 is not supported for surface format R32G32B32_FLOAT."
*/
- if (ilo_dev_gen(params->dev) >= ILO_GEN(7) && layout->block_size == 12)
+ if (ilo_dev_gen(params->dev) >= ILO_GEN(7) &&
+ ilo_dev_gen(params->dev) <= ILO_GEN(7.5) &&
+ layout->format == PIPE_FORMAT_R32G32B32_FLOAT)
valid_tilings &= ~LAYOUT_TILING_Y;
}