Combine mask texture parameters into single gfx::RectF
This folds the 4 floats together into a single parameter to be slightly easier to manage, but doesn't change the logic. BUG= Review URL: https://chromiumcodereview.appspot.com/11543013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172825 0039d316-1c4b-4281-b951-d872f2087c98
This commit is contained in:
@ -81,7 +81,7 @@ static void addRenderPassQuad(TestRenderPass* toPass, TestRenderPass* contributi
|
|||||||
SharedQuadState* sharedState = quadSink.useSharedQuadState(SharedQuadState::Create());
|
SharedQuadState* sharedState = quadSink.useSharedQuadState(SharedQuadState::Create());
|
||||||
sharedState->SetAll(gfx::Transform(), outputRect, outputRect, outputRect, false, 1);
|
sharedState->SetAll(gfx::Transform(), outputRect, outputRect, outputRect, false, 1);
|
||||||
scoped_ptr<RenderPassDrawQuad> quad = RenderPassDrawQuad::Create();
|
scoped_ptr<RenderPassDrawQuad> quad = RenderPassDrawQuad::Create();
|
||||||
quad->SetNew(sharedState, outputRect, contributingPass->id, false, 0, outputRect, 0, 0, 0, 0);
|
quad->SetNew(sharedState, outputRect, contributingPass->id, false, 0, outputRect, gfx::RectF());
|
||||||
quadSink.append(quad.PassAs<DrawQuad>(), data);
|
quadSink.append(quad.PassAs<DrawQuad>(), data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -156,6 +156,18 @@ void compareDrawQuad(DrawQuad* quad, DrawQuad* copy, SharedQuadState* copyShared
|
|||||||
quadAll->SetAll(sharedState.get(), quadRect, quadOpaqueRect, quadVisibleRect, needsBlending, a, b, c, d, e); } \
|
quadAll->SetAll(sharedState.get(), quadRect, quadOpaqueRect, quadVisibleRect, needsBlending, a, b, c, d, e); } \
|
||||||
SETUP_AND_COPY_QUAD_ALL(Type, quadAll);
|
SETUP_AND_COPY_QUAD_ALL(Type, quadAll);
|
||||||
|
|
||||||
|
#define CREATE_QUAD_5_NEW_1(Type, a, b, c, d, e, copyA) \
|
||||||
|
scoped_ptr<Type> quadNew(Type::Create()); \
|
||||||
|
{ QUAD_DATA \
|
||||||
|
quadNew->SetNew(sharedState.get(), quadRect, a, b, c, d, e); } \
|
||||||
|
SETUP_AND_COPY_QUAD_NEW_1(Type, quadNew, copyA);
|
||||||
|
|
||||||
|
#define CREATE_QUAD_5_ALL_1(Type, a, b, c, d, e, copyA) \
|
||||||
|
scoped_ptr<Type> quadAll(Type::Create()); \
|
||||||
|
{ QUAD_DATA \
|
||||||
|
quadAll->SetAll(sharedState.get(), quadRect, quadOpaqueRect, quadVisibleRect, needsBlending, a, b, c, d, e); } \
|
||||||
|
SETUP_AND_COPY_QUAD_ALL_1(Type, quadAll, copyA);
|
||||||
|
|
||||||
#define CREATE_QUAD_6_NEW(Type, a, b, c, d, e, f) \
|
#define CREATE_QUAD_6_NEW(Type, a, b, c, d, e, f) \
|
||||||
scoped_ptr<Type> quadNew(Type::Create()); \
|
scoped_ptr<Type> quadNew(Type::Create()); \
|
||||||
{ QUAD_DATA \
|
{ QUAD_DATA \
|
||||||
@ -192,18 +204,6 @@ void compareDrawQuad(DrawQuad* quad, DrawQuad* copy, SharedQuadState* copyShared
|
|||||||
quadAll->SetAll(sharedState.get(), quadRect, quadOpaqueRect, quadVisibleRect, needsBlending, a, b, c, d, e, f, g, h); } \
|
quadAll->SetAll(sharedState.get(), quadRect, quadOpaqueRect, quadVisibleRect, needsBlending, a, b, c, d, e, f, g, h); } \
|
||||||
SETUP_AND_COPY_QUAD_ALL(Type, quadAll);
|
SETUP_AND_COPY_QUAD_ALL(Type, quadAll);
|
||||||
|
|
||||||
#define CREATE_QUAD_8_NEW_1(Type, a, b, c, d, e, f, g, h, copyA) \
|
|
||||||
scoped_ptr<Type> quadNew(Type::Create()); \
|
|
||||||
{ QUAD_DATA \
|
|
||||||
quadNew->SetNew(sharedState.get(), quadRect, a, b, c, d, e, f, g, h); } \
|
|
||||||
SETUP_AND_COPY_QUAD_NEW_1(Type, quadNew, copyA);
|
|
||||||
|
|
||||||
#define CREATE_QUAD_8_ALL_1(Type, a, b, c, d, e, f, g, h, copyA) \
|
|
||||||
scoped_ptr<Type> quadAll(Type::Create()); \
|
|
||||||
{ QUAD_DATA \
|
|
||||||
quadAll->SetAll(sharedState.get(), quadRect, quadOpaqueRect, quadVisibleRect, needsBlending, a, b, c, d, e, f, g, h); } \
|
|
||||||
SETUP_AND_COPY_QUAD_ALL_1(Type, quadAll, copyA);
|
|
||||||
|
|
||||||
#define CREATE_QUAD_9_NEW(Type, a, b, c, d, e, f, g, h, i) \
|
#define CREATE_QUAD_9_NEW(Type, a, b, c, d, e, f, g, h, i) \
|
||||||
scoped_ptr<Type> quadNew(Type::Create()); \
|
scoped_ptr<Type> quadNew(Type::Create()); \
|
||||||
{ QUAD_DATA \
|
{ QUAD_DATA \
|
||||||
@ -275,35 +275,26 @@ TEST(DrawQuadTest, copyRenderPassDrawQuad)
|
|||||||
bool isReplica = true;
|
bool isReplica = true;
|
||||||
ResourceProvider::ResourceId maskResourceId = 78;
|
ResourceProvider::ResourceId maskResourceId = 78;
|
||||||
gfx::Rect contentsChangedSinceLastFrame(42, 11, 74, 24);
|
gfx::Rect contentsChangedSinceLastFrame(42, 11, 74, 24);
|
||||||
float maskTexCoordScaleX = 33;
|
gfx::RectF maskUVRect(-45, -21, 33, 19);
|
||||||
float maskTexCoordScaleY = 19;
|
|
||||||
float maskTexCoordOffsetX = -45;
|
|
||||||
float maskTexCoordOffsetY = -21;
|
|
||||||
|
|
||||||
RenderPass::Id copiedRenderPassId(235, 11);
|
RenderPass::Id copiedRenderPassId(235, 11);
|
||||||
CREATE_SHARED_STATE();
|
CREATE_SHARED_STATE();
|
||||||
|
|
||||||
CREATE_QUAD_8_NEW_1(RenderPassDrawQuad, renderPassId, isReplica, maskResourceId, contentsChangedSinceLastFrame, maskTexCoordScaleX, maskTexCoordScaleY, maskTexCoordOffsetX, maskTexCoordOffsetY, copiedRenderPassId);
|
CREATE_QUAD_5_NEW_1(RenderPassDrawQuad, renderPassId, isReplica, maskResourceId, contentsChangedSinceLastFrame, maskUVRect, copiedRenderPassId);
|
||||||
EXPECT_EQ(DrawQuad::RENDER_PASS, copyQuad->material);
|
EXPECT_EQ(DrawQuad::RENDER_PASS, copyQuad->material);
|
||||||
EXPECT_EQ(copiedRenderPassId, copyQuad->render_pass_id);
|
EXPECT_EQ(copiedRenderPassId, copyQuad->render_pass_id);
|
||||||
EXPECT_EQ(isReplica, copyQuad->is_replica);
|
EXPECT_EQ(isReplica, copyQuad->is_replica);
|
||||||
EXPECT_EQ(maskResourceId, copyQuad->mask_resource_id);
|
EXPECT_EQ(maskResourceId, copyQuad->mask_resource_id);
|
||||||
EXPECT_RECT_EQ(contentsChangedSinceLastFrame, copyQuad->contents_changed_since_last_frame);
|
EXPECT_RECT_EQ(contentsChangedSinceLastFrame, copyQuad->contents_changed_since_last_frame);
|
||||||
EXPECT_EQ(maskTexCoordScaleX, copyQuad->mask_tex_coord_scale_x);
|
EXPECT_EQ(maskUVRect.ToString(), copyQuad->mask_uv_rect.ToString());
|
||||||
EXPECT_EQ(maskTexCoordScaleY, copyQuad->mask_tex_coord_scale_y);
|
|
||||||
EXPECT_EQ(maskTexCoordOffsetX, copyQuad->mask_tex_coord_offset_x);
|
|
||||||
EXPECT_EQ(maskTexCoordOffsetY, copyQuad->mask_tex_coord_offset_y);
|
|
||||||
|
|
||||||
CREATE_QUAD_8_ALL_1(RenderPassDrawQuad, renderPassId, isReplica, maskResourceId, contentsChangedSinceLastFrame, maskTexCoordScaleX, maskTexCoordScaleY, maskTexCoordOffsetX, maskTexCoordOffsetY, copiedRenderPassId);
|
CREATE_QUAD_5_ALL_1(RenderPassDrawQuad, renderPassId, isReplica, maskResourceId, contentsChangedSinceLastFrame, maskUVRect, copiedRenderPassId);
|
||||||
EXPECT_EQ(DrawQuad::RENDER_PASS, copyQuad->material);
|
EXPECT_EQ(DrawQuad::RENDER_PASS, copyQuad->material);
|
||||||
EXPECT_EQ(copiedRenderPassId, copyQuad->render_pass_id);
|
EXPECT_EQ(copiedRenderPassId, copyQuad->render_pass_id);
|
||||||
EXPECT_EQ(isReplica, copyQuad->is_replica);
|
EXPECT_EQ(isReplica, copyQuad->is_replica);
|
||||||
EXPECT_EQ(maskResourceId, copyQuad->mask_resource_id);
|
EXPECT_EQ(maskResourceId, copyQuad->mask_resource_id);
|
||||||
EXPECT_RECT_EQ(contentsChangedSinceLastFrame, copyQuad->contents_changed_since_last_frame);
|
EXPECT_RECT_EQ(contentsChangedSinceLastFrame, copyQuad->contents_changed_since_last_frame);
|
||||||
EXPECT_EQ(maskTexCoordScaleX, copyQuad->mask_tex_coord_scale_x);
|
EXPECT_EQ(maskUVRect.ToString(), copyQuad->mask_uv_rect.ToString());
|
||||||
EXPECT_EQ(maskTexCoordScaleY, copyQuad->mask_tex_coord_scale_y);
|
|
||||||
EXPECT_EQ(maskTexCoordOffsetX, copyQuad->mask_tex_coord_offset_x);
|
|
||||||
EXPECT_EQ(maskTexCoordOffsetY, copyQuad->mask_tex_coord_offset_y);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(DrawQuadTest, copySolidColorDrawQuad)
|
TEST(DrawQuadTest, copySolidColorDrawQuad)
|
||||||
|
@ -628,8 +628,8 @@ void GLRenderer::drawRenderPassQuad(DrawingFrame& frame, const RenderPassDrawQua
|
|||||||
DCHECK(shaderMaskTexCoordOffsetLocation != 1);
|
DCHECK(shaderMaskTexCoordOffsetLocation != 1);
|
||||||
GLC(context(), context()->activeTexture(GL_TEXTURE1));
|
GLC(context(), context()->activeTexture(GL_TEXTURE1));
|
||||||
GLC(context(), context()->uniform1i(shaderMaskSamplerLocation, 1));
|
GLC(context(), context()->uniform1i(shaderMaskSamplerLocation, 1));
|
||||||
GLC(context(), context()->uniform2f(shaderMaskTexCoordScaleLocation, quad->mask_tex_coord_scale_x, quad->mask_tex_coord_scale_y));
|
GLC(context(), context()->uniform2f(shaderMaskTexCoordOffsetLocation, quad->mask_uv_rect.x(), quad->mask_uv_rect.y()));
|
||||||
GLC(context(), context()->uniform2f(shaderMaskTexCoordOffsetLocation, quad->mask_tex_coord_offset_x, quad->mask_tex_coord_offset_y));
|
GLC(context(), context()->uniform2f(shaderMaskTexCoordScaleLocation, quad->mask_uv_rect.width(), quad->mask_uv_rect.height()));
|
||||||
m_resourceProvider->bindForSampling(quad->mask_resource_id, GL_TEXTURE_2D, GL_LINEAR);
|
m_resourceProvider->bindForSampling(quad->mask_resource_id, GL_TEXTURE_2D, GL_LINEAR);
|
||||||
GLC(context(), context()->activeTexture(GL_TEXTURE0));
|
GLC(context(), context()->activeTexture(GL_TEXTURE0));
|
||||||
}
|
}
|
||||||
|
@ -4319,7 +4319,7 @@ static void configureRenderPassTestData(const char* testScript, RenderPassRemova
|
|||||||
gfx::Rect quadRect = gfx::Rect(0, 0, 1, 1);
|
gfx::Rect quadRect = gfx::Rect(0, 0, 1, 1);
|
||||||
gfx::Rect contentsChangedRect = contentsChanged ? quadRect : gfx::Rect();
|
gfx::Rect contentsChangedRect = contentsChanged ? quadRect : gfx::Rect();
|
||||||
scoped_ptr<RenderPassDrawQuad> quad = RenderPassDrawQuad::Create();
|
scoped_ptr<RenderPassDrawQuad> quad = RenderPassDrawQuad::Create();
|
||||||
quad->SetNew(testData.sharedQuadState.get(), quadRect, newRenderPassId, isReplica, 1, contentsChangedRect, 1, 1, 0, 0);
|
quad->SetNew(testData.sharedQuadState.get(), quadRect, newRenderPassId, isReplica, 1, contentsChangedRect, gfx::RectF(0, 0, 1, 1));
|
||||||
renderPass->AppendQuad(quad.PassAs<DrawQuad>());
|
renderPass->AppendQuad(quad.PassAs<DrawQuad>());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,11 +9,7 @@ namespace cc {
|
|||||||
RenderPassDrawQuad::RenderPassDrawQuad()
|
RenderPassDrawQuad::RenderPassDrawQuad()
|
||||||
: render_pass_id(RenderPass::Id(-1, -1)),
|
: render_pass_id(RenderPass::Id(-1, -1)),
|
||||||
is_replica(false),
|
is_replica(false),
|
||||||
mask_resource_id(-1),
|
mask_resource_id(-1) {
|
||||||
mask_tex_coord_scale_x(0),
|
|
||||||
mask_tex_coord_scale_y(0),
|
|
||||||
mask_tex_coord_offset_x(0),
|
|
||||||
mask_tex_coord_offset_y(0) {
|
|
||||||
}
|
}
|
||||||
|
|
||||||
scoped_ptr<RenderPassDrawQuad> RenderPassDrawQuad::Create() {
|
scoped_ptr<RenderPassDrawQuad> RenderPassDrawQuad::Create() {
|
||||||
@ -35,10 +31,7 @@ void RenderPassDrawQuad::SetNew(const SharedQuadState* shared_quad_state,
|
|||||||
bool is_replica,
|
bool is_replica,
|
||||||
ResourceProvider::ResourceId mask_resource_id,
|
ResourceProvider::ResourceId mask_resource_id,
|
||||||
gfx::Rect contents_changed_since_last_frame,
|
gfx::Rect contents_changed_since_last_frame,
|
||||||
float mask_tex_coord_scale_x,
|
gfx::RectF mask_uv_rect) {
|
||||||
float mask_tex_coord_scale_y,
|
|
||||||
float mask_tex_coord_offset_x,
|
|
||||||
float mask_tex_coord_offset_y) {
|
|
||||||
DCHECK(render_pass_id.layer_id > 0);
|
DCHECK(render_pass_id.layer_id > 0);
|
||||||
DCHECK(render_pass_id.index >= 0);
|
DCHECK(render_pass_id.index >= 0);
|
||||||
|
|
||||||
@ -51,10 +44,7 @@ void RenderPassDrawQuad::SetNew(const SharedQuadState* shared_quad_state,
|
|||||||
this->is_replica = is_replica;
|
this->is_replica = is_replica;
|
||||||
this->mask_resource_id = mask_resource_id;
|
this->mask_resource_id = mask_resource_id;
|
||||||
this->contents_changed_since_last_frame = contents_changed_since_last_frame;
|
this->contents_changed_since_last_frame = contents_changed_since_last_frame;
|
||||||
this->mask_tex_coord_scale_x = mask_tex_coord_scale_x;
|
this->mask_uv_rect = mask_uv_rect;
|
||||||
this->mask_tex_coord_scale_y = mask_tex_coord_scale_y;
|
|
||||||
this->mask_tex_coord_offset_x = mask_tex_coord_offset_x;
|
|
||||||
this->mask_tex_coord_offset_y = mask_tex_coord_offset_y;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RenderPassDrawQuad::SetAll(const SharedQuadState* shared_quad_state,
|
void RenderPassDrawQuad::SetAll(const SharedQuadState* shared_quad_state,
|
||||||
@ -66,10 +56,7 @@ void RenderPassDrawQuad::SetAll(const SharedQuadState* shared_quad_state,
|
|||||||
bool is_replica,
|
bool is_replica,
|
||||||
ResourceProvider::ResourceId mask_resource_id,
|
ResourceProvider::ResourceId mask_resource_id,
|
||||||
gfx::Rect contents_changed_since_last_frame,
|
gfx::Rect contents_changed_since_last_frame,
|
||||||
float mask_tex_coord_scale_x,
|
gfx::RectF mask_uv_rect) {
|
||||||
float mask_tex_coord_scale_y,
|
|
||||||
float mask_tex_coord_offset_x,
|
|
||||||
float mask_tex_coord_offset_y) {
|
|
||||||
DCHECK(render_pass_id.layer_id > 0);
|
DCHECK(render_pass_id.layer_id > 0);
|
||||||
DCHECK(render_pass_id.index >= 0);
|
DCHECK(render_pass_id.index >= 0);
|
||||||
|
|
||||||
@ -79,10 +66,7 @@ void RenderPassDrawQuad::SetAll(const SharedQuadState* shared_quad_state,
|
|||||||
this->is_replica = is_replica;
|
this->is_replica = is_replica;
|
||||||
this->mask_resource_id = mask_resource_id;
|
this->mask_resource_id = mask_resource_id;
|
||||||
this->contents_changed_since_last_frame = contents_changed_since_last_frame;
|
this->contents_changed_since_last_frame = contents_changed_since_last_frame;
|
||||||
this->mask_tex_coord_scale_x = mask_tex_coord_scale_x;
|
this->mask_uv_rect = mask_uv_rect;
|
||||||
this->mask_tex_coord_scale_y = mask_tex_coord_scale_y;
|
|
||||||
this->mask_tex_coord_offset_x = mask_tex_coord_offset_x;
|
|
||||||
this->mask_tex_coord_offset_y = mask_tex_coord_offset_y;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const RenderPassDrawQuad* RenderPassDrawQuad::MaterialCast(
|
const RenderPassDrawQuad* RenderPassDrawQuad::MaterialCast(
|
||||||
|
@ -24,10 +24,7 @@ class CC_EXPORT RenderPassDrawQuad : public DrawQuad {
|
|||||||
bool is_replica,
|
bool is_replica,
|
||||||
ResourceProvider::ResourceId mask_resource_id,
|
ResourceProvider::ResourceId mask_resource_id,
|
||||||
gfx::Rect contents_changed_since_last_frame,
|
gfx::Rect contents_changed_since_last_frame,
|
||||||
float mask_tex_coord_scale_x,
|
gfx::RectF mask_uv_rect);
|
||||||
float mask_tex_coord_scale_y,
|
|
||||||
float mask_tex_coord_offset_x,
|
|
||||||
float mask_tex_coord_offset_y);
|
|
||||||
|
|
||||||
void SetAll(const SharedQuadState* shared_quad_state,
|
void SetAll(const SharedQuadState* shared_quad_state,
|
||||||
gfx::Rect rect,
|
gfx::Rect rect,
|
||||||
@ -38,10 +35,7 @@ class CC_EXPORT RenderPassDrawQuad : public DrawQuad {
|
|||||||
bool is_replica,
|
bool is_replica,
|
||||||
ResourceProvider::ResourceId mask_resource_id,
|
ResourceProvider::ResourceId mask_resource_id,
|
||||||
gfx::Rect contents_changed_since_last_frame,
|
gfx::Rect contents_changed_since_last_frame,
|
||||||
float mask_tex_coord_scale_x,
|
gfx::RectF mask_uv_rect);
|
||||||
float mask_tex_coord_scale_y,
|
|
||||||
float mask_tex_coord_offset_x,
|
|
||||||
float mask_tex_coord_offset_y);
|
|
||||||
|
|
||||||
scoped_ptr<RenderPassDrawQuad> Copy(
|
scoped_ptr<RenderPassDrawQuad> Copy(
|
||||||
const SharedQuadState* copied_shared_quad_state,
|
const SharedQuadState* copied_shared_quad_state,
|
||||||
@ -51,11 +45,7 @@ class CC_EXPORT RenderPassDrawQuad : public DrawQuad {
|
|||||||
bool is_replica;
|
bool is_replica;
|
||||||
ResourceProvider::ResourceId mask_resource_id;
|
ResourceProvider::ResourceId mask_resource_id;
|
||||||
gfx::Rect contents_changed_since_last_frame;
|
gfx::Rect contents_changed_since_last_frame;
|
||||||
// TODO(danakj): Make these a tex_coord_rect like TileDrawQuad.
|
gfx::RectF mask_uv_rect;
|
||||||
float mask_tex_coord_scale_x;
|
|
||||||
float mask_tex_coord_scale_y;
|
|
||||||
float mask_tex_coord_offset_x;
|
|
||||||
float mask_tex_coord_offset_y;
|
|
||||||
|
|
||||||
static const RenderPassDrawQuad* MaterialCast(const DrawQuad*);
|
static const RenderPassDrawQuad* MaterialCast(const DrawQuad*);
|
||||||
private:
|
private:
|
||||||
|
@ -225,23 +225,22 @@ void RenderSurfaceImpl::appendQuads(QuadSink& quadSink, AppendQuadsData& appendQ
|
|||||||
maskLayer = 0;
|
maskLayer = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
float maskTexCoordScaleX = 1;
|
gfx::RectF maskUVRect(0.0f, 0.0f, 1.0f, 1.0f);
|
||||||
float maskTexCoordScaleY = 1;
|
|
||||||
float maskTexCoordOffsetX = 0;
|
|
||||||
float maskTexCoordOffsetY = 0;
|
|
||||||
if (maskLayer) {
|
if (maskLayer) {
|
||||||
maskTexCoordScaleX = contentRect().width() / maskLayer->contentsScaleX() / maskLayer->bounds().width();
|
float scaleX = contentRect().width() / maskLayer->contentsScaleX() / maskLayer->bounds().width();
|
||||||
maskTexCoordScaleY = contentRect().height() / maskLayer->contentsScaleY() / maskLayer->bounds().height();
|
float scaleY = contentRect().height() / maskLayer->contentsScaleY() / maskLayer->bounds().height();
|
||||||
maskTexCoordOffsetX = static_cast<float>(contentRect().x()) / contentRect().width() * maskTexCoordScaleX;
|
|
||||||
maskTexCoordOffsetY = static_cast<float>(contentRect().y()) / contentRect().height() * maskTexCoordScaleY;
|
maskUVRect = gfx::RectF(static_cast<float>(contentRect().x()) / contentRect().width() * scaleX,
|
||||||
|
static_cast<float>(contentRect().y()) / contentRect().height() * scaleY,
|
||||||
|
scaleX,
|
||||||
|
scaleY);
|
||||||
}
|
}
|
||||||
|
|
||||||
ResourceProvider::ResourceId maskResourceId = maskLayer ? maskLayer->contentsResourceId() : 0;
|
ResourceProvider::ResourceId maskResourceId = maskLayer ? maskLayer->contentsResourceId() : 0;
|
||||||
gfx::Rect contentsChangedSinceLastFrame = contentsChanged() ? m_contentRect : gfx::Rect();
|
gfx::Rect contentsChangedSinceLastFrame = contentsChanged() ? m_contentRect : gfx::Rect();
|
||||||
|
|
||||||
scoped_ptr<RenderPassDrawQuad> quad = RenderPassDrawQuad::Create();
|
scoped_ptr<RenderPassDrawQuad> quad = RenderPassDrawQuad::Create();
|
||||||
quad->SetNew(sharedQuadState, contentRect(), renderPassId, forReplica, maskResourceId, contentsChangedSinceLastFrame,
|
quad->SetNew(sharedQuadState, contentRect(), renderPassId, forReplica, maskResourceId, contentsChangedSinceLastFrame, maskUVRect);
|
||||||
maskTexCoordScaleX, maskTexCoordScaleY, maskTexCoordOffsetX, maskTexCoordOffsetY);
|
|
||||||
quadSink.append(quad.PassAs<DrawQuad>(), appendQuadsData);
|
quadSink.append(quad.PassAs<DrawQuad>(), appendQuadsData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -321,10 +321,10 @@ void SoftwareRenderer::drawRenderPassQuad(const DrawingFrame& frame, const Rende
|
|||||||
const SkBitmap* mask = maskLock.skBitmap();
|
const SkBitmap* mask = maskLock.skBitmap();
|
||||||
|
|
||||||
SkRect maskRect = SkRect::MakeXYWH(
|
SkRect maskRect = SkRect::MakeXYWH(
|
||||||
quad->mask_tex_coord_offset_x * mask->width(),
|
quad->mask_uv_rect.x() * mask->width(),
|
||||||
quad->mask_tex_coord_offset_y * mask->height(),
|
quad->mask_uv_rect.y() * mask->height(),
|
||||||
quad->mask_tex_coord_scale_x * mask->width(),
|
quad->mask_uv_rect.width() * mask->width(),
|
||||||
quad->mask_tex_coord_scale_y * mask->height());
|
quad->mask_uv_rect.height() * mask->height());
|
||||||
|
|
||||||
SkMatrix maskMat;
|
SkMatrix maskMat;
|
||||||
maskMat.setRectToRect(maskRect, destRect, SkMatrix::kFill_ScaleToFit);
|
maskMat.setRectToRect(maskRect, destRect, SkMatrix::kFill_ScaleToFit);
|
||||||
|
@ -67,10 +67,7 @@ void TestRenderPass::AppendOneOfEveryQuadType(cc::ResourceProvider* resourceProv
|
|||||||
false,
|
false,
|
||||||
0,
|
0,
|
||||||
rect,
|
rect,
|
||||||
0,
|
gfx::RectF());
|
||||||
0,
|
|
||||||
0,
|
|
||||||
0);
|
|
||||||
AppendQuad(render_pass_quad.PassAs<DrawQuad>());
|
AppendQuad(render_pass_quad.PassAs<DrawQuad>());
|
||||||
|
|
||||||
scoped_ptr<cc::SolidColorDrawQuad> solid_color_quad =
|
scoped_ptr<cc::SolidColorDrawQuad> solid_color_quad =
|
||||||
|
@ -153,10 +153,7 @@ IPC_STRUCT_TRAITS_BEGIN(cc::RenderPassDrawQuad)
|
|||||||
IPC_STRUCT_TRAITS_MEMBER(is_replica)
|
IPC_STRUCT_TRAITS_MEMBER(is_replica)
|
||||||
IPC_STRUCT_TRAITS_MEMBER(mask_resource_id)
|
IPC_STRUCT_TRAITS_MEMBER(mask_resource_id)
|
||||||
IPC_STRUCT_TRAITS_MEMBER(contents_changed_since_last_frame)
|
IPC_STRUCT_TRAITS_MEMBER(contents_changed_since_last_frame)
|
||||||
IPC_STRUCT_TRAITS_MEMBER(mask_tex_coord_scale_x)
|
IPC_STRUCT_TRAITS_MEMBER(mask_uv_rect)
|
||||||
IPC_STRUCT_TRAITS_MEMBER(mask_tex_coord_scale_y)
|
|
||||||
IPC_STRUCT_TRAITS_MEMBER(mask_tex_coord_offset_x)
|
|
||||||
IPC_STRUCT_TRAITS_MEMBER(mask_tex_coord_offset_y)
|
|
||||||
IPC_STRUCT_TRAITS_END()
|
IPC_STRUCT_TRAITS_END()
|
||||||
|
|
||||||
IPC_STRUCT_TRAITS_BEGIN(cc::SolidColorDrawQuad)
|
IPC_STRUCT_TRAITS_BEGIN(cc::SolidColorDrawQuad)
|
||||||
|
@ -129,10 +129,7 @@ class CCMessagesTest : public testing::Test {
|
|||||||
EXPECT_EQ(a->mask_resource_id, b->mask_resource_id);
|
EXPECT_EQ(a->mask_resource_id, b->mask_resource_id);
|
||||||
EXPECT_EQ(a->contents_changed_since_last_frame,
|
EXPECT_EQ(a->contents_changed_since_last_frame,
|
||||||
b->contents_changed_since_last_frame);
|
b->contents_changed_since_last_frame);
|
||||||
EXPECT_EQ(a->mask_tex_coord_scale_x, b->mask_tex_coord_scale_x);
|
EXPECT_EQ(a->mask_uv_rect.ToString(), b->mask_uv_rect.ToString());
|
||||||
EXPECT_EQ(a->mask_tex_coord_scale_y, b->mask_tex_coord_scale_y);
|
|
||||||
EXPECT_EQ(a->mask_tex_coord_offset_x, b->mask_tex_coord_offset_x);
|
|
||||||
EXPECT_EQ(a->mask_tex_coord_offset_y, b->mask_tex_coord_offset_y);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Compare(const SolidColorDrawQuad* a, const SolidColorDrawQuad* b) {
|
void Compare(const SolidColorDrawQuad* a, const SolidColorDrawQuad* b) {
|
||||||
@ -202,7 +199,6 @@ TEST_F(CCMessagesTest, AllQuads) {
|
|||||||
float arbitrary_float1 = 0.7f;
|
float arbitrary_float1 = 0.7f;
|
||||||
float arbitrary_float2 = 0.3f;
|
float arbitrary_float2 = 0.3f;
|
||||||
float arbitrary_float3 = 0.9f;
|
float arbitrary_float3 = 0.9f;
|
||||||
float arbitrary_float4 = 0.1f;
|
|
||||||
bool arbitrary_bool1 = true;
|
bool arbitrary_bool1 = true;
|
||||||
bool arbitrary_bool2 = false;
|
bool arbitrary_bool2 = false;
|
||||||
int arbitrary_int = 5;
|
int arbitrary_int = 5;
|
||||||
@ -294,10 +290,7 @@ TEST_F(CCMessagesTest, AllQuads) {
|
|||||||
arbitrary_bool2,
|
arbitrary_bool2,
|
||||||
arbitrary_resourceid,
|
arbitrary_resourceid,
|
||||||
arbitrary_rect1,
|
arbitrary_rect1,
|
||||||
arbitrary_float1,
|
arbitrary_rectf1);
|
||||||
arbitrary_float2,
|
|
||||||
arbitrary_float3,
|
|
||||||
arbitrary_float4);
|
|
||||||
scoped_ptr<RenderPassDrawQuad> renderpass_cmp = renderpass_in->Copy(
|
scoped_ptr<RenderPassDrawQuad> renderpass_cmp = renderpass_in->Copy(
|
||||||
renderpass_in->shared_quad_state, renderpass_in->render_pass_id);
|
renderpass_in->shared_quad_state, renderpass_in->render_pass_id);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user