зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1205913 - Differentiate YCbCr, NV12 and RGB textures when drawing layer borders. r=nical
--HG-- extra : rebase_source : cc0245929183231291f6fbb49bb7270a0a1e58e4
This commit is contained in:
Родитель
c360842c46
Коммит
e0436217a8
|
@ -111,7 +111,13 @@ Compositor::DrawDiagnosticsInternal(DiagnosticFlags aFlags,
|
|||
color = gfx::Color(0.0f, 1.0f, 1.0f, 1.0f); // greenish blue
|
||||
}
|
||||
} else if (aFlags & DiagnosticFlags::IMAGE) {
|
||||
color = gfx::Color(1.0f, 0.0f, 0.0f, 1.0f); // red
|
||||
if (aFlags & DiagnosticFlags::NV12) {
|
||||
color = gfx::Color(1.0f, 1.0f, 0.0f, 1.0f); // yellow
|
||||
} else if (aFlags & DiagnosticFlags::YCBCR) {
|
||||
color = gfx::Color(1.0f, 0.55f, 0.0f, 1.0f); // orange
|
||||
} else {
|
||||
color = gfx::Color(1.0f, 0.0f, 0.0f, 1.0f); // red
|
||||
}
|
||||
} else if (aFlags & DiagnosticFlags::COLOR) {
|
||||
color = gfx::Color(0.0f, 0.0f, 1.0f, 1.0f); // blue
|
||||
} else if (aFlags & DiagnosticFlags::CONTAINER) {
|
||||
|
|
|
@ -107,7 +107,9 @@ enum class DiagnosticFlags : uint16_t {
|
|||
TILE = 1 << 5,
|
||||
BIGIMAGE = 1 << 6,
|
||||
COMPONENT_ALPHA = 1 << 7,
|
||||
REGION_RECT = 1 << 8
|
||||
REGION_RECT = 1 << 8,
|
||||
NV12 = 1 << 9,
|
||||
YCBCR = 1 << 10
|
||||
};
|
||||
MOZ_MAKE_ENUM_CLASS_BITWISE_OPERATORS(DiagnosticFlags)
|
||||
|
||||
|
|
|
@ -316,6 +316,13 @@ ImageHost::Composite(LayerComposite* aLayer,
|
|||
return;
|
||||
}
|
||||
|
||||
DiagnosticFlags diagnosticFlags = DiagnosticFlags::IMAGE;
|
||||
if (effect->mType == EffectTypes::NV12) {
|
||||
diagnosticFlags |= DiagnosticFlags::NV12;
|
||||
} else if (effect->mType == EffectTypes::YCBCR) {
|
||||
diagnosticFlags |= DiagnosticFlags::YCBCR;
|
||||
}
|
||||
|
||||
if (mLastFrameID != img->mFrameID || mLastProducerID != img->mProducerID) {
|
||||
if (mImageContainer) {
|
||||
aLayer->GetLayerManager()->
|
||||
|
@ -363,12 +370,12 @@ ImageHost::Composite(LayerComposite* aLayer,
|
|||
}
|
||||
GetCompositor()->DrawQuad(rect, aClipRect, aEffectChain,
|
||||
aOpacity, aTransform);
|
||||
GetCompositor()->DrawDiagnostics(DiagnosticFlags::IMAGE | DiagnosticFlags::BIGIMAGE,
|
||||
GetCompositor()->DrawDiagnostics(diagnosticFlags | DiagnosticFlags::BIGIMAGE,
|
||||
rect, aClipRect, aTransform, mFlashCounter);
|
||||
} while (it->NextTile());
|
||||
it->EndBigImageIteration();
|
||||
// layer border
|
||||
GetCompositor()->DrawDiagnostics(DiagnosticFlags::IMAGE, pictureRect,
|
||||
GetCompositor()->DrawDiagnostics(diagnosticFlags, pictureRect,
|
||||
aClipRect, aTransform, mFlashCounter);
|
||||
} else {
|
||||
IntSize textureSize = img->mTextureSource->GetSize();
|
||||
|
@ -384,7 +391,7 @@ ImageHost::Composite(LayerComposite* aLayer,
|
|||
|
||||
GetCompositor()->DrawQuad(pictureRect, aClipRect, aEffectChain,
|
||||
aOpacity, aTransform);
|
||||
GetCompositor()->DrawDiagnostics(DiagnosticFlags::IMAGE,
|
||||
GetCompositor()->DrawDiagnostics(diagnosticFlags,
|
||||
pictureRect, aClipRect,
|
||||
aTransform, mFlashCounter);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче