Revert "Reland "Enable msaa ccpr on vulkan""
This reverts commit935a35d972
. Reason for revert: Trying to get Chrome to roll Original change's description: > Reland "Enable msaa ccpr on vulkan" > > This is a reland ofcb73b6250e
> > 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:
parent
93d2837e00
commit
9233e0c593
@ -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>()
|
||||
|
@ -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);
|
||||
|
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user