Bug 94406 - Vulkan: fast clear isn't working on skl
Summary: Vulkan: fast clear isn't working on skl
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Vulkan/intel (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Intel 3D Bugs Mailing List
QA Contact: Intel 3D Bugs Mailing List
Depends on:
Reported: 2016-03-05 19:42 UTC by Grazvydas Ignotas
Modified: 2016-04-09 12:20 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:

bad clear (13.04 KB, image/png)
2016-03-05 19:42 UTC, Grazvydas Ignotas

Description Grazvydas Ignotas 2016-03-05 19:42:53 UTC
Created attachment 122118 [details]
bad clear

On the vulkan branch fast clear isn't working in normal GL, works fine on master. I couldn't properly bisect because GL isn't working at all in the early history of the vulkan branch on skl.

From what I was able to determine the problem shows up after master commit 8a0c85b "i965/gen9: Enable rep clears on gen9" gets merged into vulkan branch. If I checkout at this commit in master branch it works fine, but at it's merge point to vulkan branch (958fc04) there is already a problem.

This hack seems to help:
diff --git a/src/mesa/drivers/dri/i965/brw_clear.c b/src/mesa/drivers/dri/i965/brw_clear.c
index 841ba5d..dfd08de 100644
--- a/src/mesa/drivers/dri/i965/brw_clear.c
+++ b/src/mesa/drivers/dri/i965/brw_clear.c
@@ -240,7 +240,7 @@ brw_clear(struct gl_context *ctx, GLbitfield mask)
    /* Clear color buffers with fast clear or at least rep16 writes. */
-   if (brw->gen >= 6 && (mask & BUFFER_BITS_COLOR)) {
+   if (0) { //brw->gen >= 6 && (mask & BUFFER_BITS_COLOR)) {
       if (brw_meta_fast_clear(brw, fb, mask, partial_clear)) {
          debug_mask("blorp color", mask & BUFFER_BITS_COLOR);
          mask &= ~BUFFER_BITS_COLOR;

Mesa 11.3.0-devel (git-81f30e2)
Intel(R) HD Graphics 530 (Skylake GT2) 
kernel: 4.5.0-rc5+
Comment 1 Jason Ekstrand 2016-04-08 23:02:22 UTC
This should be fixed as of this last merge with master:

commit e26a978773ba8fbff04cd2ab3342fcb02e90c06e
Merge: 15895bf 1cd19eb
Author: Jason Ekstrand <jason.ekstrand@intel.com>
Date:   Thu Apr 7 16:56:34 2016 -0700

    Merge remote-tracking branch 'public/master' into vulkan
Comment 2 Grazvydas Ignotas 2016-04-09 12:20:01 UTC
Seems like 3921b64 "i965/fs: Make the repclear shader support either a uniform or a flat input" was one of commits that fixed it, but there might be more, haven't checked.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.