summaryrefslogtreecommitdiffstats
path: root/patches
diff options
context:
space:
mode:
authorJocelyn Turcotte <jocelyn.turcotte@digia.com>2013-09-13 15:29:53 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-10-14 15:50:35 +0200
commit0b9ea2d05d1081ce4a667f0c7036a205bcd751a3 (patch)
tree3d194274878b1501bbe15428554d74aedafd0d56 /patches
parent338e24b48601a3cfdcde0977b6c9390d33d51c9f (diff)
Render delegated renderer frames using the Qt scene graph.
This provides a stub implementation that renders quads and RenderPasses using QSGNodes in QQuickWebEngineView. The BackingStore code path is still supported when the delegated renderer switch is not enabled. To use the new rendering, pass the following switches: --enable-delegated-renderer --enable-threaded-compositing This uses debug, plain color textures until we can fetch tiles and textures from the ResourceProvider across OpenGL context boundaries. Change-Id: I33ea0738dc5a326ef79c1435f75c044c42e8551f Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Diffstat (limited to 'patches')
-rw-r--r--patches/0001-Solve-conflicts-when-including-both-QtOpenGL-headers.patch77
-rwxr-xr-xpatches/patch-chromium.sh1
2 files changed, 78 insertions, 0 deletions
diff --git a/patches/0001-Solve-conflicts-when-including-both-QtOpenGL-headers.patch b/patches/0001-Solve-conflicts-when-including-both-QtOpenGL-headers.patch
new file mode 100644
index 000000000..837870c24
--- /dev/null
+++ b/patches/0001-Solve-conflicts-when-including-both-QtOpenGL-headers.patch
@@ -0,0 +1,77 @@
+From 08012c5c84dc6f63c1c91d8035ec11b497e6e11c Mon Sep 17 00:00:00 2001
+From: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
+Date: Fri, 6 Sep 2013 17:08:45 +0200
+Subject: [PATCH] Solve conflicts when including both QtOpenGL headers and
+ resource_provider.h
+
+If resource_provider.h is going to be used to integrate delegated frame
+to external compositors, it should avoid conflicting with the system's gl.h.
+
+Change-Id: Ie37d6cde263157e6717cc006a9896f0b9ebdaa5d
+Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
+---
+ cc/layers/texture_layer.cc | 1 +
+ cc/output/delegating_renderer.cc | 1 +
+ cc/quads/content_draw_quad_base.h | 1 -
+ cc/resources/resource_provider.h | 5 ++++-
+ 4 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/cc/layers/texture_layer.cc b/cc/layers/texture_layer.cc
+index 316042b..2325a80 100644
+--- a/cc/layers/texture_layer.cc
++++ b/cc/layers/texture_layer.cc
+@@ -10,6 +10,7 @@
+ #include "cc/layers/texture_layer_client.h"
+ #include "cc/layers/texture_layer_impl.h"
+ #include "cc/trees/layer_tree_host.h"
++#include "third_party/khronos/GLES2/gl2.h"
+ #include "third_party/WebKit/public/platform/WebGraphicsContext3D.h"
+
+ namespace cc {
+diff --git a/cc/output/delegating_renderer.cc b/cc/output/delegating_renderer.cc
+index bd1c5d1..0c3051c 100644
+--- a/cc/output/delegating_renderer.cc
++++ b/cc/output/delegating_renderer.cc
+@@ -23,6 +23,7 @@
+ #include "cc/quads/yuv_video_draw_quad.h"
+ #include "cc/resources/resource_provider.h"
+ #include "third_party/WebKit/public/platform/WebGraphicsContext3D.h"
++#include "third_party/khronos/GLES2/gl2.h"
+ #include "third_party/khronos/GLES2/gl2ext.h"
+
+ using WebKit::WebGraphicsContext3D;
+diff --git a/cc/quads/content_draw_quad_base.h b/cc/quads/content_draw_quad_base.h
+index cbf18ca..6229d61 100644
+--- a/cc/quads/content_draw_quad_base.h
++++ b/cc/quads/content_draw_quad_base.h
+@@ -8,7 +8,6 @@
+ #include "base/memory/scoped_ptr.h"
+ #include "cc/base/cc_export.h"
+ #include "cc/quads/draw_quad.h"
+-#include "third_party/khronos/GLES2/gl2.h"
+ #include "ui/gfx/point.h"
+ #include "ui/gfx/size.h"
+
+diff --git a/cc/resources/resource_provider.h b/cc/resources/resource_provider.h
+index b5dccc8..1d51a27 100644
+--- a/cc/resources/resource_provider.h
++++ b/cc/resources/resource_provider.h
+@@ -20,11 +20,14 @@
+ #include "cc/output/output_surface.h"
+ #include "cc/resources/texture_mailbox.h"
+ #include "cc/resources/transferable_resource.h"
+-#include "third_party/khronos/GLES2/gl2.h"
+ #include "third_party/skia/include/core/SkBitmap.h"
+ #include "third_party/skia/include/core/SkCanvas.h"
+ #include "ui/gfx/size.h"
+
++// A correct fix would be not to use GL types in this interal API file.
++typedef unsigned int GLenum;
++typedef int GLint;
++
+ namespace WebKit { class WebGraphicsContext3D; }
+
+ namespace gfx {
+--
+1.8.4
+
diff --git a/patches/patch-chromium.sh b/patches/patch-chromium.sh
index 3a9e9278e..c917f87f5 100755
--- a/patches/patch-chromium.sh
+++ b/patches/patch-chromium.sh
@@ -65,6 +65,7 @@ git am $PATCH_DIR/0001-Mac-Do-not-modify-the-child-path.patch
git am $PATCH_DIR/0001-Do-not-warn-for-header-hygiene.patch
git am $PATCH_DIR/0001-Build-files-necessary-for-touch-and-gestures.patch
git am $PATCH_DIR/0001-remove-Wno-deprecated-register-from-common.gypi.patch
+git am $PATCH_DIR/0001-Solve-conflicts-when-including-both-QtOpenGL-headers.patch
cd $CHROMIUM_SRC_DIR/third_party/WebKit
echo "Entering $PWD"