On Thu, Aug 9, 2018 at 3:03 PM Anuj Phogat <anuj.pho...@gmail.com> wrote:
> On Wed, Aug 8, 2018 at 11:31 AM Jason Ekstrand <ja...@jlekstrand.net> > wrote: > > > > The Vulkan 1.1.82 spec flipped the order to better match D3D. > > > > Cc: mesa-sta...@lists.freedesktop.org > > --- > > src/intel/blorp/blorp_blit.c | 11 ++++++++++- > > src/intel/common/gen_sample_positions.h | 8 ++++---- > > src/mesa/drivers/dri/i965/brw_multisample_state.h | 8 ++++---- > > src/mesa/drivers/dri/i965/gen6_multisample_state.c | 4 ++-- > > 4 files changed, 20 insertions(+), 11 deletions(-) > > > > diff --git a/src/intel/blorp/blorp_blit.c b/src/intel/blorp/blorp_blit.c > > index 561897894c3..013f7a14fa2 100644 > > --- a/src/intel/blorp/blorp_blit.c > > +++ b/src/intel/blorp/blorp_blit.c > > @@ -776,6 +776,13 @@ blorp_nir_manual_blend_bilinear(nir_builder *b, > nir_ssa_def *pos, > > * grid of samples with in a pixel. Sample number layout shows the > > * rectangular grid of samples roughly corresponding to the real > sample > > * locations with in a pixel. > > + * > > + * In the case of 2x MSAA, the layout of sample indices is > reversed from > > + * the layout of sample numbers: > It is not clear from this comment if below layout is for sample index or > sample > number. Adding "sample number layout:" on top of it will help. > I've updated it to look more like the 8x case where we have two tables. > > + * --------- > > + * | 1 | 0 | > > + * --------- > > + * > > * In case of 4x MSAA, layout of sample indices matches the > layout of > > * sample numbers: > > * --------- > > @@ -819,7 +826,9 @@ blorp_nir_manual_blend_bilinear(nir_builder *b, > nir_ssa_def *pos, > > key->x_scale * > key->y_scale)); > > sample = nir_f2i32(b, sample); > > > > - if (tex_samples == 8) { > > + if (tex_samples == 2) { > > + sample = nir_isub(b, nir_imm_int(b, 1), sample); > > + } else if (tex_samples == 8) { > > 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)); > > diff --git a/src/intel/common/gen_sample_positions.h > b/src/intel/common/gen_sample_positions.h > > index f0ce95dd1fb..da48dcb5ed0 100644 > > --- a/src/intel/common/gen_sample_positions.h > > +++ b/src/intel/common/gen_sample_positions.h > > @@ -42,10 +42,10 @@ prefix##0YOffset = 0.5; > > * c 1 > > */ > > #define GEN_SAMPLE_POS_2X(prefix) \ > > -prefix##0XOffset = 0.25; \ > > -prefix##0YOffset = 0.25; \ > > -prefix##1XOffset = 0.75; \ > > -prefix##1YOffset = 0.75; > > +prefix##0XOffset = 0.75; \ > > +prefix##0YOffset = 0.75; \ > > +prefix##1XOffset = 0.25; \ > > +prefix##1YOffset = 0.25; > > > > /** > > * Sample positions: > > diff --git a/src/mesa/drivers/dri/i965/brw_multisample_state.h > b/src/mesa/drivers/dri/i965/brw_multisample_state.h > > index 6cf324e561c..2142a17a484 100644 > > --- a/src/mesa/drivers/dri/i965/brw_multisample_state.h > > +++ b/src/mesa/drivers/dri/i965/brw_multisample_state.h > > @@ -38,13 +38,13 @@ > > /** > > * 1x MSAA has a single sample at the center: (0.5, 0.5) -> (0x8, 0x8). > > * > > - * 2x MSAA sample positions are (0.25, 0.25) and (0.75, 0.75): > > + * 2x MSAA sample positions are (0.75, 0.75) and (0.25, 0.25): > > * 4 c > > - * 4 0 > > - * c 1 > > + * 4 1 > > + * c 0 > > */ > > static const uint32_t > > -brw_multisample_positions_1x_2x = 0x0088cc44; > > +brw_multisample_positions_1x_2x = 0x008844cc; > > > > /** > > * Sample positions: > > diff --git a/src/mesa/drivers/dri/i965/gen6_multisample_state.c > b/src/mesa/drivers/dri/i965/gen6_multisample_state.c > > index bfa84fb9b77..78ff3942075 100644 > > --- a/src/mesa/drivers/dri/i965/gen6_multisample_state.c > > +++ b/src/mesa/drivers/dri/i965/gen6_multisample_state.c > > @@ -70,7 +70,7 @@ gen6_get_sample_position(struct gl_context *ctx, > > * > > * 2X MSAA sample index / number layout > You should update this comment matching it up with comment in blorp and > add "sample number layout:" on top of below layout. I would leave it up to > you if you also want to draw sample index layout here just for uniformity. > Made the same change here. > > * --------- > > - * | 0 | 1 | > > + * | 1 | 0 | > > * --------- > > * > > * 4X MSAA sample index / number layout > > @@ -107,7 +107,7 @@ gen6_get_sample_position(struct gl_context *ctx, > > void > > gen6_set_sample_maps(struct gl_context *ctx) > > { > > - uint8_t map_2x[2] = {0, 1}; > > + uint8_t map_2x[2] = {1, 0}; > > uint8_t map_4x[4] = {0, 1, 2, 3}; > > 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, > > -- > > 2.17.1 > > > > _______________________________________________ > > mesa-dev mailing list > > mesa-dev@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/mesa-dev > > With above changes > Reviewed-by: Anuj Phogat <anuj.pho...@gmail.com> > Thanks!
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev