summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/i965/brw_fs.cpp
diff options
context:
space:
mode:
authorFrancisco Jerez <currojerez@riseup.net>2016-07-21 16:20:07 -0700
committerFrancisco Jerez <currojerez@riseup.net>2016-08-25 18:36:06 -0700
commit98d61ee083de57da6b97c9fcf67003f56f5f5a6b (patch)
treefbcb23ed8fe4c120e092ff7984d1494c9a715096 /src/mesa/drivers/dri/i965/brw_fs.cpp
parent08705badfe136e1782e10472104323d861185357 (diff)
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 <kenneth@whitecape.org>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_fs.cpp')
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index c23b5588944..9f66dc7e024 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;