Index: src/gpu/GrRenderTargetPriv.h |
diff --git a/src/gpu/GrRenderTargetPriv.h b/src/gpu/GrRenderTargetPriv.h |
index f4931db1db7475feab36d24f163aeec8b4bc0f7e..115dc530a882e6dcb0c0feddaf34317476c106bc 100644 |
--- a/src/gpu/GrRenderTargetPriv.h |
+++ b/src/gpu/GrRenderTargetPriv.h |
@@ -27,6 +27,32 @@ public: |
*/ |
bool attachStencilAttachment(GrStencilAttachment* stencil); |
+ /** |
+ * Some hardware allows overriding the default multisampling pattern with user-defined sample |
+ * locations. Returns true if the render target has been configured to use programmable sample |
+ * locations. */ |
+ bool programmableSampleLocationsEnabled() { return fRenderTarget->fProgrammableSampleLocationsEnabled; } |
+ |
+ /** Mark render target as being configured to use programmable sample locations, or otherwise. */ |
+ void setProgrammableSampleLocationsEnabled(bool enabled) { |
+ fRenderTarget->fProgrammableSampleLocationsEnabled = enabled; |
+ } |
+ |
+ /** |
+ * @return true if centered sample locations have been set for this |
+ * render target. Requires support for NV_sample_locations. |
+ */ |
+ bool usesCenteredSampleLocations() const { |
+ return fRenderTarget->fUsesCenteredSampleLocations; |
+ } |
+ |
+ /** |
+ * Flag render target as using or not using programmable sample locations. |
+ */ |
+ void flagAsUsingCenteredSampleLocations(bool useCenteredSampleLocations) { |
+ fRenderTarget->fUsesCenteredSampleLocations = useCenteredSampleLocations; |
+ } |
+ |
private: |
explicit GrRenderTargetPriv(GrRenderTarget* renderTarget) : fRenderTarget(renderTarget) {} |
GrRenderTargetPriv(const GrRenderTargetPriv&) {} // unimpl |