Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(336)

Unified Diff: include/gpu/GrXferProcessor.h

Issue 1158453004: Revert of Move DstCoordTexture to GrXP, rename and remove the word "copy" from dstcopytexture names. (Closed) Base URL: https://skia.googlesource.com/skia.git@copy
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « include/gpu/GrTexture.h ('k') | include/gpu/effects/GrCoverageSetOpXP.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: include/gpu/GrXferProcessor.h
diff --git a/include/gpu/GrXferProcessor.h b/include/gpu/GrXferProcessor.h
index 812a9b32ab353ec8f6172bf701a77042e2cc02bc..85e5aa04ed935e9d99e819be55ae8a805d521105 100644
--- a/include/gpu/GrXferProcessor.h
+++ b/include/gpu/GrXferProcessor.h
@@ -104,47 +104,6 @@
class GrXferProcessor : public GrProcessor {
public:
/**
- * A texture that contains the dst pixel values and an integer coord offset from device space
- * to the space of the texture. Depending on GPU capabilities a DstTexture may be used by a
- * GrXferProcessor for blending in the fragment shader.
- */
- class DstTexture {
- public:
- DstTexture() { fOffset.set(0, 0); }
-
- DstTexture(const DstTexture& other) {
- *this = other;
- }
-
- DstTexture(GrTexture* texture, const SkIPoint& offset)
- : fTexture(SkSafeRef(texture))
- , fOffset(offset) {
- }
-
- DstTexture& operator=(const DstTexture& other) {
- fTexture.reset(SkSafeRef(other.fTexture.get()));
- fOffset = other.fOffset;
- return *this;
- }
-
- const SkIPoint& offset() const { return fOffset; }
-
- void setOffset(const SkIPoint& offset) { fOffset = offset; }
- void setOffset(int ox, int oy) { fOffset.set(ox, oy); }
-
- GrTexture* texture() const { return fTexture.get(); }
-
- GrTexture* setTexture(GrTexture* texture) {
- fTexture.reset(SkSafeRef(texture));
- return texture;
- }
-
- private:
- SkAutoTUnref<GrTexture> fTexture;
- SkIPoint fOffset;
- };
-
- /**
* Sets a unique key on the GrProcessorKeyBuilder calls onGetGLProcessorKey(...) to get the
* specific subclass's key.
*/
@@ -240,15 +199,15 @@
* shader. If the returned texture is NULL then the XP is either not reading the dst or we have
* extentions that support framebuffer fetching and thus don't need a copy of the dst texture.
*/
- const GrTexture* getDstTexture() const { return fDstTexture.getTexture(); }
-
- /**
- * Returns the offset in device coords to use when accessing the dst texture to get the dst
- * pixel color in the shader. This value is only valid if getDstTexture() != NULL.
- */
- const SkIPoint& dstTextureOffset() const {
- SkASSERT(this->getDstTexture());
- return fDstTextureOffset;
+ const GrTexture* getDstCopyTexture() const { return fDstCopy.getTexture(); }
+
+ /**
+ * Returns the offset into the DstCopyTexture to use when reading it in the shader. This value
+ * is only valid if getDstCopyTexture() != NULL.
+ */
+ const SkIPoint& dstCopyTextureOffset() const {
+ SkASSERT(this->getDstCopyTexture());
+ return fDstCopyTextureOffset;
}
/**
@@ -279,10 +238,10 @@
if (this->fReadsCoverage != that.fReadsCoverage) {
return false;
}
- if (this->fDstTexture.getTexture() != that.fDstTexture.getTexture()) {
- return false;
- }
- if (this->fDstTextureOffset != that.fDstTextureOffset) {
+ if (this->fDstCopy.getTexture() != that.fDstCopy.getTexture()) {
+ return false;
+ }
+ if (this->fDstCopyTextureOffset != that.fDstCopyTextureOffset) {
return false;
}
return this->onIsEqual(that);
@@ -290,7 +249,7 @@
protected:
GrXferProcessor();
- GrXferProcessor(const DstTexture*, bool willReadDstColor);
+ GrXferProcessor(const GrDeviceCoordTexture* dstCopy, bool willReadDstColor);
private:
virtual OptFlags onGetOptimizations(const GrProcOptInfo& colorPOI,
@@ -327,8 +286,8 @@
bool fWillReadDstColor;
bool fReadsCoverage;
- SkIPoint fDstTextureOffset;
- GrTextureAccess fDstTexture;
+ SkIPoint fDstCopyTextureOffset;
+ GrTextureAccess fDstCopy;
typedef GrFragmentProcessor INHERITED;
};
@@ -350,10 +309,9 @@
*/
class GrXPFactory : public SkRefCnt {
public:
- typedef GrXferProcessor::DstTexture DstTexture;
GrXferProcessor* createXferProcessor(const GrProcOptInfo& colorPOI,
const GrProcOptInfo& coveragePOI,
- const DstTexture*,
+ const GrDeviceCoordTexture* dstCopy,
const GrCaps& caps) const;
/**
@@ -377,8 +335,8 @@
virtual void getInvariantOutput(const GrProcOptInfo& colorPOI, const GrProcOptInfo& coveragePOI,
InvariantOutput*) const = 0;
- bool willNeedDstTexture(const GrCaps& caps, const GrProcOptInfo& colorPOI,
- const GrProcOptInfo& coveragePOI) const;
+ bool willNeedDstCopy(const GrCaps& caps, const GrProcOptInfo& colorPOI,
+ const GrProcOptInfo& coveragePOI) const;
bool isEqual(const GrXPFactory& that) const {
if (this->classID() != that.classID()) {
@@ -408,7 +366,7 @@
virtual GrXferProcessor* onCreateXferProcessor(const GrCaps& caps,
const GrProcOptInfo& colorPOI,
const GrProcOptInfo& coveragePOI,
- const DstTexture*) const = 0;
+ const GrDeviceCoordTexture* dstCopy) const = 0;
/**
* Returns true if the XP generated by this factory will explicitly read dst in the fragment
* shader.
« no previous file with comments | « include/gpu/GrTexture.h ('k') | include/gpu/effects/GrCoverageSetOpXP.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698