Commit 640a12be authored by Michael Ludwig's avatar Michael Ludwig Committed by Commit Bot

SkiaRenderer: Add const modifiers to support functions

Just a minor clean up to some of the internal drawing/prep functions
that don't actually modify SkiaRenderer itself.

CalculateRPDQParams cannot be const because it needs to create
ScopedSkImageBuilders, which don't work with const SkiaRenderer*'s.

Bug: 1013735
Change-Id: Ic3bddd6cea28dfaf4b977ebef77e1ced4eea6089
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1863629
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: default avatarweiliangc <weiliangc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#712669}
parent 9ca028a9
...@@ -1253,7 +1253,7 @@ SkiaRenderer::DrawQuadParams SkiaRenderer::CalculateDrawQuadParams( ...@@ -1253,7 +1253,7 @@ SkiaRenderer::DrawQuadParams SkiaRenderer::CalculateDrawQuadParams(
const gfx::Transform& target_to_device, const gfx::Transform& target_to_device,
const gfx::Rect* scissor_rect, const gfx::Rect* scissor_rect,
const DrawQuad* quad, const DrawQuad* quad,
const gfx::QuadF* draw_region) { const gfx::QuadF* draw_region) const {
DrawQuadParams params( DrawQuadParams params(
target_to_device * quad->shared_quad_state->quad_to_target_transform, target_to_device * quad->shared_quad_state->quad_to_target_transform,
gfx::RectF(quad->visible_rect), SkCanvas::kNone_QuadAAFlags, gfx::RectF(quad->visible_rect), SkCanvas::kNone_QuadAAFlags,
...@@ -1392,7 +1392,7 @@ const DrawQuad* SkiaRenderer::CanPassBeDrawnDirectly(const RenderPass* pass) { ...@@ -1392,7 +1392,7 @@ const DrawQuad* SkiaRenderer::CanPassBeDrawnDirectly(const RenderPass* pass) {
SkiaRenderer::BypassMode SkiaRenderer::CalculateBypassParams( SkiaRenderer::BypassMode SkiaRenderer::CalculateBypassParams(
const DrawQuad* bypass_quad, const DrawQuad* bypass_quad,
DrawRPDQParams* rpdq_params, DrawRPDQParams* rpdq_params,
DrawQuadParams* params) { DrawQuadParams* params) const {
// Depending on bypass_quad's blend mode, its content may be irrelevant // Depending on bypass_quad's blend mode, its content may be irrelevant
if (RenderPassRemainsTransparent( if (RenderPassRemainsTransparent(
bypass_quad->shared_quad_state->blend_mode)) { bypass_quad->shared_quad_state->blend_mode)) {
...@@ -1469,9 +1469,10 @@ SkiaRenderer::BypassMode SkiaRenderer::CalculateBypassParams( ...@@ -1469,9 +1469,10 @@ SkiaRenderer::BypassMode SkiaRenderer::CalculateBypassParams(
return BypassMode::kDrawBypassQuad; return BypassMode::kDrawBypassQuad;
} }
SkCanvas::ImageSetEntry SkiaRenderer::MakeEntry(const SkImage* image, SkCanvas::ImageSetEntry SkiaRenderer::MakeEntry(
const SkImage* image,
int matrix_index, int matrix_index,
const DrawQuadParams& params) { const DrawQuadParams& params) const {
return SkCanvas::ImageSetEntry( return SkCanvas::ImageSetEntry(
{sk_ref_sp(image), gfx::RectFToSkRect(params.vis_tex_coords), {sk_ref_sp(image), gfx::RectFToSkRect(params.vis_tex_coords),
gfx::RectFToSkRect(params.visible_rect), matrix_index, params.opacity, gfx::RectFToSkRect(params.visible_rect), matrix_index, params.opacity,
...@@ -1481,7 +1482,7 @@ SkCanvas::ImageSetEntry SkiaRenderer::MakeEntry(const SkImage* image, ...@@ -1481,7 +1482,7 @@ SkCanvas::ImageSetEntry SkiaRenderer::MakeEntry(const SkImage* image,
SkCanvas::SrcRectConstraint SkiaRenderer::ResolveTextureConstraints( SkCanvas::SrcRectConstraint SkiaRenderer::ResolveTextureConstraints(
const SkImage* image, const SkImage* image,
const gfx::RectF& valid_texel_bounds, const gfx::RectF& valid_texel_bounds,
DrawQuadParams* params) { DrawQuadParams* params) const {
if (params->aa_flags == SkCanvas::kNone_QuadAAFlags && if (params->aa_flags == SkCanvas::kNone_QuadAAFlags &&
params->filter_quality == kNone_SkFilterQuality) { params->filter_quality == kNone_SkFilterQuality) {
// Non-AA and no bilinear filtering so rendering won't filter outside the // Non-AA and no bilinear filtering so rendering won't filter outside the
...@@ -1523,7 +1524,7 @@ SkCanvas::SrcRectConstraint SkiaRenderer::ResolveTextureConstraints( ...@@ -1523,7 +1524,7 @@ SkCanvas::SrcRectConstraint SkiaRenderer::ResolveTextureConstraints(
bool SkiaRenderer::MustFlushBatchedQuads(const DrawQuad* new_quad, bool SkiaRenderer::MustFlushBatchedQuads(const DrawQuad* new_quad,
const DrawRPDQParams* rpdq_params, const DrawRPDQParams* rpdq_params,
const DrawQuadParams& params) { const DrawQuadParams& params) const {
if (batched_quads_.empty()) if (batched_quads_.empty())
return false; return false;
......
...@@ -127,28 +127,28 @@ class VIZ_SERVICE_EXPORT SkiaRenderer : public DirectRenderer { ...@@ -127,28 +127,28 @@ class VIZ_SERVICE_EXPORT SkiaRenderer : public DirectRenderer {
DrawQuadParams CalculateDrawQuadParams(const gfx::Transform& target_to_device, DrawQuadParams CalculateDrawQuadParams(const gfx::Transform& target_to_device,
const gfx::Rect* scissor_rect, const gfx::Rect* scissor_rect,
const DrawQuad* quad, const DrawQuad* quad,
const gfx::QuadF* draw_region); const gfx::QuadF* draw_region) const;
DrawRPDQParams CalculateRPDQParams(const RenderPassDrawQuad* quad, DrawRPDQParams CalculateRPDQParams(const RenderPassDrawQuad* quad,
DrawQuadParams* params); DrawQuadParams* params);
// Modifies |params| and |rpdq_params| to apply correctly when drawing the // Modifies |params| and |rpdq_params| to apply correctly when drawing the
// RenderPass directly via |bypass_quad|. // RenderPass directly via |bypass_quad|.
BypassMode CalculateBypassParams(const DrawQuad* bypass_quad, BypassMode CalculateBypassParams(const DrawQuad* bypass_quad,
DrawRPDQParams* rpdq_params, DrawRPDQParams* rpdq_params,
DrawQuadParams* params); DrawQuadParams* params) const;
SkCanvas::ImageSetEntry MakeEntry(const SkImage* image, SkCanvas::ImageSetEntry MakeEntry(const SkImage* image,
int matrix_index, int matrix_index,
const DrawQuadParams& params); const DrawQuadParams& params) const;
// Returns overall constraint to pass to Skia, and modifies |params| to // Returns overall constraint to pass to Skia, and modifies |params| to
// emulate content area clamping different from the provided texture coords. // emulate content area clamping different from the provided texture coords.
SkCanvas::SrcRectConstraint ResolveTextureConstraints( SkCanvas::SrcRectConstraint ResolveTextureConstraints(
const SkImage* image, const SkImage* image,
const gfx::RectF& valid_texel_bounds, const gfx::RectF& valid_texel_bounds,
DrawQuadParams* params); DrawQuadParams* params) const;
bool MustFlushBatchedQuads(const DrawQuad* new_quad, bool MustFlushBatchedQuads(const DrawQuad* new_quad,
const DrawRPDQParams* rpdq_params, const DrawRPDQParams* rpdq_params,
const DrawQuadParams& params); const DrawQuadParams& params) const;
void AddQuadToBatch(const SkImage* image, void AddQuadToBatch(const SkImage* image,
const gfx::RectF& valid_texel_bounds, const gfx::RectF& valid_texel_bounds,
DrawQuadParams* params); DrawQuadParams* params);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment