summaryrefslogtreecommitdiffstats
path: root/src/core/delegated_frame_node.cpp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2018-02-08 17:30:06 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2018-03-15 16:52:21 +0000
commit91e13af7e1056a7bad83eb34ebf63fdd45e24bea (patch)
treece3c3c89d021bc934bf0c64477e0f74357e84a58 /src/core/delegated_frame_node.cpp
parentd5bffb5125da23718e8098441b4a4269a5cf2f33 (diff)
YUV colorspace adaptations
Switch to using Chromium's Colorspace class and its generated shader code instead of our own enums. Change-Id: I89ee96adf68e2421efa2350cb0b78ce0fea7221f Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'src/core/delegated_frame_node.cpp')
-rw-r--r--src/core/delegated_frame_node.cpp24
1 files changed, 5 insertions, 19 deletions
diff --git a/src/core/delegated_frame_node.cpp b/src/core/delegated_frame_node.cpp
index 149bd3b5e..51d69fd08 100644
--- a/src/core/delegated_frame_node.cpp
+++ b/src/core/delegated_frame_node.cpp
@@ -196,7 +196,7 @@ public:
virtual void setupDebugBorderNode(QSGGeometry *, QSGFlatColorMaterial *, QSGNode *) = 0;
virtual void setupYUVVideoNode(QSGTexture *, QSGTexture *, QSGTexture *, QSGTexture *,
const QRectF &, const QRectF &, const QSizeF &, const QSizeF &,
- YUVVideoMaterial::ColorSpace, float, float, const QRectF &,
+ gfx::ColorSpace, float, float, const QRectF &,
QSGNode *) = 0;
#ifdef GL_OES_EGL_image_external
virtual void setupStreamVideoNode(MailboxTexture *, const QRectF &,
@@ -283,7 +283,7 @@ public:
void setupYUVVideoNode(QSGTexture *, QSGTexture *, QSGTexture *, QSGTexture *,
const QRectF &, const QRectF &, const QSizeF &, const QSizeF &,
- YUVVideoMaterial::ColorSpace, float, float, const QRectF &,
+ gfx::ColorSpace, float, float, const QRectF &,
QSGNode *) override
{
Q_UNREACHABLE();
@@ -384,7 +384,7 @@ public:
void setupYUVVideoNode(QSGTexture *yTexture, QSGTexture *uTexture, QSGTexture *vTexture,
QSGTexture *aTexture, const QRectF &yaTexCoordRect,
const QRectF &uvTexCoordRect, const QSizeF &yaTexSize,
- const QSizeF &uvTexSize, YUVVideoMaterial::ColorSpace colorspace,
+ const QSizeF &uvTexSize, gfx::ColorSpace colorspace,
float rMul, float rOff, const QRectF &rect,
QSGNode *layerChain) override
{
@@ -751,20 +751,6 @@ void DelegatedFrameNode::preprocess()
}
}
-static YUVVideoMaterial::ColorSpace toQt(viz::YUVVideoDrawQuad::ColorSpace color_space)
-{
- switch (color_space) {
- case viz::YUVVideoDrawQuad::REC_601:
- return YUVVideoMaterial::REC_601;
- case viz::YUVVideoDrawQuad::REC_709:
- return YUVVideoMaterial::REC_709;
- case viz::YUVVideoDrawQuad::JPEG:
- return YUVVideoMaterial::JPEG;
- }
- Q_UNREACHABLE();
- return YUVVideoMaterial::REC_601;
-}
-
static bool areSharedQuadStatesEqual(const viz::SharedQuadState *layerState,
const viz::SharedQuadState *prevLayerState)
{
@@ -1186,7 +1172,7 @@ void DelegatedFrameNode::handleQuad(
initAndHoldTexture(vResource, quad->ShouldDrawWithBlending()),
aResource ? initAndHoldTexture(aResource, quad->ShouldDrawWithBlending()) : 0,
toQt(vquad->ya_tex_coord_rect), toQt(vquad->uv_tex_coord_rect),
- toQt(vquad->ya_tex_size), toQt(vquad->uv_tex_size), toQt(vquad->color_space),
+ toQt(vquad->ya_tex_size), toQt(vquad->uv_tex_size), vquad->video_color_space,
vquad->resource_multiplier, vquad->resource_offset, toQt(quad->rect),
currentLayerChain);
break;
@@ -1261,7 +1247,7 @@ void DelegatedFrameNode::fetchAndSyncMailboxes(QList<MailboxTexture *> &mailboxe
for (MailboxTexture *mailboxTexture : qAsConst(mailboxesToFetch)) {
gpu::SyncToken &syncToken = mailboxTexture->mailboxHolder().sync_token;
const auto task = base::Bind(&DelegatedFrameNode::pullTexture, this, mailboxTexture);
- if (!syncPointManager->WaitOutOfOrderNonThreadSafe(syncToken, gpuMessageLoop->task_runner(), std::move(task)))
+ if (!syncPointManager->WaitOutOfOrder(syncToken, std::move(task)))
mailboxesToPull.append(mailboxTexture);
}
if (!mailboxesToPull.isEmpty()) {