YUV video overlay support in Chrome OS IA |
||||||||||||
Issue descriptionSkylake or newer generation can support YUV video overlay. The available format is YUYV, because it's common denominator over all stack. * minigbm supports YUYV and UYVY. refer to src/platform/minigbm/i915.c * mesa supports YUYV. refer to src/third_party/mesa/src/mesa/drivers/dri/i965/intel_screen.c * linux supports YUYV and UYVY overlay. refer to src/third_party/kernel/v4.4/drivers/gpu/drm/i915/intel_sprite.c * vaapi/intel-driver supports YUYV and UYVY decode. refer to src/i965_drv_video.c in https://cgit.freedesktop.org/vaapi/intel-driver to be short, it's because MESA EGL support not UYVY but YUYV for EGL_EXT_image_dma_buf_import extensions. I measure power consumption on prototype. YUYV with overlay saves 8.8% power consumption compared to as-is. I use Skylake Acer Chromebook 14 with upstream kernel (due to atomic page flip) on http://browsertests.herokuapp.com/media/h264.html The test compares between current (BGRA) and new (YUYV) gpu decoding with and without overlay * BGRA: 6.6462 W * BGRA with overlay: 6.1734 W * YUYV: 6.1729 W * YUYV with overlay: 6.0593 W Say in English * BGRA with overlay saves 7.1% power compared to BGRA * YUYV saves 7.1% power compared to BGRA * YUYV with overlay saves 1.8% power compared to YUYV * YUYV with overlay saves 8.8% power compared to BGRA
,
Jan 21 2017
,
Jan 27 2017
,
Jan 31 2017
,
Feb 9 2017
As reviewer requested, I'm splitting CLs cc: UYVY video is not premultiplied rgba https://codereview.chromium.org/2684073006/ Introduce gfx::BufferFormat::YUYV_422 https://codereview.chromium.org/2689453002 Make OverlayCandidate use gfx::BufferFormat instead of cc::ResourceFormat https://codereview.chromium.org/2683763003/ gpu: merge gpu/ipc/host/gpu_memory_buffer_support.cc to gpu/ipc/common/ https://codereview.chromium.org/2649553003/ chromeos: gpu video decoder on Intel decodes video in YUYV format, instead of RGBA. https://codereview.chromium.org/2678343011/ ozone: prefer YUYV format for overlay. https://codereview.chromium.org/2686903003/ cros: Enable YUYV GPU memory buffer video frames https://codereview.chromium.org/2648633005/ There are so many CLs, so it's burdensome to check in. So it's temporary all merged CL for testing. (NotForReview) Enable YUV video overlay on Skylake ChromeOS. https://codereview.chromium.org/2684993005
,
Mar 14 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8b03b3715b4f951d87890c6ef9f6cbe027f777f0 commit 8b03b3715b4f951d87890c6ef9f6cbe027f777f0 Author: dcastagna <dcastagna@chromium.org> Date: Tue Mar 14 19:29:59 2017 cc: Make OverlayCandidate use gfx::BufferFormat instead of cc::ResourceFormat. Use gfx::BufferFormat instead of cc::ResourceFormat in OverlayCandidate. With crrev.com/2748903002 gfx::BufferFormat has been added to Resource. OverlayCandidate can now use that gfx::BufferFormat instead of using and hardcoded RGBA Resource format. This patch was pulled from crrev.com/2683763003 patch 1. The original author is dongseong.hwang. BUG= 695296 , 683347 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Review-Url: https://codereview.chromium.org/2745143003 Cr-Commit-Position: refs/heads/master@{#456785} [modify] https://crrev.com/8b03b3715b4f951d87890c6ef9f6cbe027f777f0/cc/output/overlay_candidate.cc [modify] https://crrev.com/8b03b3715b4f951d87890c6ef9f6cbe027f777f0/cc/output/overlay_candidate.h [modify] https://crrev.com/8b03b3715b4f951d87890c6ef9f6cbe027f777f0/components/display_compositor/compositor_overlay_candidate_validator_ozone.cc
,
Mar 27 2017
,
May 26 2017
#5 - as we fixed dma-buf issue, let me resume video overlay work. We are working in progress to backport atomic mode setting to v4.4. We will be able to enable hardware overlay on new generation IA chromebook soon. I think it's good to make it ready from chromium side meanwhile.
,
Jun 7 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/16c230301025a487d69f2233c4b1bf305367bb96 commit 16c230301025a487d69f2233c4b1bf305367bb96 Author: dongseong.hwang <dongseong.hwang@intel.com> Date: Wed Jun 07 21:13:18 2017 cc: make texture draw quad of video overlay candidate. |overlay_resources.size_in_pixels| in TextureDrawQuad must have a value to be promoted as overlay candidate. BUG= 683347 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Review-Url: https://codereview.chromium.org/2892423004 Cr-Commit-Position: refs/heads/master@{#477760} [modify] https://crrev.com/16c230301025a487d69f2233c4b1bf305367bb96/cc/layers/video_layer_impl.cc [modify] https://crrev.com/16c230301025a487d69f2233c4b1bf305367bb96/cc/layers/video_layer_impl_unittest.cc
,
Jun 23 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/750e0b9f71867900b27536c0fa80f25502e2b8c9 commit 750e0b9f71867900b27536c0fa80f25502e2b8c9 Author: Dongseong Hwang <dongseong.hwang@intel.com> Date: Fri Jun 23 00:03:57 2017 minigbm: i915: add NV12 for EGLImage. GPU decoder will use it. Unfortunately, IA doesn't support NV12 scanout plane yet. TEST=run mapped_texture_test -f NV12 of drm-tests package on amd64-generic BUG= chromium:683347 Change-Id: If83f961d59fff1d174926df0d96b665aef8b6048 Reviewed-on: https://chromium-review.googlesource.com/527701 Commit-Ready: Dongseong Hwang <dongseong.hwang@intel.com> Tested-by: Dongseong Hwang <dongseong.hwang@intel.com> Reviewed-by: Dongseong Hwang <dongseong.hwang@intel.com> Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org> [modify] https://crrev.com/750e0b9f71867900b27536c0fa80f25502e2b8c9/i915.c
,
Jun 28 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a9bb336f1ec642759d6c1348cbff82f706d6e598 commit a9bb336f1ec642759d6c1348cbff82f706d6e598 Author: Dongseong Hwang <dongseong.hwang@intel.com> Date: Wed Jun 28 18:58:24 2017 cros, gbm: scale a overlay plane by native scaler, instead of VPP Currently, for Intel, VPP (video processing hardware)[1] scales a overlay plane, instead of display controller [2]. [1] https://software.intel.com/en-us/node/628415 [2] https://01.org/sites/default/files/documentation/intel-gfx-prm-osrc-skl-vol12-display.pdf VPP scaler was introduced to support hardware overlay for old Intel SoCs. However VPP scaling doesn't make sense because it consumes more bandwidth (results in power) than GPU compositing. VPP needs to read the given buffer and then write to new temp buffer. It already consumes similar bandwidth to GPU compositing, but hardware overlay path still needs to send the overlay plane to display controller. This CL removes this incorrect legacy, and make scaling rely on the native scaler which atomic modeset API natively supports, which finally display controller scales the plane by itself. For Intel, Skylake or newer SoCs support it. [2] In the code side, only Intel sets OverlayPlane::ProcessBufferCallback, which points out VPP scaler. HardwareDisplayPlaneManager already uses native scaler (i.e. display controller scaler) via |crtc_w| and |crtc_h| value on drmModeAtomicAddProperty() call, only if OverlayPlane::ProcessBufferCallback isn't set. ARM and Rockchip don't set the callback and rely on native scaler already. cc checks if display controller can support scale via OverlayCandidateValidator. If not, cc composites the layer by GPU. BUG= 683347 TEST=run https://www.quirksmode.org/html5/tests/video.html on reef and eve using cros kernel intel-graphics/syncfence_ams_npf_mst_607_r2 branch Change-Id: Id492c0317313fe6a905ee96797ceefbb9746d798 Reviewed-on: https://chromium-review.googlesource.com/544617 Commit-Queue: Dongseong Hwang <dongseong.hwang@intel.com> Reviewed-by: Daniel Nicoara <dnicoara@chromium.org> Reviewed-by: Dongseong Hwang <dongseong.hwang@intel.com> Cr-Commit-Position: refs/heads/master@{#483086} [modify] https://crrev.com/a9bb336f1ec642759d6c1348cbff82f706d6e598/ui/ozone/platform/drm/gpu/drm_overlay_validator.cc [modify] https://crrev.com/a9bb336f1ec642759d6c1348cbff82f706d6e598/ui/ozone/platform/drm/gpu/drm_overlay_validator.h [modify] https://crrev.com/a9bb336f1ec642759d6c1348cbff82f706d6e598/ui/ozone/platform/drm/gpu/drm_overlay_validator_unittest.cc [modify] https://crrev.com/a9bb336f1ec642759d6c1348cbff82f706d6e598/ui/ozone/platform/drm/gpu/drm_window.cc [modify] https://crrev.com/a9bb336f1ec642759d6c1348cbff82f706d6e598/ui/ozone/platform/drm/gpu/overlay_plane.h
,
Jun 29 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/3909dc011bf32c13858fb80c33a3cce68769cb26 commit 3909dc011bf32c13858fb80c33a3cce68769cb26 Author: Dongseong Hwang <dongseong.hwang@intel.com> Date: Thu Jun 29 21:16:37 2017 minigbm: add GBM_BO_USE_TEXTURING Chromium passes in no flags to gbm_bo_create() to indicate the buffer will be used as a texture. This convention has caused confusion in the past. CL:448251 introduced BO_USE_TEXTURE, so it makes sense to match the more explicit internal semantics. TEST=run mapped_texture_test -f NV12 of drm-tests package on amd64-generic BUG= chromium:683347 Change-Id: I40782763d125e640b4bb6a157035b17ebc32cc8c Reviewed-on: https://chromium-review.googlesource.com/546884 Commit-Ready: Dongseong Hwang <dongseong.hwang@intel.com> Tested-by: Dongseong Hwang <dongseong.hwang@intel.com> Reviewed-by: Dongseong Hwang <dongseong.hwang@intel.com> Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org> [modify] https://crrev.com/3909dc011bf32c13858fb80c33a3cce68769cb26/gbm_helpers.c [modify] https://crrev.com/3909dc011bf32c13858fb80c33a3cce68769cb26/gbm.h
,
Jul 6 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/aec223497e2e513f6385d61bb70bff90707dbee5 commit aec223497e2e513f6385d61bb70bff90707dbee5 Author: Dongseong Hwang <dongseong.hwang@intel.com> Date: Thu Jul 06 16:39:34 2017 Roll src/third_party/minigbm 878fed40..3909dc01 git log 878fed40..3909dc01 --date=short --no-merges --format='%ad %ae %s' 2017-06-23 dongseong.hwang@intel.com minigbm: add GBM_BO_USE_TEXTURING 2017-06-28 djmk@google.com Add tegra_bo_import to query tile format. 2017-05-31 gurchetansingh@chromium.org minigbm: cros_gralloc: refactor for future HALs 2017-06-07 dongseong.hwang@intel.com minigbm: i915: add NV12 for EGLImage. 2017-06-05 owenlin@google.com minigbm: Ensure DRM_FORMAT_YVU420_ANDROID meets Android requirements. 2017-06-14 dongseong.hwang@intel.com minigbm: i915: pass the right size to drv_add_combinations(). 2017-04-18 shirish.s@amd.com minigbm: amdgpu: enable handling of NV12 & NV21 format 2017-05-26 gurchetansingh@google.com minigbm: cros_gralloc: fix incorrect handle calculations 2017-05-15 gurchetansingh@google.com minigbm: remove BO_USE_RENDERING from certain formats 2017-05-12 djkurtz@chromium.org minigbm: cros_gralloc: Do not lock gralloc_close 2017-05-15 gurchetansingh@google.com minigbm: fix typo in PRESUBMIT.cfg 2017-05-09 tfiga@chromium.org minigbm: cros_gralloc: Use pkg-config for LIBS 2017-05-03 lhchavez@google.com minigbm: cros_gralloc: Use pkg-config 2017-04-27 henryhsu@chromium.org Add HAL_PIXEL_FORMAT_BLOB format in cros gralloc 2017-01-18 gurchetansingh@chromium.org minigbm: i915: use explicit cache flush to maintain coherency 2017-01-05 gurchetansingh@chromium.org minigbm: i915: use DRM_IOCTL_I915_GEM_MMAP when needed 2017-01-17 gurchetansingh@chromium.org Revert "minigbm: i915: libdrm-ize backend" 2017-04-26 tfiga@chromium.org minigbm: cros_gralloc: Fix type mismatch on 64-bit builds 2017-04-19 sadmac@google.com minigbm: Add a LICENSE file 2017-04-07 gurchetansingh@google.com minigbm: virtio-gpu: add more supported formats 2017-04-04 gurchetansingh@chromium.org minigbm: disable default Chromium style checks 2017-04-04 gurchetansingh@chromium.org minigbm: vgem: add more supported formats 2017-03-20 gurchetansingh@chromium.org minigbm: cros_gralloc: fix modifier serialization/de-serialization 2017-03-20 gurchetansingh@chromium.org minigbm: cros_gralloc: remove constexpr functions 2017-03-20 gurchetansingh@chromium.org minigbm: cros_gralloc: remove memsets 2017-03-20 gurchetansingh@chromium.org minigbm: fix long lines missed by clang-format 2017-03-10 gurchetansingh@chromium.org minigbm: add clang-format and presubmit hooks 2017-03-23 gurchetansingh@chromium.org minigbm: rockchip: align to 128 bytes 2017-03-29 gurchetansingh@chromium.org minigbm: work with strides, not widths 2017-03-23 gurchetansingh@chromium.org minigbm: add bytes per pixel function 2017-03-29 gurchetansingh@chromium.org minigbm: fix stride logic 2017-03-21 gurchetansingh@chromium.org minigbm: rockchip: add NV12 back in as supported format 2017-03-16 gurchetansingh@chromium.org vgem: support DRM_FORMAT_YVU420_ANDROID 2017-03-16 gurchetansingh@chromium.org minigbm: i915: align YV12 to HW requirements 2017-02-08 gurchetansingh@chromium.org minigbm: add DRM_FORMAT_YVU420_ANDROID 2017-02-14 gurchetansingh@chromium.org minigbm: deal with ArcCodec use case by exposing struct map_info 2017-02-03 gurchetansingh@chromium.org minigbm: fix renderscipt allocation 2017-03-15 gurchetansingh@chromium.org minigbm: cros_gralloc: make HW_FB a no-op 2017-03-01 gurchetansingh@chromium.org minigbm: rework flag API 2017-03-08 gurchetansingh@chromium.org minigbm: cros_gralloc: back out of scanout flag with more clarity 2017-03-02 gurchetansingh@chromium.org minigbm: add BO_USE_TEXTURE 2017-02-04 kalyan.kondapally@intel.com Add support to build with Android. 2017-02-08 gurchetansingh@chromium.org minigbm: align first plane to 64 bytes 2017-02-13 gurchetansingh@chromium.org minigbm: add map_info to proper table 2017-01-23 gurchetansingh@chromium.org minigbm: rockchip: use height to calculate h_mbs BUG= 683347 Change-Id: Ia03954a516c4266a543cc69952985912796ae051 Reviewed-on: https://chromium-review.googlesource.com/556999 Reviewed-by: Dongseong Hwang <dongseong.hwang@intel.com> Reviewed-by: Jochen Eisinger <jochen@chromium.org> Commit-Queue: Dongseong Hwang <dongseong.hwang@intel.com> Cr-Commit-Position: refs/heads/master@{#484631} [modify] https://crrev.com/aec223497e2e513f6385d61bb70bff90707dbee5/DEPS
,
Jul 12 2017
,
Jul 14 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5333b7b252d560643f7902aec5ea08ba550461b1 commit 5333b7b252d560643f7902aec5ea08ba550461b1 Author: Dongseong Hwang <dongseong.hwang@intel.com> Date: Fri Jul 14 19:24:23 2017 ozone: remove unused ProcessBufferCallback. It's used to scale an overlay plane using external hardware (e.g. video processing), but not anymore. Chrome makes display controller scale by itself. Note: this code never shipped on any devices because it requires --enable-hardware-overlays flags on Intel, which never used by a product. TBR=danakj@chromium.org TEST=run chrome with --enable-hardware-overlays using amd64-generic BUG= 683347 Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Change-Id: I32f2b1384f4a64510aa5d692c628e874255ea6b8 Reviewed-on: https://chromium-review.googlesource.com/552926 Commit-Queue: Dongseong Hwang <dongseong.hwang@intel.com> Reviewed-by: Dale Curtis <dalecurtis@chromium.org> Reviewed-by: Robert Kroeger <rjkroege@chromium.org> Reviewed-by: David Reveman <reveman@chromium.org> Reviewed-by: Dongseong Hwang <dongseong.hwang@intel.com> Reviewed-by: Daniel Nicoara <dnicoara@chromium.org> Reviewed-by: Daniele Castagna <dcastagna@chromium.org> Cr-Commit-Position: refs/heads/master@{#486841} [modify] https://crrev.com/5333b7b252d560643f7902aec5ea08ba550461b1/media/gpu/vaapi_drm_picture.cc [modify] https://crrev.com/5333b7b252d560643f7902aec5ea08ba550461b1/media/gpu/vaapi_wrapper.cc [modify] https://crrev.com/5333b7b252d560643f7902aec5ea08ba550461b1/media/gpu/vaapi_wrapper.h [modify] https://crrev.com/5333b7b252d560643f7902aec5ea08ba550461b1/ui/gfx/native_pixmap.h [modify] https://crrev.com/5333b7b252d560643f7902aec5ea08ba550461b1/ui/ozone/platform/cast/surface_factory_cast.cc [modify] https://crrev.com/5333b7b252d560643f7902aec5ea08ba550461b1/ui/ozone/platform/drm/gpu/drm_overlay_validator_unittest.cc [modify] https://crrev.com/5333b7b252d560643f7902aec5ea08ba550461b1/ui/ozone/platform/drm/gpu/gbm_buffer.cc [modify] https://crrev.com/5333b7b252d560643f7902aec5ea08ba550461b1/ui/ozone/platform/drm/gpu/gbm_buffer.h [modify] https://crrev.com/5333b7b252d560643f7902aec5ea08ba550461b1/ui/ozone/platform/drm/gpu/overlay_plane.cc [modify] https://crrev.com/5333b7b252d560643f7902aec5ea08ba550461b1/ui/ozone/platform/drm/gpu/overlay_plane.h [modify] https://crrev.com/5333b7b252d560643f7902aec5ea08ba550461b1/ui/ozone/platform/headless/headless_surface_factory.cc
,
Jul 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/63874f8d3f0cf7daee9c2b584232c0dfa7510ee5 commit 63874f8d3f0cf7daee9c2b584232c0dfa7510ee5 Author: Dongseong Hwang <dongseong.hwang@intel.com> Date: Fri Jul 21 00:10:04 2017 Reland "Fix HTML5 video blurry" Original CL: https://codereview.chromium.org/2418173002/ Revert CL: https://codereview.chromium.org/2463103002/ https://codereview.chromium.org/2474073004 https://codereview.chromium.org/2544893006 Since it was reverted long time ago, reimplement it from the scratch. HW decoded video is blurry, because crbug.com/575587 shinked visual rect by 1 pixel, if coded rect is larger than visual rect. This fixed bleeding texture, but caused blurry issue. Meanwhile, crbug.com/429640 fixed bleeding texture for software YUV video in the elegant way. It clamps all texture coordinates to this maximum value in the fragment shader. This CL removes the 1 pixel hack and applies the way to TextureDrawQuad and StreamVideoDrawQuad. In addition, Video overlay requires this fix because there is noticible transition between GPU composition and hardware overlay. TEST=cc_unittests PrecisionSamplerShadersCompile/PrecisionSamplerShaderPixelTest.ShadersCompile chrome on http://browsertests.herokuapp.com/media/sharpness.html using amd64-generic BUG= 615325 , 683347 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Change-Id: I63c8736a365f0024513bfe1e999bc7beb7321da5 Reviewed-on: https://chromium-review.googlesource.com/567809 Commit-Queue: Dongseong Hwang <dongseong.hwang@intel.com> Reviewed-by: ccameron chromium <ccameron@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Antoine Labour <piman@chromium.org> Reviewed-by: Dongseong Hwang <dongseong.hwang@intel.com> Reviewed-by: Dan Sanders <sandersd@chromium.org> Cr-Commit-Position: refs/heads/master@{#488504} [modify] https://crrev.com/63874f8d3f0cf7daee9c2b584232c0dfa7510ee5/cc/layers/video_layer_impl.cc [modify] https://crrev.com/63874f8d3f0cf7daee9c2b584232c0dfa7510ee5/cc/output/gl_renderer.cc [modify] https://crrev.com/63874f8d3f0cf7daee9c2b584232c0dfa7510ee5/cc/output/gl_renderer_draw_cache.h [modify] https://crrev.com/63874f8d3f0cf7daee9c2b584232c0dfa7510ee5/cc/output/gl_renderer_unittest.cc [modify] https://crrev.com/63874f8d3f0cf7daee9c2b584232c0dfa7510ee5/cc/output/program_binding.cc [modify] https://crrev.com/63874f8d3f0cf7daee9c2b584232c0dfa7510ee5/cc/output/program_binding.h [modify] https://crrev.com/63874f8d3f0cf7daee9c2b584232c0dfa7510ee5/cc/output/shader.cc [modify] https://crrev.com/63874f8d3f0cf7daee9c2b584232c0dfa7510ee5/cc/output/shader.h [modify] https://crrev.com/63874f8d3f0cf7daee9c2b584232c0dfa7510ee5/content/test/gpu/gpu_tests/pixel_expectations.py [modify] https://crrev.com/63874f8d3f0cf7daee9c2b584232c0dfa7510ee5/content/test/gpu/gpu_tests/pixel_test_pages.py
,
Jul 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2e75e890f790868fdb72a4b1c26b6cb6f1e82042 commit 2e75e890f790868fdb72a4b1c26b6cb6f1e82042 Author: Dongseong Hwang <dongseong.hwang@intel.com> Date: Fri Jul 21 18:12:57 2017 ozone: set the right GBM_BO_ flags minigbm doesn't allow to pass no flags to gbm_bo_create(). GBM_BO_USE_TEXTURING implies texture, so use GBM_BO_USE_TEXTURING to create texture buffer. GBM_BO_USE_TEXTURING implies GPU_READ. GBM_BO_USE_RENDERING implies GPU_WRITE. BufferUsage::SCANOUT needs both of them because it implies GPU_READ_WRITE. TEST=run chrome on amd64-generic BUG= 683347 Change-Id: I7431be6f5b4a8d95e6be11d86cfbf0c14b919668 Reviewed-on: https://chromium-review.googlesource.com/549095 Reviewed-by: Daniel Nicoara <dnicoara@chromium.org> Reviewed-by: Daniele Castagna <dcastagna@chromium.org> Reviewed-by: David Reveman <reveman@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> Reviewed-by: Dongseong Hwang <dongseong.hwang@intel.com> Commit-Queue: Dongseong Hwang <dongseong.hwang@intel.com> Cr-Commit-Position: refs/heads/master@{#488709} [modify] https://crrev.com/2e75e890f790868fdb72a4b1c26b6cb6f1e82042/ui/ozone/platform/drm/gpu/drm_thread.cc
,
Jul 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/752bf7505381af242ded2d8c01a54f31176fa1cf commit 752bf7505381af242ded2d8c01a54f31176fa1cf Author: Kyle Horimoto <khorimoto@chromium.org> Date: Fri Jul 21 21:41:25 2017 Revert "ozone: set the right GBM_BO_ flags" This reverts commit 2e75e890f790868fdb72a4b1c26b6cb6f1e82042. Reason for revert: Breaks build for veyron_minnie and probably other devices. Sample of the compiler errors below: ../../ui/ozone/platform/drm/gpu/drm_thread.cc:120:15: error: use of undeclared identifier 'GBM_BO_USE_TEXTURING'; did you mean 'GBM_BO_USE_RENDERING'? flags = GBM_BO_USE_TEXTURING; ^~~~~~~~~~~~~~~~~~~~ GBM_BO_USE_RENDERING ../../../.cros_cache/chrome-sdk/tarballs/veyron_minnie+9588.0.0+sysroot_chromeos-base_chromeos-chrome.tar.xz/usr/include/gbm.h:230:4: note: 'GBM_BO_USE_RENDERING' declared here GBM_BO_USE_RENDERING = (1 << 2), ^ Original change's description: > ozone: set the right GBM_BO_ flags > > minigbm doesn't allow to pass no flags to gbm_bo_create(). GBM_BO_USE_TEXTURING > implies texture, so use GBM_BO_USE_TEXTURING to create texture buffer. > > GBM_BO_USE_TEXTURING implies GPU_READ. GBM_BO_USE_RENDERING implies GPU_WRITE. > BufferUsage::SCANOUT needs both of them because it implies GPU_READ_WRITE. > > TEST=run chrome on amd64-generic > BUG= 683347 > > Change-Id: I7431be6f5b4a8d95e6be11d86cfbf0c14b919668 > Reviewed-on: https://chromium-review.googlesource.com/549095 > Reviewed-by: Daniel Nicoara <dnicoara@chromium.org> > Reviewed-by: Daniele Castagna <dcastagna@chromium.org> > Reviewed-by: David Reveman <reveman@chromium.org> > Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> > Reviewed-by: Dongseong Hwang <dongseong.hwang@intel.com> > Commit-Queue: Dongseong Hwang <dongseong.hwang@intel.com> > Cr-Commit-Position: refs/heads/master@{#488709} TBR=marcheu@chromium.org,reveman@chromium.org,dnicoara@chromium.org,dongseong.hwang@intel.com,glevin@chromium.org,dcastagna@chromium.org,gurchetansingh@chromium.org Change-Id: I2a8327004c3ba78ca406d08b02b28515c2b2dcf0 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 683347 Reviewed-on: https://chromium-review.googlesource.com/582347 Reviewed-by: Kyle Horimoto <khorimoto@chromium.org> Commit-Queue: Kyle Horimoto <khorimoto@chromium.org> Cr-Commit-Position: refs/heads/master@{#488762} [modify] https://crrev.com/752bf7505381af242ded2d8c01a54f31176fa1cf/ui/ozone/platform/drm/gpu/drm_thread.cc
,
Jul 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8a00f87cc094d59f08ca24be9ee6b5c484af70a6 commit 8a00f87cc094d59f08ca24be9ee6b5c484af70a6 Author: Kyle Horimoto <khorimoto@chromium.org> Date: Fri Jul 21 22:15:40 2017 Revert "Revert "ozone: set the right GBM_BO_ flags"" This reverts commit 752bf7505381af242ded2d8c01a54f31176fa1cf. Reason for revert: Original CL was correct. Original change's description: > Revert "ozone: set the right GBM_BO_ flags" > > This reverts commit 2e75e890f790868fdb72a4b1c26b6cb6f1e82042. > > Reason for revert: Breaks build for veyron_minnie and probably other devices. Sample of the compiler errors below: > > ../../ui/ozone/platform/drm/gpu/drm_thread.cc:120:15: error: use of undeclared identifier 'GBM_BO_USE_TEXTURING'; did you mean 'GBM_BO_USE_RENDERING'? > flags = GBM_BO_USE_TEXTURING; > ^~~~~~~~~~~~~~~~~~~~ > GBM_BO_USE_RENDERING > ../../../.cros_cache/chrome-sdk/tarballs/veyron_minnie+9588.0.0+sysroot_chromeos-base_chromeos-chrome.tar.xz/usr/include/gbm.h:230:4: note: 'GBM_BO_USE_RENDERING' declared here > GBM_BO_USE_RENDERING = (1 << 2), > ^ > > > Original change's description: > > ozone: set the right GBM_BO_ flags > > > > minigbm doesn't allow to pass no flags to gbm_bo_create(). GBM_BO_USE_TEXTURING > > implies texture, so use GBM_BO_USE_TEXTURING to create texture buffer. > > > > GBM_BO_USE_TEXTURING implies GPU_READ. GBM_BO_USE_RENDERING implies GPU_WRITE. > > BufferUsage::SCANOUT needs both of them because it implies GPU_READ_WRITE. > > > > TEST=run chrome on amd64-generic > > BUG= 683347 > > > > Change-Id: I7431be6f5b4a8d95e6be11d86cfbf0c14b919668 > > Reviewed-on: https://chromium-review.googlesource.com/549095 > > Reviewed-by: Daniel Nicoara <dnicoara@chromium.org> > > Reviewed-by: Daniele Castagna <dcastagna@chromium.org> > > Reviewed-by: David Reveman <reveman@chromium.org> > > Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> > > Reviewed-by: Dongseong Hwang <dongseong.hwang@intel.com> > > Commit-Queue: Dongseong Hwang <dongseong.hwang@intel.com> > > Cr-Commit-Position: refs/heads/master@{#488709} > > TBR=marcheu@chromium.org,reveman@chromium.org,dnicoara@chromium.org,dongseong.hwang@intel.com,glevin@chromium.org,dcastagna@chromium.org,gurchetansingh@chromium.org > > Change-Id: I2a8327004c3ba78ca406d08b02b28515c2b2dcf0 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: 683347 > Reviewed-on: https://chromium-review.googlesource.com/582347 > Reviewed-by: Kyle Horimoto <khorimoto@chromium.org> > Commit-Queue: Kyle Horimoto <khorimoto@chromium.org> > Cr-Commit-Position: refs/heads/master@{#488762} TBR=marcheu@chromium.org,reveman@chromium.org,khorimoto@chromium.org,dnicoara@chromium.org,dongseong.hwang@intel.com,glevin@chromium.org,dcastagna@chromium.org,gurchetansingh@chromium.org Change-Id: I1b8d898a5184dfe17d8f33eda533a39400c78a44 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 683347 Reviewed-on: https://chromium-review.googlesource.com/582310 Reviewed-by: Kyle Horimoto <khorimoto@chromium.org> Commit-Queue: Kyle Horimoto <khorimoto@chromium.org> Cr-Commit-Position: refs/heads/master@{#488773} [modify] https://crrev.com/8a00f87cc094d59f08ca24be9ee6b5c484af70a6/ui/ozone/platform/drm/gpu/drm_thread.cc
,
Aug 14 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f439921f66e6f3a51a95426e7dcb5e240c0eabef commit f439921f66e6f3a51a95426e7dcb5e240c0eabef Author: Daniele Castagna <dcastagna@chromium.org> Date: Mon Aug 14 17:36:27 2017 ui: Add gfx::BufferUsage::SCANOUT_VDA_WRITE. This adds a buffer usage that produces buffers that can be written from hardware video decoder, and can be read by the compositor or, possibly, by the display controller. This is needed for formats like NV12 when the content is produced by VAAPI decoders and the buffers are then sent to the compositor. Additionally, if a KMS framebuffer can't be added for the new buffer, the allocation will still succeed, and the buffer can still be used for compositing, but not as an HW overlay. Bug: 683347 Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Change-Id: Iab5c23c3e15fc235a375c9889085dda9d4816862 Reviewed-on: https://chromium-review.googlesource.com/612761 Reviewed-by: David Reveman <reveman@chromium.org> Reviewed-by: Avi Drissman <avi@chromium.org> Reviewed-by: Robert Sesek <rsesek@chromium.org> Commit-Queue: Daniele Castagna <dcastagna@chromium.org> Cr-Commit-Position: refs/heads/master@{#494089} [modify] https://crrev.com/f439921f66e6f3a51a95426e7dcb5e240c0eabef/content/browser/gpu/gpu_internals_ui.cc [modify] https://crrev.com/f439921f66e6f3a51a95426e7dcb5e240c0eabef/gpu/ipc/client/gpu_memory_buffer_impl_io_surface.cc [modify] https://crrev.com/f439921f66e6f3a51a95426e7dcb5e240c0eabef/gpu/ipc/client/gpu_memory_buffer_impl_shared_memory.cc [modify] https://crrev.com/f439921f66e6f3a51a95426e7dcb5e240c0eabef/gpu/ipc/client/gpu_memory_buffer_impl_test_template.h [modify] https://crrev.com/f439921f66e6f3a51a95426e7dcb5e240c0eabef/gpu/ipc/common/gpu_memory_buffer_support.cc [modify] https://crrev.com/f439921f66e6f3a51a95426e7dcb5e240c0eabef/gpu/ipc/host/gpu_memory_buffer_support.cc [modify] https://crrev.com/f439921f66e6f3a51a95426e7dcb5e240c0eabef/gpu/ipc/service/gpu_memory_buffer_factory_test_template.h [modify] https://crrev.com/f439921f66e6f3a51a95426e7dcb5e240c0eabef/ui/gfx/buffer_types.h [modify] https://crrev.com/f439921f66e6f3a51a95426e7dcb5e240c0eabef/ui/gfx/linux/client_native_pixmap_factory_dmabuf.cc [modify] https://crrev.com/f439921f66e6f3a51a95426e7dcb5e240c0eabef/ui/gfx/mojo/buffer_types.mojom [modify] https://crrev.com/f439921f66e6f3a51a95426e7dcb5e240c0eabef/ui/gfx/mojo/buffer_types_struct_traits.h [modify] https://crrev.com/f439921f66e6f3a51a95426e7dcb5e240c0eabef/ui/ozone/platform/drm/gpu/drm_thread.cc
,
Aug 14 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/40e00af506421cb58b7354d697cd8bc8d7836113 commit 40e00af506421cb58b7354d697cd8bc8d7836113 Author: David Reveman <reveman@chromium.org> Date: Mon Aug 14 20:24:19 2017 Revert "ui: Add gfx::BufferUsage::SCANOUT_VDA_WRITE." This reverts commit f439921f66e6f3a51a95426e7dcb5e240c0eabef. Reason for revert: Broke fast ink support Original change's description: > ui: Add gfx::BufferUsage::SCANOUT_VDA_WRITE. > > This adds a buffer usage that produces buffers that can be written from > hardware video decoder, and can be read by the compositor or, possibly, > by the display controller. > > This is needed for formats like NV12 when the content is produced > by VAAPI decoders and the buffers are then sent to the compositor. > > Additionally, if a KMS framebuffer can't be added for the new buffer, > the allocation will still succeed, and the buffer can still be used > for compositing, but not as an HW overlay. > > Bug: 683347 > Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel > Change-Id: Iab5c23c3e15fc235a375c9889085dda9d4816862 > Reviewed-on: https://chromium-review.googlesource.com/612761 > Reviewed-by: David Reveman <reveman@chromium.org> > Reviewed-by: Avi Drissman <avi@chromium.org> > Reviewed-by: Robert Sesek <rsesek@chromium.org> > Commit-Queue: Daniele Castagna <dcastagna@chromium.org> > Cr-Commit-Position: refs/heads/master@{#494089} TBR=avi@chromium.org,reveman@chromium.org,dcastagna@chromium.org,rsesek@chromium.org Change-Id: I878805e0c5a994ffbd76f1093941d699598f88a1 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 683347 Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Reviewed-on: https://chromium-review.googlesource.com/614420 Reviewed-by: David Reveman <reveman@chromium.org> Commit-Queue: David Reveman <reveman@chromium.org> Cr-Commit-Position: refs/heads/master@{#494166} [modify] https://crrev.com/40e00af506421cb58b7354d697cd8bc8d7836113/content/browser/gpu/gpu_internals_ui.cc [modify] https://crrev.com/40e00af506421cb58b7354d697cd8bc8d7836113/gpu/ipc/client/gpu_memory_buffer_impl_io_surface.cc [modify] https://crrev.com/40e00af506421cb58b7354d697cd8bc8d7836113/gpu/ipc/client/gpu_memory_buffer_impl_shared_memory.cc [modify] https://crrev.com/40e00af506421cb58b7354d697cd8bc8d7836113/gpu/ipc/client/gpu_memory_buffer_impl_test_template.h [modify] https://crrev.com/40e00af506421cb58b7354d697cd8bc8d7836113/gpu/ipc/common/gpu_memory_buffer_support.cc [modify] https://crrev.com/40e00af506421cb58b7354d697cd8bc8d7836113/gpu/ipc/host/gpu_memory_buffer_support.cc [modify] https://crrev.com/40e00af506421cb58b7354d697cd8bc8d7836113/gpu/ipc/service/gpu_memory_buffer_factory_test_template.h [modify] https://crrev.com/40e00af506421cb58b7354d697cd8bc8d7836113/ui/gfx/buffer_types.h [modify] https://crrev.com/40e00af506421cb58b7354d697cd8bc8d7836113/ui/gfx/linux/client_native_pixmap_factory_dmabuf.cc [modify] https://crrev.com/40e00af506421cb58b7354d697cd8bc8d7836113/ui/gfx/mojo/buffer_types.mojom [modify] https://crrev.com/40e00af506421cb58b7354d697cd8bc8d7836113/ui/gfx/mojo/buffer_types_struct_traits.h [modify] https://crrev.com/40e00af506421cb58b7354d697cd8bc8d7836113/ui/ozone/platform/drm/gpu/drm_thread.cc
,
Aug 14 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/9fe23aedb3be9c81a91cd548825371ac0ebe8684 commit 9fe23aedb3be9c81a91cd548825371ac0ebe8684 Author: Dongseong Hwang <dongseong.hwang@intel.com> Date: Mon Aug 14 21:57:30 2017 Add 'drm_atomic' use flag on apl. Enable atomic page flip and overlays on apl boards. BUG= 683347 TEST=We've been running reef with drm-atomic flags for 3 weeks. Change-Id: I35ce67d847b09895c9140082ca6227cfb8ab8b28 Reviewed-on: https://chromium-review.googlesource.com/592493 Commit-Ready: Dongseong Hwang <dongseong.hwang@intel.com> Tested-by: Dongseong Hwang <dongseong.hwang@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> Reviewed-by: Dongseong Hwang <dongseong.hwang@intel.com> Reviewed-by: Daniele Castagna <dcastagna@chromium.org> [modify] https://crrev.com/9fe23aedb3be9c81a91cd548825371ac0ebe8684/chipset-apl/profiles/base/make.defaults
,
Aug 15 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a24e977a265686cc300471ab7b2371764d58f735 commit a24e977a265686cc300471ab7b2371764d58f735 Author: Daniele Castagna <dcastagna@chromium.org> Date: Tue Aug 15 01:14:10 2017 Reland "ui: Add gfx::BufferUsage::SCANOUT_VDA_WRITE." This is a reland of f439921f66e6f3a51a95426e7dcb5e240c0eabef Original change's description: > ui: Add gfx::BufferUsage::SCANOUT_VDA_WRITE. > > This adds a buffer usage that produces buffers that can be written from > hardware video decoder, and can be read by the compositor or, possibly, > by the display controller. > > This is needed for formats like NV12 when the content is produced > by VAAPI decoders and the buffers are then sent to the compositor. > > Additionally, if a KMS framebuffer can't be added for the new buffer, > the allocation will still succeed, and the buffer can still be used > for compositing, but not as an HW overlay. > > Bug: 683347 > Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel > Change-Id: Iab5c23c3e15fc235a375c9889085dda9d4816862 > Reviewed-on: https://chromium-review.googlesource.com/612761 > Reviewed-by: David Reveman <reveman@chromium.org> > Reviewed-by: Avi Drissman <avi@chromium.org> > Reviewed-by: Robert Sesek <rsesek@chromium.org> > Commit-Queue: Daniele Castagna <dcastagna@chromium.org> > Cr-Commit-Position: refs/heads/master@{#494089} Bug: 683347 TBR: rsesek@chromium.org, avi@chromium.org, reveman@chromium.org Change-Id: I35765cf59ec93435403e36dfa392ce906ab3cdf4 Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Reviewed-on: https://chromium-review.googlesource.com/614540 Commit-Queue: Daniele Castagna <dcastagna@chromium.org> Reviewed-by: Daniele Castagna <dcastagna@chromium.org> Cr-Commit-Position: refs/heads/master@{#494286} [modify] https://crrev.com/a24e977a265686cc300471ab7b2371764d58f735/content/browser/gpu/gpu_internals_ui.cc [modify] https://crrev.com/a24e977a265686cc300471ab7b2371764d58f735/gpu/ipc/client/gpu_memory_buffer_impl_io_surface.cc [modify] https://crrev.com/a24e977a265686cc300471ab7b2371764d58f735/gpu/ipc/client/gpu_memory_buffer_impl_shared_memory.cc [modify] https://crrev.com/a24e977a265686cc300471ab7b2371764d58f735/gpu/ipc/client/gpu_memory_buffer_impl_test_template.h [modify] https://crrev.com/a24e977a265686cc300471ab7b2371764d58f735/gpu/ipc/common/gpu_memory_buffer_support.cc [modify] https://crrev.com/a24e977a265686cc300471ab7b2371764d58f735/gpu/ipc/host/gpu_memory_buffer_support.cc [modify] https://crrev.com/a24e977a265686cc300471ab7b2371764d58f735/gpu/ipc/service/gpu_memory_buffer_factory_test_template.h [modify] https://crrev.com/a24e977a265686cc300471ab7b2371764d58f735/ui/gfx/buffer_types.h [modify] https://crrev.com/a24e977a265686cc300471ab7b2371764d58f735/ui/gfx/linux/client_native_pixmap_factory_dmabuf.cc [modify] https://crrev.com/a24e977a265686cc300471ab7b2371764d58f735/ui/gfx/mojo/buffer_types.mojom [modify] https://crrev.com/a24e977a265686cc300471ab7b2371764d58f735/ui/gfx/mojo/buffer_types_struct_traits.h [modify] https://crrev.com/a24e977a265686cc300471ab7b2371764d58f735/ui/ozone/platform/drm/gpu/drm_thread.cc
,
Aug 29 2017
,
Oct 23 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/62e2e57b1d70dafad060d270ecd88e86a936ab1f commit 62e2e57b1d70dafad060d270ecd88e86a936ab1f Author: Daniele Castagna <dcastagna@chromium.org> Date: Mon Oct 23 01:50:04 2017 ui: Add an admissible error in GL image tests. When testing YUV images, initially we picked an RGB color so that RGB -> YVU on the CPU converted back to RGB on the GPU produced the original RGB values without any error. Unfortunately this doesn't work on all the devices. This CL adds an admissible per component error in image tests, so that YUV tests pass on all the devices. Bug: 683347 Test: ozone_gl_unittests --gtest_also_run_disabled_tests on eve Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Change-Id: I1cd16316557ca9e827d684fa8fe031282bebffff Reviewed-on: https://chromium-review.googlesource.com/729760 Reviewed-by: Avi Drissman <avi@chromium.org> Reviewed-by: David Reveman <reveman@chromium.org> Reviewed-by: Miguel Casas <mcasas@chromium.org> Commit-Queue: Daniele Castagna <dcastagna@chromium.org> Cr-Commit-Position: refs/heads/master@{#510719} [modify] https://crrev.com/62e2e57b1d70dafad060d270ecd88e86a936ab1f/ui/gl/gl_image_io_surface_unittest.cc [modify] https://crrev.com/62e2e57b1d70dafad060d270ecd88e86a936ab1f/ui/gl/gl_image_ref_counted_memory_unittest.cc [modify] https://crrev.com/62e2e57b1d70dafad060d270ecd88e86a936ab1f/ui/gl/gl_image_shared_memory_unittest.cc [modify] https://crrev.com/62e2e57b1d70dafad060d270ecd88e86a936ab1f/ui/gl/test/gl_image_test_template.h [modify] https://crrev.com/62e2e57b1d70dafad060d270ecd88e86a936ab1f/ui/gl/test/gl_test_helper.cc [modify] https://crrev.com/62e2e57b1d70dafad060d270ecd88e86a936ab1f/ui/gl/test/gl_test_helper.h [modify] https://crrev.com/62e2e57b1d70dafad060d270ecd88e86a936ab1f/ui/ozone/gl/gl_image_ozone_native_pixmap_unittest.cc
,
Nov 11 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/dd60cda111c0b668b43726268ea4b8902a35c814 commit dd60cda111c0b668b43726268ea4b8902a35c814 Author: Daniele Castagna <dcastagna@chromium.org> Date: Sat Nov 11 22:34:05 2017 Use NV12 VideoFrames for software decoder on x86. NV12 has been supported on CrOS x86 mesa for a while. Mapping an NV12 dmabuf has also been supported and test for a while. This CL simply advertises that NV12 images can be used and that NV12 dmabuffs buffers can be mmaped on the renderer side. In this way, software decoded video frames will be converted to NV12. Bug: 683347 Test: youtube on eve with HW video decoder disabled. Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Change-Id: I74e5991ed57acf87d9d0a5ff0c3b6839e8b47b8d Reviewed-on: https://chromium-review.googlesource.com/756217 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: David Reveman <reveman@chromium.org> Commit-Queue: Daniele Castagna <dcastagna@chromium.org> Cr-Commit-Position: refs/heads/master@{#515855} [modify] https://crrev.com/dd60cda111c0b668b43726268ea4b8902a35c814/gpu/command_buffer/service/feature_info.cc [modify] https://crrev.com/dd60cda111c0b668b43726268ea4b8902a35c814/ui/gfx/linux/client_native_pixmap_factory_dmabuf.cc
,
Nov 17 2017
,
Nov 22 2017
,
Nov 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/013fd01fafc9c3bda0539f405d27c72eb4caf258 commit 013fd01fafc9c3bda0539f405d27c72eb4caf258 Author: Daniele Castagna <dcastagna@chromium.org> Date: Wed Nov 22 05:15:41 2017 Revert "Use NV12 VideoFrames for software decoder on x86." This reverts commit dd60cda111c0b668b43726268ea4b8902a35c814. Reason for revert: it regressed SW video decoding on KBL. crbug.com/786842 Original change's description: > Use NV12 VideoFrames for software decoder on x86. > > NV12 has been supported on CrOS x86 mesa for a while. > Mapping an NV12 dmabuf has also been supported and test for a while. > > This CL simply advertises that NV12 images can be used and that > NV12 dmabuffs buffers can be mmaped on the renderer side. > > In this way, software decoded video frames will be converted to NV12. > > Bug: 683347 > Test: youtube on eve with HW video decoder disabled. > > Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel > Change-Id: I74e5991ed57acf87d9d0a5ff0c3b6839e8b47b8d > Reviewed-on: https://chromium-review.googlesource.com/756217 > Reviewed-by: Kenneth Russell <kbr@chromium.org> > Reviewed-by: David Reveman <reveman@chromium.org> > Commit-Queue: Daniele Castagna <dcastagna@chromium.org> > Cr-Commit-Position: refs/heads/master@{#515855} TBR=reveman@chromium.org,kbr@chromium.org,dcastagna@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 683347 Change-Id: I3019bc7b71ccfb81167b0b811230d2dc42ba85cb Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Reviewed-on: https://chromium-review.googlesource.com/784330 Reviewed-by: Daniele Castagna <dcastagna@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Daniele Castagna <dcastagna@chromium.org> Cr-Commit-Position: refs/heads/master@{#518539} [modify] https://crrev.com/013fd01fafc9c3bda0539f405d27c72eb4caf258/gpu/command_buffer/service/feature_info.cc [modify] https://crrev.com/013fd01fafc9c3bda0539f405d27c72eb4caf258/ui/gfx/linux/client_native_pixmap_factory_dmabuf.cc
,
Dec 5 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/5a609ce3284b8a957866b0a9c7f9e66192020c8e commit 5a609ce3284b8a957866b0a9c7f9e66192020c8e Author: Dongseong Hwang <dongseong.hwang@intel.com> Date: Tue Dec 05 04:02:52 2017 Add 'drm_atomic' use flag on cnl and glk. Enable atomic page flip and overlays on cnl and glk boards. There is not any reasons not to enable it on these boards, because it was enabled and well tested on apl and kbl. BUG= 683347 Change-Id: Iede641577b2a14cba65dff8fcbb16df2b837353a Reviewed-on: https://chromium-review.googlesource.com/713757 Commit-Ready: Dongseong Hwang <dongseong.hwang@intel.com> Tested-by: Dongseong Hwang <dongseong.hwang@intel.com> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> Reviewed-by: Dongseong Hwang <dongseong.hwang@intel.com> Reviewed-by: Daniele Castagna <dcastagna@chromium.org> [modify] https://crrev.com/5a609ce3284b8a957866b0a9c7f9e66192020c8e/chipset-glk/profiles/base/make.defaults [modify] https://crrev.com/5a609ce3284b8a957866b0a9c7f9e66192020c8e/chipset-cnl/profiles/base/make.defaults
,
Dec 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0d58af6fc31ca16210c8a0c475fce91fff516ab2 commit 0d58af6fc31ca16210c8a0c475fce91fff516ab2 Author: Miguel Casas-Sanchez <mcasas@chromium.org> Date: Fri Dec 22 03:29:02 2017 Reland: Use NV12 VideoFrames for software decoder on x86 This CL relands crrev.com/c/756217 after fixing the issue with previous generation boards by adding a new member to GpuPreferences disable_biplanar_gpu_memory_buffers_for_video_frames that is sent from Browser to GPU process, where it's connected to a new gles2 decoder Capabilities member: image_ycbcr_420v_disabled_for_video_frames which is then used in GpuVideoAcceleratorFactoriesImpl in the Renderer process. This flag and Feature indicates if biplanar VideoFrames (e.g. NV12) may be stored in single GpuMemoryBuffers (also called here biplanar for consistency) or not, for performance reasons. Test: crosvideo.appspot.com?codec=vp9 on scarlet (no hw decoding for VP9) and on Soraka (with hw decoding explicitly disabled). Both use the best they can for video_resource_updater, i.e. scarlet uses two buffers for upload (R_8 and RG_88), whereas soraka uses a single YUV420_BIPLANAR one. Bug: 791676 Original CL description ------------------------------------------- Use NV12 VideoFrames for software decoder on x86. NV12 has been supported on CrOS x86 mesa for a while. Mapping an NV12 dmabuf has also been supported and test for a while. This CL simply advertises that NV12 images can be used and that NV12 dmabuffs buffers can be mmaped on the renderer side. In this way, software decoded video frames will be converted to NV12. Bug: 683347 Test: youtube on eve with HW video decoder disabled. -------------------------------------------------------------------- Reviewed-on: https://chromium-review.googlesource.com/756217 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: David Reveman <reveman@chromium.org> Commit-Queue: Daniele Castagna <dcastagna@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#515855} Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Change-Id: I3b07cad358bd3219ad3ebdc45582e7b5213050e8 Reviewed-on: https://chromium-review.googlesource.com/838101 Commit-Queue: Miguel Casas <mcasas@chromium.org> Reviewed-by: Ken Buchanan <kenrb@chromium.org> Reviewed-by: Daniele Castagna <dcastagna@chromium.org> Reviewed-by: Antoine Labour <piman@chromium.org> Cr-Commit-Position: refs/heads/master@{#525919} [modify] https://crrev.com/0d58af6fc31ca16210c8a0c475fce91fff516ab2/content/browser/gpu/gpu_data_manager_impl_private.cc [modify] https://crrev.com/0d58af6fc31ca16210c8a0c475fce91fff516ab2/content/renderer/media/gpu/gpu_video_accelerator_factories_impl.cc [modify] https://crrev.com/0d58af6fc31ca16210c8a0c475fce91fff516ab2/gpu/command_buffer/common/capabilities.h [modify] https://crrev.com/0d58af6fc31ca16210c8a0c475fce91fff516ab2/gpu/command_buffer/service/feature_info.cc [modify] https://crrev.com/0d58af6fc31ca16210c8a0c475fce91fff516ab2/gpu/command_buffer/service/gles2_cmd_decoder.cc [modify] https://crrev.com/0d58af6fc31ca16210c8a0c475fce91fff516ab2/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc [modify] https://crrev.com/0d58af6fc31ca16210c8a0c475fce91fff516ab2/gpu/command_buffer/service/gpu_preferences.h [modify] https://crrev.com/0d58af6fc31ca16210c8a0c475fce91fff516ab2/gpu/ipc/common/gpu_preferences.mojom [modify] https://crrev.com/0d58af6fc31ca16210c8a0c475fce91fff516ab2/gpu/ipc/common/gpu_preferences_struct_traits.h [modify] https://crrev.com/0d58af6fc31ca16210c8a0c475fce91fff516ab2/ui/gfx/linux/client_native_pixmap_factory_dmabuf.cc
,
Feb 17 2018
,
Mar 22 2018
We have a lot of overlay between this and bug 813250, but either way, most of the work is done here. I'll close this and keep 813250 open for tracking the remaining upstream work on the i915.ko NV12 patches.
,
Mar 26 2018
,
May 4 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2380d0bf3b9ffec28cb6f7501dcb8efd066fde80 commit 2380d0bf3b9ffec28cb6f7501dcb8efd066fde80 Author: Dongseong Hwang <dongseong.hwang@intel.com> Date: Fri May 04 00:39:31 2018 ozone, cros: allow fullscreen overlay when the aspect ratio of the video is same to display. In the case, the fullscreen strategy is used for scanning out fullscreen scaled buffers (i.e. fullscreen youtube), instead of single on top strategy. It makes the case not submit the unnecessary primary plane to display engine. TEST=Youtube https://youtu.be/w8RN8T13rjE on soraka BUG= 683347 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I8c82c7dd6182c34c0420ff4819ba37d5881039f0 Reviewed-on: https://chromium-review.googlesource.com/656222 Commit-Queue: Dongseong Hwang <dongseong.hwang@intel.com> Reviewed-by: Kristian H. Kristensen <hoegsberg@chromium.org> Reviewed-by: Daniele Castagna <dcastagna@chromium.org> Reviewed-by: Dongseong Hwang <dongseong.hwang@intel.com> Cr-Commit-Position: refs/heads/master@{#555930} [modify] https://crrev.com/2380d0bf3b9ffec28cb6f7501dcb8efd066fde80/components/viz/service/display/overlay_strategy_fullscreen.cc [modify] https://crrev.com/2380d0bf3b9ffec28cb6f7501dcb8efd066fde80/components/viz/service/display/overlay_unittest.cc |
||||||||||||
►
Sign in to add a comment |
||||||||||||
Comment 1 by dongseon...@intel.com
, Jan 21 2017Blocking: 370522 587130
Cc: dnicoara@chromium.org reve...@chromium.org ccameron@chromium.org dcasta...@chromium.org marc...@chromium.org kalyan.k...@intel.com spang@chromium.org