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

Unified Diff: src/gpu/gl/GrGLRenderTarget.h

Issue 1431593006: Fix mixed samples stencil clip (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 1 month 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 | « src/gpu/gl/GrGLPathRendering.cpp ('k') | src/gpu/gl/GrGLRenderTarget.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/gpu/gl/GrGLRenderTarget.h
diff --git a/src/gpu/gl/GrGLRenderTarget.h b/src/gpu/gl/GrGLRenderTarget.h
index ce04ae017dca79981746d66730e53254c6286b1b..b298676a47847bdd48dc91c3db1de583f53dd1c9 100644
--- a/src/gpu/gl/GrGLRenderTarget.h
+++ b/src/gpu/gl/GrGLRenderTarget.h
@@ -9,6 +9,7 @@
#ifndef GrGLRenderTarget_DEFINED
#define GrGLRenderTarget_DEFINED
+#include "GrGpu.h"
#include "GrGLIRect.h"
#include "GrRenderTarget.h"
#include "SkScalar.h"
@@ -70,19 +71,14 @@ public:
// components seperately.
void dumpMemoryStatistics(SkTraceMemoryDump* traceMemoryDump) const override;
- /**
- * @return true if sample locations colocated at pixel center have been set for this
- * render target. Requires support for NV_sample_locations.
- */
- bool usesColocatedSampleLocations() const {
- return fUsesColocatedSampleLocations;
+ bool getCachedCoCenteredSamplesState(GrGpu::ResetTimestamp* stamp) const {
+ *stamp = fHasCoCenteredSamplesTimestamp;
+ return fHasCoCenteredSamples;
}
- /**
- * Flag render target as using or not using sample locations colocated at pixel center.
- */
- void flagAsUsingColocatedSampleLocations(bool useColocatedSampleLocations) {
- fUsesColocatedSampleLocations = useColocatedSampleLocations;
+ void setCachedCoCenteredSamplesState(bool hasCoCenteredSamples, GrGpu::ResetTimestamp stamp) {
+ fHasCoCenteredSamples = hasCoCenteredSamples;
+ fHasCoCenteredSamplesTimestamp = stamp;
}
protected:
@@ -114,26 +110,24 @@ private:
// The number total number of samples, including both MSAA and resolve texture samples.
int totalSamples() const;
- GrGLuint fRTFBOID;
- GrGLuint fTexFBOID;
- GrGLuint fMSColorRenderbufferID;
+ GrGLuint fRTFBOID;
+ GrGLuint fTexFBOID;
+ GrGLuint fMSColorRenderbufferID;
+ bool fHasCoCenteredSamples;
+ GrGpu::ResetTimestamp fHasCoCenteredSamplesTimestamp;
// We track this separately from GrGpuResource because this may be both a texture and a render
// target, and the texture may be wrapped while the render target is not.
- LifeCycle fRTLifecycle;
+ LifeCycle fRTLifecycle;
// when we switch to this render target we want to set the viewport to
// only render to content area (as opposed to the whole allocation) and
// we want the rendering to be at top left (GL has origin in bottom left)
- GrGLIRect fViewport;
+ GrGLIRect fViewport;
// onGpuMemorySize() needs to know the VRAM footprint of the FBO(s). However, abandon and
// release zero out the IDs and the cache needs to know the size even after those actions.
- size_t fGpuMemorySize;
-
- // True if sample locations colocated at pixel center are currently in use, false if default
- // sample locations are currently in use.
- bool fUsesColocatedSampleLocations;
+ size_t fGpuMemorySize;
typedef GrRenderTarget INHERITED;
};
« no previous file with comments | « src/gpu/gl/GrGLPathRendering.cpp ('k') | src/gpu/gl/GrGLRenderTarget.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698