[Mesa-dev] [PATCH V2 2/2] i965: Change 8X MSAA sample mapping
Anuj Phogat
anuj.phogat at gmail.com
Thu Aug 11 19:28:49 UTC 2016
This is required following the change in 8X sample positions.
Fixes the recently modified multisample-scaled-blit piglit tests.
Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
---
src/mesa/drivers/dri/i965/brw_blorp_blit.cpp | 10 +++++-----
src/mesa/drivers/dri/i965/gen6_multisample_state.c | 2 +-
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
index b903de1..f7f685b 100644
--- a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
+++ b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
@@ -1094,13 +1094,13 @@ blorp_nir_manual_blend_bilinear(nir_builder *b, nir_ssa_def *pos,
*
* In case of 8x MSAA the two layouts don't match.
* sample index layout : --------- sample number layout : ---------
- * | 0 | 1 | | 5 | 2 |
+ * | 0 | 1 | | 3 | 7 |
* --------- ---------
- * | 2 | 3 | | 4 | 6 |
+ * | 2 | 3 | | 5 | 0 |
* --------- ---------
- * | 4 | 5 | | 0 | 3 |
+ * | 4 | 5 | | 1 | 2 |
* --------- ---------
- * | 6 | 7 | | 7 | 1 |
+ * | 6 | 7 | | 4 | 6 |
* --------- ---------
*
* Fortunately, this can be done fairly easily as:
@@ -1128,7 +1128,7 @@ blorp_nir_manual_blend_bilinear(nir_builder *b, nir_ssa_def *pos,
sample = nir_f2i(b, sample);
if (tex_samples == 8) {
- sample = nir_iand(b, nir_ishr(b, nir_imm_int(b, 0x17306425),
+ sample = nir_iand(b, nir_ishr(b, nir_imm_int(b, 0x64210573),
nir_ishl(b, sample, nir_imm_int(b, 2))),
nir_imm_int(b, 0xf));
} else if (tex_samples == 16) {
diff --git a/src/mesa/drivers/dri/i965/gen6_multisample_state.c b/src/mesa/drivers/dri/i965/gen6_multisample_state.c
index a47e323..a59ffec 100644
--- a/src/mesa/drivers/dri/i965/gen6_multisample_state.c
+++ b/src/mesa/drivers/dri/i965/gen6_multisample_state.c
@@ -109,7 +109,7 @@ gen6_set_sample_maps(struct gl_context *ctx)
{
uint8_t map_2x[2] = {0, 1};
uint8_t map_4x[4] = {0, 1, 2, 3};
- uint8_t map_8x[8] = {5, 2, 4, 6, 0, 3, 7, 1};
+ uint8_t map_8x[8] = {3, 7, 5, 0, 1, 2, 4, 6};
uint8_t map_16x[16] = { 15, 10, 9, 7, 4, 1, 3, 13,
12, 2, 0, 6, 11, 8, 5, 14 };
--
2.5.5
More information about the mesa-dev
mailing list