From: Francisco Jerez Date: Thu, 21 Jul 2016 23:20:07 +0000 (-0700) Subject: i965/fs: Force per-sample dispatch if the shader reads from a multisample FBO. X-Git-Tag: upstream/17.1.0~7016 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=98d61ee083de57da6b97c9fcf67003f56f5f5a6b;p=platform%2Fupstream%2Fmesa.git i965/fs: Force per-sample dispatch if the shader reads from a multisample FBO. The result of a framebuffer fetch from a multisample FBO is inherently per-sample, so the spec requires at least those sections of the shader that depend on the framebuffer fetch result to be executed once per sample. Reviewed-by: Kenneth Graunke --- diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index c23b558..9f66dc7 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -6552,7 +6552,8 @@ brw_compile_fs(const struct brw_compiler *compiler, void *log_data, (key->persample_interp || (shader->info.system_values_read & (SYSTEM_BIT_SAMPLE_ID | SYSTEM_BIT_SAMPLE_POS)) || - shader->info.fs.uses_sample_qualifier); + shader->info.fs.uses_sample_qualifier || + shader->info.outputs_read); prog_data->early_fragment_tests = shader->info.fs.early_fragment_tests;