diff options
author | Jocelyn Turcotte <jocelyn.turcotte@digia.com> | 2013-09-13 15:29:53 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-10-14 15:50:35 +0200 |
commit | 0b9ea2d05d1081ce4a667f0c7036a205bcd751a3 (patch) | |
tree | 3d194274878b1501bbe15428554d74aedafd0d56 /patches | |
parent | 338e24b48601a3cfdcde0977b6c9390d33d51c9f (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.patch | 77 | ||||
-rwxr-xr-x | patches/patch-chromium.sh | 1 |
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" |