Respect xfer barriers in InstancedRendering::Op
Fixes a bug introduced when this Op stopped storing a GrPipeline.
Change-Id: I1a39814cebe18b321ea369f005bb7759f233cfe6
Reviewed-on: https://skia-review.googlesource.com/10804
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
diff --git a/src/gpu/GrProcessorSet.h b/src/gpu/GrProcessorSet.h
index f63369c..39ba013 100644
--- a/src/gpu/GrProcessorSet.h
+++ b/src/gpu/GrProcessorSet.h
@@ -82,6 +82,7 @@
, fRequiresDstTexture(false)
, fCanCombineOverlappedStencilAndCover(true)
, fIgnoresInputColor(false)
+ , fRequiresBarrierBetweenOverlappingDraws(false)
, fOutputCoverageType(static_cast<unsigned>(GrProcessorAnalysisCoverage::kNone))
, fOutputColorType(static_cast<unsigned>(ColorType::kUnknown))
, fInitialColorProcessorsToEliminate(0) {}
@@ -126,6 +127,9 @@
bool canCombineOverlappedStencilAndCover() const {
return fCanCombineOverlappedStencilAndCover;
}
+ bool requiresBarrierBetweenOverlappingDraws() const {
+ return fRequiresBarrierBetweenOverlappingDraws;
+ }
bool isCompatibleWithCoverageAsAlpha() const { return fCompatibleWithCoverageAsAlpha; }
bool isInputColorIgnored() const { return fIgnoresInputColor; }
GrProcessorAnalysisCoverage outputCoverage() const {
@@ -163,10 +167,11 @@
PackedBool fCanCombineOverlappedStencilAndCover : 1;
// These could be removed if we created the XP from the XPFactory when doing analysis.
PackedBool fIgnoresInputColor : 1;
+ PackedBool fRequiresBarrierBetweenOverlappingDraws : 1;
unsigned fOutputCoverageType : 2;
unsigned fOutputColorType : 2;
- unsigned fInitialColorProcessorsToEliminate : 32 - 11;
+ unsigned fInitialColorProcessorsToEliminate : 32 - 12;
GrColor fInputColor;
// This could be removed if we created the XP from the XPFactory when doing analysis.