зеркало из 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
|
color = gfx::Color(0.0f, 1.0f, 1.0f, 1.0f); // greenish blue
|
||||||
}
|
}
|
||||||
} else if (aFlags & DiagnosticFlags::IMAGE) {
|
} 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) {
|
} else if (aFlags & DiagnosticFlags::COLOR) {
|
||||||
color = gfx::Color(0.0f, 0.0f, 1.0f, 1.0f); // blue
|
color = gfx::Color(0.0f, 0.0f, 1.0f, 1.0f); // blue
|
||||||
} else if (aFlags & DiagnosticFlags::CONTAINER) {
|
} else if (aFlags & DiagnosticFlags::CONTAINER) {
|
||||||
|
|
|
@ -107,7 +107,9 @@ enum class DiagnosticFlags : uint16_t {
|
||||||
TILE = 1 << 5,
|
TILE = 1 << 5,
|
||||||
BIGIMAGE = 1 << 6,
|
BIGIMAGE = 1 << 6,
|
||||||
COMPONENT_ALPHA = 1 << 7,
|
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)
|
MOZ_MAKE_ENUM_CLASS_BITWISE_OPERATORS(DiagnosticFlags)
|
||||||
|
|
||||||
|
|
|
@ -316,6 +316,13 @@ ImageHost::Composite(LayerComposite* aLayer,
|
||||||
return;
|
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 (mLastFrameID != img->mFrameID || mLastProducerID != img->mProducerID) {
|
||||||
if (mImageContainer) {
|
if (mImageContainer) {
|
||||||
aLayer->GetLayerManager()->
|
aLayer->GetLayerManager()->
|
||||||
|
@ -363,12 +370,12 @@ ImageHost::Composite(LayerComposite* aLayer,
|
||||||
}
|
}
|
||||||
GetCompositor()->DrawQuad(rect, aClipRect, aEffectChain,
|
GetCompositor()->DrawQuad(rect, aClipRect, aEffectChain,
|
||||||
aOpacity, aTransform);
|
aOpacity, aTransform);
|
||||||
GetCompositor()->DrawDiagnostics(DiagnosticFlags::IMAGE | DiagnosticFlags::BIGIMAGE,
|
GetCompositor()->DrawDiagnostics(diagnosticFlags | DiagnosticFlags::BIGIMAGE,
|
||||||
rect, aClipRect, aTransform, mFlashCounter);
|
rect, aClipRect, aTransform, mFlashCounter);
|
||||||
} while (it->NextTile());
|
} while (it->NextTile());
|
||||||
it->EndBigImageIteration();
|
it->EndBigImageIteration();
|
||||||
// layer border
|
// layer border
|
||||||
GetCompositor()->DrawDiagnostics(DiagnosticFlags::IMAGE, pictureRect,
|
GetCompositor()->DrawDiagnostics(diagnosticFlags, pictureRect,
|
||||||
aClipRect, aTransform, mFlashCounter);
|
aClipRect, aTransform, mFlashCounter);
|
||||||
} else {
|
} else {
|
||||||
IntSize textureSize = img->mTextureSource->GetSize();
|
IntSize textureSize = img->mTextureSource->GetSize();
|
||||||
|
@ -384,7 +391,7 @@ ImageHost::Composite(LayerComposite* aLayer,
|
||||||
|
|
||||||
GetCompositor()->DrawQuad(pictureRect, aClipRect, aEffectChain,
|
GetCompositor()->DrawQuad(pictureRect, aClipRect, aEffectChain,
|
||||||
aOpacity, aTransform);
|
aOpacity, aTransform);
|
||||||
GetCompositor()->DrawDiagnostics(DiagnosticFlags::IMAGE,
|
GetCompositor()->DrawDiagnostics(diagnosticFlags,
|
||||||
pictureRect, aClipRect,
|
pictureRect, aClipRect,
|
||||||
aTransform, mFlashCounter);
|
aTransform, mFlashCounter);
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче