*/
void getPipelineOptimizations(GrPipelineOptimizations* override) const;
- const GrPipeline* pipeline() const {
- SkASSERT(fPipelineInstalled);
- return reinterpret_cast<const GrPipeline*>(fPipelineStorage.get());
- }
-
bool installPipeline(const GrPipeline::CreateArgs&);
// TODO no GrPrimitiveProcessors yet read fragment position
// TODO: this needs to be updated to return GrSurfaceProxy::UniqueID
// This is a bit more exciting than the other call sites since it uses the pipeline
GrGpuResource::UniqueID renderTargetUniqueID() const final {
- SkASSERT(fPipelineInstalled);
return this->pipeline()->getRenderTarget()->uniqueID();
}
// TODO: store a GrRenderTargetContext instead
GrRenderTarget* renderTarget() const final {
- SkASSERT(fPipelineInstalled);
return this->pipeline()->getRenderTarget();
}
}
protected:
+ const GrPipeline* pipeline() const {
+ SkASSERT(fPipelineInstalled);
+ return reinterpret_cast<const GrPipeline*>(fPipelineStorage.get());
+ }
+
virtual void computePipelineOptimizations(GrInitInvariantOutput* color,
GrInitInvariantOutput* coverage,
GrBatchToXPOverrides* overrides) const = 0;