Yes, that's nicer. Will fix.
On Tue, Dec 3, 2013 at 5:04 AM, Paul Berry <stereotype...@gmail.com> wrote: > On 1 December 2013 00:24, Chris Forbes <chr...@ijw.co.nz> wrote: >> >> We need to emit extra shader code in this case to sample the >> MCS surface first; we can't just blindly do this all the time >> since IVB will sometimes try to access the MCS surface even if >> disabled. >> >> V3: Use actual MSAA layout from the texture's mt, rather >> then computing what would have been used based on the format. >> This is simpler and less fragile - there's at least one case where >> we might want to have a texture's MSAA layout change based on what >> the app does (CMS SINT falling back to UMS if the app ever attempts >> to render to it with a channel disabled.) >> >> This also obsoletes V2's 1/10 -- compute_msaa_layout can now remain >> an implementation detail of the miptree code. >> >> Signed-off-by: Chris Forbes <chr...@ijw.co.nz> >> --- >> src/mesa/drivers/dri/i965/brw_program.h | 5 +++++ >> src/mesa/drivers/dri/i965/brw_wm.c | 8 ++++++++ >> 2 files changed, 13 insertions(+) >> >> diff --git a/src/mesa/drivers/dri/i965/brw_program.h >> b/src/mesa/drivers/dri/i965/brw_program.h >> index 07be4a0..51182ea 100644 >> --- a/src/mesa/drivers/dri/i965/brw_program.h >> +++ b/src/mesa/drivers/dri/i965/brw_program.h >> @@ -45,6 +45,11 @@ struct brw_sampler_prog_key_data { >> * For RG32F, gather4's channel select is broken. >> */ >> uint16_t gather_channel_quirk_mask; >> + >> + /** >> + * Whether this sampler uses the compressed multisample surface >> layout. >> + */ >> + uint16_t compressed_multisample_layout_mask; >> }; >> >> #ifdef __cplusplus >> diff --git a/src/mesa/drivers/dri/i965/brw_wm.c >> b/src/mesa/drivers/dri/i965/brw_wm.c >> index bc1480c..3977395 100644 >> --- a/src/mesa/drivers/dri/i965/brw_wm.c >> +++ b/src/mesa/drivers/dri/i965/brw_wm.c >> @@ -38,6 +38,7 @@ >> #include "main/samplerobj.h" >> #include "program/prog_parameter.h" >> #include "program/program.h" >> +#include "intel_mipmap_tree.h" >> >> #include "glsl/ralloc.h" >> >> @@ -356,6 +357,13 @@ brw_populate_sampler_prog_key_data(struct gl_context >> *ctx, >> if (img->InternalFormat == GL_RG32F) >> key->gather_channel_quirk_mask |= 1 << s; >> } >> + >> + /* If this is a multisample sampler, and uses the CMS MSAA >> layout, then >> + * we need to emit slightly different code to first sample the >> MCS surface. >> + */ >> + if (brw->gen >= 7 && intel_texture_object((struct >> gl_texture_object *)t)->mt->msaa_layout == INTEL_MSAA_LAYOUT_CMS) { >> + key->compressed_multisample_layout_mask |= 1 << s; >> + } > > > We prefer to keep source lines limited to <80 columns when possible. Maybe > rewrite like this? > > > /* If this is a multisample sampler, and uses the CMS MSAA layout, > * then we need to emit slightly different code to first sample the > * MCS surface. > */ > struct intel_texture_object *intel_tex = > intel_texture_object((struct gl_texture_object *)t); > > if (brw->gen >= 7 && > intel_tex->mt->msaa_layout == INTEL_MSAA_LAYOUT_CMS) { > > key->compressed_multisample_layout_mask |= 1 << s; > } > > With that fixed, this patch is: > > Reviewed-by: Paul Berry <stereotype...@gmail.com> > >> >> } >> } >> } >> -- >> 1.8.4.2 >> >> _______________________________________________ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/mesa-dev > > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev