Introduced in the 18.1 branch (commit 92eb5bbc68d732463e9afb2373c9bd47e5ee0864), running Sascha Willem's Multisampling demo (https://github.com/SaschaWillems/Vulkan) will produce a black background where it should be white.
Mesa versions from 18.0 produces the correct results.
Skylake CPU (530 graphics)
Mesa 18.1, Ubuntu 16.04
Using Vkreplay from LunarG's SDK
Quick update on this: in theory we should just revert that patch, because it's wrong, and even if we "fix" it by properly skipping the update of the clear color only during fast clears, we would only be saving a couple MI_MEM_COPY operations. It's probably better to just keep the code simpler and remove that logic.
However, while trying to revert it, I found that it regresses Haswell, so I'm debugging that now.
Ugh... I reviewed that patch. Now that I look at it in light of this, it's obviously wrong. We also need inline clear colors for the source of MSAA resolves and maybe some other cases. Rafael, do you remember why you did this? Was it just to save some MI commands or did it have some deeper purpose?
I don't remember for sure, but I think it was just to save the MI commands. That's the only thing I can remember now.
Looks like we hit this bug: https://github.com/vulkano-rs/vulkano/issues/1123
Has there been any progress?
It seems I'm also running into this via vulkano and I'm not yet sure of a workaround for MSAA. I'm also curious whether or not there has been any progress?
Sorry for letting this one slip so long. I've got a fix on the mailing list:
It would be awesome if someone could confirm this fixes vulkano.
This is fixed by the following commit now in master:
commit 19c608fe43ae7e1578920326690a361ff1be9d88 (HEAD -> master, public/master)
Author: Jason Ekstrand <firstname.lastname@example.org>
Date: Fri Jan 4 11:32:40 2019 -0600
intel/blorp: Be more conservative about copying clear colors
In 92eb5bbc68d7324 we attempted to avoid copying clear colors whenever
we weren't doing a resolve. However, this broke MSAA resolves because
we need the clear color in the source. This patch makes blorp much more
conservative such that it only avoids the clear color copy if either
aux_usage == NONE or it's explicitly doing a fast-clear.
Fixes: 92eb5bbc68d7 "intel/blorp: Only copy clear color when doing..."
Reviewed-by: Rafael Antognolli <email@example.com>
Sorry it took so long. :-(
the fix for this bug regresses the following crucible test on haswell:
Since haswell support is partial, this regression is not something that should block a mesa release.