Merge "Standardize the surface origin for each HWUI pipeline."
This commit is contained in:
committed by
Android (Google) Code Review
commit
caa8cc64c2
@@ -96,7 +96,7 @@ bool SkiaOpenGLPipeline::draw(const Frame& frame, const SkRect& screenDirty, con
|
||||
|
||||
SkASSERT(mRenderThread.getGrContext() != nullptr);
|
||||
sk_sp<SkSurface> surface(SkSurface::MakeFromBackendRenderTarget(
|
||||
mRenderThread.getGrContext(), backendRT, kBottomLeft_GrSurfaceOrigin, colorType,
|
||||
mRenderThread.getGrContext(), backendRT, this->getSurfaceOrigin(), colorType,
|
||||
mSurfaceColorSpace, &props));
|
||||
|
||||
SkiaPipeline::updateLighting(lightGeometry, lightInfo);
|
||||
|
||||
@@ -39,6 +39,7 @@ public:
|
||||
const Rect& contentDrawBounds, bool opaque, const LightInfo& lightInfo,
|
||||
const std::vector<sp<RenderNode> >& renderNodes,
|
||||
FrameInfoVisualizer* profiler) override;
|
||||
GrSurfaceOrigin getSurfaceOrigin() override { return kBottomLeft_GrSurfaceOrigin; }
|
||||
bool swapBuffers(const renderthread::Frame& frame, bool drew, const SkRect& screenDirty,
|
||||
FrameInfo* currentFrameInfo, bool* requireSwap) override;
|
||||
DeferredLayerUpdater* createTextureLayer() override;
|
||||
|
||||
@@ -174,7 +174,8 @@ bool SkiaPipeline::createOrUpdateLayer(RenderNode* node, const DamageAccumulator
|
||||
SkSurfaceProps props(0, kUnknown_SkPixelGeometry);
|
||||
SkASSERT(mRenderThread.getGrContext() != nullptr);
|
||||
node->setLayerSurface(SkSurface::MakeRenderTarget(mRenderThread.getGrContext(),
|
||||
SkBudgeted::kYes, info, 0, &props));
|
||||
SkBudgeted::kYes, info, 0,
|
||||
this->getSurfaceOrigin(), &props));
|
||||
if (node->getLayerSurface()) {
|
||||
// update the transform in window of the layer to reset its origin wrt light source
|
||||
// position
|
||||
|
||||
@@ -48,7 +48,7 @@ public:
|
||||
bool createOrUpdateLayer(RenderNode* node, const DamageAccumulator& damageAccumulator,
|
||||
ErrorHandler* errorHandler) override;
|
||||
|
||||
SkColorType getSurfaceColorType() const { return mSurfaceColorType; }
|
||||
SkColorType getSurfaceColorType() const override { return mSurfaceColorType; }
|
||||
sk_sp<SkColorSpace> getSurfaceColorSpace() override { return mSurfaceColorSpace; }
|
||||
|
||||
void renderFrame(const LayerUpdateQueue& layers, const SkRect& clip,
|
||||
|
||||
@@ -35,6 +35,7 @@ public:
|
||||
const Rect& contentDrawBounds, bool opaque, const LightInfo& lightInfo,
|
||||
const std::vector<sp<RenderNode> >& renderNodes,
|
||||
FrameInfoVisualizer* profiler) override;
|
||||
GrSurfaceOrigin getSurfaceOrigin() override { return kTopLeft_GrSurfaceOrigin; }
|
||||
bool swapBuffers(const renderthread::Frame& frame, bool drew, const SkRect& screenDirty,
|
||||
FrameInfo* currentFrameInfo, bool* requireSwap) override;
|
||||
DeferredLayerUpdater* createTextureLayer() override;
|
||||
|
||||
@@ -84,6 +84,7 @@ public:
|
||||
virtual void onPrepareTree() = 0;
|
||||
virtual SkColorType getSurfaceColorType() const = 0;
|
||||
virtual sk_sp<SkColorSpace> getSurfaceColorSpace() = 0;
|
||||
virtual GrSurfaceOrigin getSurfaceOrigin() = 0;
|
||||
|
||||
virtual ~IRenderPipeline() {}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user