Revert "Reland "Enable msaa ccpr on vulkan""

This reverts commit 935a35d972.

Reason for revert: Trying to get Chrome to roll

Original change's description:
> Reland "Enable msaa ccpr on vulkan"
> 
> This is a reland of cb73b6250e
> 
> Original change's description:
> > Enable msaa ccpr on vulkan
> >
> > TBR=egdaniel@google.com
> >
> > Bug: skia:9643
> > Change-Id: Ie06891734b700c940b996a63c7b1264ce0f2597c
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254808
> > Reviewed-by: Chris Dalton <csmartdalton@google.com>
> > Commit-Queue: Chris Dalton <csmartdalton@google.com>
> > Auto-Submit: Chris Dalton <csmartdalton@google.com>
> 
> Bug: skia:9643
> Change-Id: I2537f03fad41ebddabbae94312b3836f7a948639
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255008
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Chris Dalton <csmartdalton@google.com>

TBR=egdaniel@google.com,csmartdalton@google.com

Change-Id: I008735a96bf306f693ce334fab202e71815e2a0e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9643
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255523
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
This commit is contained in:
Robert Phillips 2019-11-20 15:20:05 +00:00 committed by Skia Commit-Bot
parent 93d2837e00
commit 9233e0c593
3 changed files with 13 additions and 22 deletions

View File

@ -90,13 +90,11 @@ static constexpr GrUserStencilSettings kIncrDecrStencil(
);
// Resolves stencil winding counts to A8 coverage. Leaves stencil values untouched.
// NOTE: For the CCW face we intentionally use "1 == (stencil & 1)" because the contrapositive logic
// (i.e. 0 != ...) causes bugs on Adreno Vulkan. http://skbug.com/9643
static constexpr GrUserStencilSettings kResolveStencilCoverage(
GrUserStencilSettings::StaticInitSeparate<
0x0000, 0x0001,
GrUserStencilTest::kNotEqual, GrUserStencilTest::kEqual,
0xffff, 0x0001,
0x0000, 0x0000,
GrUserStencilTest::kNotEqual, GrUserStencilTest::kNotEqual,
0xffff, 0x1,
GrUserStencilOp::kKeep, GrUserStencilOp::kKeep,
GrUserStencilOp::kKeep, GrUserStencilOp::kKeep,
0xffff, 0xffff>()
@ -108,7 +106,7 @@ static constexpr GrUserStencilSettings kResolveStencilCoverageAndReset(
GrUserStencilSettings::StaticInitSeparate<
0x0000, 0x0000,
GrUserStencilTest::kNotEqual, GrUserStencilTest::kNotEqual,
0xffff, 0x0001,
0xffff, 0x1,
GrUserStencilOp::kZero, GrUserStencilOp::kZero,
GrUserStencilOp::kKeep, GrUserStencilOp::kKeep,
0xffff, 0xffff>()

View File

@ -385,14 +385,13 @@ void GrVkCaps::init(const GrContextOptions& contextOptions, const GrVkInterface*
this->initStencilFormat(vkInterface, physDev);
if (!contextOptions.fDisableDriverCorrectnessWorkarounds) {
this->applyDriverCorrectnessWorkarounds(properties, extensions);
this->applyDriverCorrectnessWorkarounds(properties);
}
this->finishInitialization(contextOptions);
}
void GrVkCaps::applyDriverCorrectnessWorkarounds(const VkPhysicalDeviceProperties& properties,
const GrVkExtensions& extensions) {
void GrVkCaps::applyDriverCorrectnessWorkarounds(const VkPhysicalDeviceProperties& properties) {
if (kQualcomm_VkVendor == properties.vendorID) {
fMustDoCopiesFromOrigin = true;
// Transfer doesn't support this workaround.
@ -442,17 +441,9 @@ void GrVkCaps::applyDriverCorrectnessWorkarounds(const VkPhysicalDevicePropertie
// GrCaps workarounds
////////////////////////////////////////////////////////////////////////////
// The GTX660 bot experiences crashes when running msaa ccpr with 8k textures.
// (We get VK_ERROR_DEVICE_LOST when calling vkGetFenceStatus.)
// ((Checking for mixed samples is an easy way to detect pre-maxwell architectures.))
bool isNVIDIAPreMaxwell = (kNvidia_VkVendor == properties.vendorID) &&
!extensions.hasExtension(VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME, 1);
if (isNVIDIAPreMaxwell || fDriverBugWorkarounds.max_texture_size_limit_4096) {
fMaxTextureSize = SkTMin(fMaxTextureSize, 4096);
fMaxRenderTargetSize = SkTMin(fMaxRenderTargetSize, fMaxTextureSize);
fMaxPreferredRenderTargetSize = SkTMin(fMaxPreferredRenderTargetSize, fMaxRenderTargetSize);
}
// Temporarily disable the MSAA implementation of CCPR while we work out a crash on Win10
// GTX660 and incorrect rendring on Adreno.
fDriverBlacklistMSAACCPR = true;
if (kARM_VkVendor == properties.vendorID) {
fInstanceAttribSupport = false;
@ -509,6 +500,9 @@ void GrVkCaps::initGrCaps(const GrVkInterface* vkInterface,
// give the minimum max size across all configs. So for simplicity we will use that for now.
fMaxRenderTargetSize = SkTMin(properties.limits.maxImageDimension2D, (uint32_t)INT_MAX);
fMaxTextureSize = SkTMin(properties.limits.maxImageDimension2D, (uint32_t)INT_MAX);
if (fDriverBugWorkarounds.max_texture_size_limit_4096) {
fMaxTextureSize = SkTMin(fMaxTextureSize, 4096);
}
// Our render targets are always created with textures as the color
// attachment, hence this min:
fMaxRenderTargetSize = SkTMin(fMaxTextureSize, fMaxRenderTargetSize);

View File

@ -216,8 +216,7 @@ private:
void initFormatTable(const GrVkInterface*, VkPhysicalDevice, const VkPhysicalDeviceProperties&);
void initStencilFormat(const GrVkInterface* iface, VkPhysicalDevice physDev);
void applyDriverCorrectnessWorkarounds(const VkPhysicalDeviceProperties&,
const GrVkExtensions&);
void applyDriverCorrectnessWorkarounds(const VkPhysicalDeviceProperties&);
bool onSurfaceSupportsWritePixels(const GrSurface*) const override;
bool onCanCopySurface(const GrSurfaceProxy* dst, const GrSurfaceProxy* src,