diff options
author | Jason Ekstrand <jason.ekstrand@intel.com> | 2015-05-25 09:31:55 -0700 |
---|---|---|
committer | Emil Velikov <emil.l.velikov@gmail.com> | 2015-06-03 16:29:48 +0100 |
commit | 75691166bef11f00af05d0504bc3a113eaa92656 (patch) | |
tree | 5ad318ea45761abce88285229312fb082bb03757 | |
parent | 8c57dc26a749f8759b30efbc689e3d99ffcba785 (diff) | |
download | mesa-75691166bef11f00af05d0504bc3a113eaa92656.tar.gz |
i965/fs: Properly handle explicit depth in SIMD16 with dual-source blend
Cc: "10.6" <mesa-stable@lists.freedesktop.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90629
Tested-by: Markus Wick <markus@selfnet.de>
Reviewed-by: Matt Turner <mattst88@gmail.com>
(cherry picked from commit 8bbe7fa7a853d8ebf69e5d2d0fdc4343a20b638f)
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp index ead77686640..314136c7819 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp @@ -3711,7 +3711,11 @@ fs_visitor::emit_single_fb_write(fs_reg color0, fs_reg color1, if (prog->OutputsWritten & BITFIELD64_BIT(FRAG_RESULT_DEPTH)) { /* Hand over gl_FragDepth. */ assert(this->frag_depth.file != BAD_FILE); - sources[length] = this->frag_depth; + if (exec_size < dispatch_width) { + sources[length] = half(this->frag_depth, use_2nd_half); + } else { + sources[length] = this->frag_depth; + } } else { /* Pass through the payload depth. */ sources[length] = fs_reg(brw_vec8_grf(payload.source_depth_reg, 0)); |