Mouse cursor in cirrus drm |
|||||||
Issue descriptionWe love it, it's awesome, life without it is hard. Black and white cursors are more than enough to use a VM.
,
Mar 15 2016
Nevermind, it does support 64x64 cursors.
,
Mar 29 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/f60867c0c5dbd7271f4564b197876cbd71047468 commit f60867c0c5dbd7271f4564b197876cbd71047468 Author: Zach Reizner <zachr@google.com> Date: Fri Mar 18 23:07:14 2016 CHROMIUM: drm/cirrus: implement hardware cursor support This CL implements hardware support for cursors through cirrus DRM. It only supports ARGB 8-bit cursors from userspace, and downconverts them to 1-bit black and white with masking, which is all cirrus hardware can support. Only cursors with size 32x32 or 64x64 will work. The intention of adding cursor support is to make it far easier to use Chromium OS in QEMU. TEST=ui or drm_cursor_test in QEMU BUG= chromium:594885 Change-Id: I9b670787cefcfed7d89f2e420fdc9d74b2c832d0 Signed-off-by: Zach Reizner <zachr@google.com> Reviewed-on: https://chromium-review.googlesource.com/333709 Commit-Ready: Zach Reizner <zachr@chromium.org> Tested-by: Zach Reizner <zachr@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/f60867c0c5dbd7271f4564b197876cbd71047468/drivers/gpu/drm/cirrus/cirrus_mode.c [modify] https://crrev.com/f60867c0c5dbd7271f4564b197876cbd71047468/drivers/gpu/drm/cirrus/cirrus_main.c [modify] https://crrev.com/f60867c0c5dbd7271f4564b197876cbd71047468/drivers/gpu/drm/cirrus/cirrus_ttm.c [modify] https://crrev.com/f60867c0c5dbd7271f4564b197876cbd71047468/drivers/gpu/drm/cirrus/cirrus_drv.h
,
Mar 29 2016
Starting to port this to kernel versions 3.8 3.10 3.18 4.4
,
Mar 30 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/cf8deedc29a373d5b4421be10131bab1d33aec72 commit cf8deedc29a373d5b4421be10131bab1d33aec72 Author: Zach Reizner <zachr@google.com> Date: Fri Mar 18 23:07:14 2016 CHROMIUM: drm/cirrus: implement hardware cursor support This CL implements hardware support for cursors through cirrus DRM. It only supports ARGB 8-bit cursors from userspace, and downconverts them to 1-bit black and white with masking, which is all cirrus hardware can support. Only cursors with size 32x32 or 64x64 will work. The intention of adding cursor support is to make it far easier to use Chromium OS in QEMU. TEST=ui or drm_cursor_test in QEMU BUG= chromium:594885 (cherry picked from f60867c0c5dbd7271f4564b197876cbd71047468) Change-Id: Iacc6b5809920ec91ca24458e83d1892052ca05f4 Signed-off-by: Zach Reizner <zachr@google.com> Reviewed-on: https://chromium-review.googlesource.com/335579 Commit-Ready: Zach Reizner <zachr@chromium.org> Tested-by: Zach Reizner <zachr@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> Reviewed-by: Haixia Shi <hshi@chromium.org> [modify] https://crrev.com/cf8deedc29a373d5b4421be10131bab1d33aec72/drivers/gpu/drm/cirrus/cirrus_mode.c [modify] https://crrev.com/cf8deedc29a373d5b4421be10131bab1d33aec72/drivers/gpu/drm/cirrus/cirrus_main.c [modify] https://crrev.com/cf8deedc29a373d5b4421be10131bab1d33aec72/drivers/gpu/drm/cirrus/cirrus_ttm.c [modify] https://crrev.com/cf8deedc29a373d5b4421be10131bab1d33aec72/drivers/gpu/drm/cirrus/cirrus_drv.h
,
Mar 31 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/7ef590cdcc5a0f8fb04704fe3a822ac940376c76 commit 7ef590cdcc5a0f8fb04704fe3a822ac940376c76 Author: Zach Reizner <zachr@google.com> Date: Fri Mar 18 23:07:14 2016 CHROMIUM: drm/cirrus: implement hardware cursor support This CL implements hardware support for cursors through cirrus DRM. It only supports ARGB 8-bit cursors from userspace, and downconverts them to 1-bit black and white with masking, which is all cirrus hardware can support. Only cursors with size 32x32 or 64x64 will work. The intention of adding cursor support is to make it far easier to use Chromium OS in QEMU. TEST=ui or drm_cursor_test in QEMU BUG= chromium:594885 Signed-off-by: Zach Reizner <zachr@google.com> (cherry picked from commit f60867c0c5dbd7271f4564b197876cbd71047468) Change-Id: I098481d80bbcca7034227ad7d97fc3e8bdd9f12a Reviewed-on: https://chromium-review.googlesource.com/336300 Commit-Ready: Zach Reizner <zachr@chromium.org> Tested-by: Zach Reizner <zachr@chromium.org> Reviewed-by: Haixia Shi <hshi@chromium.org> [modify] https://crrev.com/7ef590cdcc5a0f8fb04704fe3a822ac940376c76/drivers/gpu/drm/cirrus/cirrus_mode.c [modify] https://crrev.com/7ef590cdcc5a0f8fb04704fe3a822ac940376c76/drivers/gpu/drm/cirrus/cirrus_main.c [modify] https://crrev.com/7ef590cdcc5a0f8fb04704fe3a822ac940376c76/drivers/gpu/drm/cirrus/cirrus_ttm.c [modify] https://crrev.com/7ef590cdcc5a0f8fb04704fe3a822ac940376c76/drivers/gpu/drm/cirrus/cirrus_drv.h
,
Mar 31 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/drm-tests/+/4f8a8de029f20210d36c9a23d30bc7db05b8421f commit 4f8a8de029f20210d36c9a23d30bc7db05b8421f Author: Zach Reizner <zachr@google.com> Date: Sat Mar 26 00:26:44 2016 drm-tests: make drm_cursor_test take cursor size as an argument This CL makes drm_cursor_test take one optional parameter, which shall be the cursor size in pixels. The cursor is always square, so only one integer parameter is needed. Without parameters, the test behavior is unchanged. I used this test for the cirrus hw cursor driver, which has radically different image formats for its different cursor sizes. TEST=`drm_cursor_test 32` on cirrus on QEMU w/ CL:333709 BUG= chromium:594885 Change-Id: Iedbfe63ead401c1391e80d5a481f050bc698044e Reviewed-on: https://chromium-review.googlesource.com/335323 Commit-Ready: Zach Reizner <zachr@chromium.org> Tested-by: Zach Reizner <zachr@chromium.org> Reviewed-by: Haixia Shi <hshi@chromium.org> [modify] https://crrev.com/4f8a8de029f20210d36c9a23d30bc7db05b8421f/drm_cursor_test.c
,
Mar 31 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/1dfd142b6e5be45b2ac6479dba85a15add6f835f commit 1dfd142b6e5be45b2ac6479dba85a15add6f835f Author: Zach Reizner <zachr@google.com> Date: Fri Mar 18 23:07:14 2016 CHROMIUM: drm/cirrus: implement hardware cursor support This CL implements hardware support for cursors through cirrus DRM. It only supports ARGB 8-bit cursors from userspace, and downconverts them to 1-bit black and white with masking, which is all cirrus hardware can support. Only cursors with size 32x32 or 64x64 will work. The intention of adding cursor support is to make it far easier to use Chromium OS in QEMU. TEST=ui or drm_cursor_test in QEMU BUG= chromium:594885 Signed-off-by: Zach Reizner <zachr@google.com> (cherry picked from commit f60867c0c5dbd7271f4564b197876cbd71047468) Change-Id: I4f900edbf880b69e614b69963f31b062618ff77c Reviewed-on: https://chromium-review.googlesource.com/336284 Commit-Ready: Zach Reizner <zachr@chromium.org> Tested-by: Zach Reizner <zachr@chromium.org> Reviewed-by: Haixia Shi <hshi@chromium.org> [modify] https://crrev.com/1dfd142b6e5be45b2ac6479dba85a15add6f835f/drivers/gpu/drm/cirrus/cirrus_mode.c [modify] https://crrev.com/1dfd142b6e5be45b2ac6479dba85a15add6f835f/drivers/gpu/drm/cirrus/cirrus_main.c [modify] https://crrev.com/1dfd142b6e5be45b2ac6479dba85a15add6f835f/drivers/gpu/drm/cirrus/cirrus_ttm.c [modify] https://crrev.com/1dfd142b6e5be45b2ac6479dba85a15add6f835f/drivers/gpu/drm/cirrus/cirrus_drv.h
,
Apr 12 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel-next/+/07189d332ed2aac3fe95af99cd97a8dc89a2a055 commit 07189d332ed2aac3fe95af99cd97a8dc89a2a055 Author: Zach Reizner <zachr@google.com> Date: Fri Mar 18 23:07:14 2016 CHROMIUM: drm/cirrus: implement hardware cursor support This CL implements hardware support for cursors through cirrus DRM. It only supports ARGB 8-bit cursors from userspace, and downconverts them to 1-bit black and white with masking, which is all cirrus hardware can support. Only cursors with size 32x32 or 64x64 will work. The intention of adding cursor support is to make it far easier to use Chromium OS in QEMU. TEST=ui or drm_cursor_test in QEMU BUG= chromium:594885 (cherry picked from f60867c0c5dbd7271f4564b197876cbd71047468) Original-Change-Id: Iacc6b5809920ec91ca24458e83d1892052ca05f4 Signed-off-by: Zach Reizner <zachr@google.com> Reviewed-on: https://chromium-review.googlesource.com/335579 Commit-Ready: Zach Reizner <zachr@chromium.org> Tested-by: Zach Reizner <zachr@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> Reviewed-by: Haixia Shi <hshi@chromium.org> (cherry picked from commit cf8deedc29a373d5b4421be10131bab1d33aec72) Conflicts: drivers/gpu/drm/cirrus/cirrus_main.c Change-Id: I1c4e6aa20b533034b8794d52af2d894044427f6f [modify] https://crrev.com/07189d332ed2aac3fe95af99cd97a8dc89a2a055/drivers/gpu/drm/cirrus/cirrus_mode.c [modify] https://crrev.com/07189d332ed2aac3fe95af99cd97a8dc89a2a055/drivers/gpu/drm/cirrus/cirrus_main.c [modify] https://crrev.com/07189d332ed2aac3fe95af99cd97a8dc89a2a055/drivers/gpu/drm/cirrus/cirrus_ttm.c [modify] https://crrev.com/07189d332ed2aac3fe95af99cd97a8dc89a2a055/drivers/gpu/drm/cirrus/cirrus_drv.h
,
Apr 15 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel-next/+/93717965f6b70463485f9a6b2e95c8f532b17350 commit 93717965f6b70463485f9a6b2e95c8f532b17350 Author: Zach Reizner <zachr@google.com> Date: Fri Mar 18 23:07:14 2016 CHROMIUM: drm/cirrus: implement hardware cursor support This CL implements hardware support for cursors through cirrus DRM. It only supports ARGB 8-bit cursors from userspace, and downconverts them to 1-bit black and white with masking, which is all cirrus hardware can support. Only cursors with size 32x32 or 64x64 will work. The intention of adding cursor support is to make it far easier to use Chromium OS in QEMU. TEST=ui or drm_cursor_test in QEMU BUG= chromium:594885 (cherry picked from f60867c0c5dbd7271f4564b197876cbd71047468) Original-Change-Id: Iacc6b5809920ec91ca24458e83d1892052ca05f4 Signed-off-by: Zach Reizner <zachr@google.com> Reviewed-on: https://chromium-review.googlesource.com/335579 Commit-Ready: Zach Reizner <zachr@chromium.org> Tested-by: Zach Reizner <zachr@chromium.org> Reviewed-by: Stphane Marchesin <marcheu@chromium.org> Reviewed-by: Haixia Shi <hshi@chromium.org> (cherry picked from commit cf8deedc29a373d5b4421be10131bab1d33aec72) Conflicts: drivers/gpu/drm/cirrus/cirrus_main.c Change-Id: Ib337adab424da25daa07ef967941aa31df7e8746 Reviewed-on: https://chromium-review.googlesource.com/339091 Commit-Ready: Stéphane Marchesin <marcheu@chromium.org> Tested-by: Stéphane Marchesin <marcheu@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/93717965f6b70463485f9a6b2e95c8f532b17350/drivers/gpu/drm/cirrus/cirrus_mode.c [modify] https://crrev.com/93717965f6b70463485f9a6b2e95c8f532b17350/drivers/gpu/drm/cirrus/cirrus_main.c [modify] https://crrev.com/93717965f6b70463485f9a6b2e95c8f532b17350/drivers/gpu/drm/cirrus/cirrus_ttm.c [modify] https://crrev.com/93717965f6b70463485f9a6b2e95c8f532b17350/drivers/gpu/drm/cirrus/cirrus_drv.h
,
Apr 15 2016
Porting to old kernels is done. It looks like 4.4 was also done by a few other people. |
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by za...@chromium.org
, Mar 15 2016