History log of /fuchsia/zircon/system/dev/display/simple/simple-display.cpp
Revision Date Author Comments
# d4895549 28-Aug-2018 David Stevens <stevensd@google.com>

[virtcon] Avoid reading from WC memory

Reading from memory with a cache policy other than CACHED is
potentially very slow. Since gfx_surface needs to read from its buffer
for scrolling, if the framebuffer vmo can't be mapped CACHED then use a
second gfx_surface for rendering and blit the result to the framebuffer
vmo.

This change relies on the display driver setting an appropriate cache
policy with zx_set_cache_policy and keeping its own mapping of the VMO
to prevent the virtcon from setting the cache policy.

Bug: ZX-2198
Test: Check virtcon scrolling speed on NUC with intel_i915 disabled
Change-Id: I8af71b72ed9fff720947e685dee286d9c0edaf26


# ceddf6ea 13-Aug-2018 David Stevens <stevensd@google.com>

[display] Remove ddk calls from on_displays_changed

This change replaces get_info with per-display argument structs to
on_displays_changed, and it moves the display mode validation to a
posted task. This allow simpler locking in the impl drivers, and it
enables the addition of output parameters into the argument structs.

This change also causes ownership messages to be sent before display
changed messages. Update various clients to not rely on a particular
order of messages.

Test: Boot to virtcon/hotplug on NUC/vim/eve. Run gfxtest, gfxlatency,
and display-test

Change-Id: Id561ed7587037353c1aeeab96511481d74026bdc


# f123e025 12-Jul-2018 John Bauman <jbauman@google.com>

[display] Set display_cfg_result on success.

This was just stack garbage on success, causing the caller to randomly
treat it as failure.

TEST: console on vim2.

Change-Id: If0c136a0618c5c1b0c874d0ec5faad2651711f6a


# 034064ca 09-Jul-2018 David Stevens <stevensd@google.com>

[display] Add display mode validation

Test: display-test on NUC and eve
Change-Id: Ic5f35bbd73b3d860d330cc94102009ab9ba8b45c


# 44b9ca30 26-Jun-2018 David Stevens <stevensd@google.com>

[display] Implement new vsync API

This change adds a new vsync event to the display controller API removes
the present signal event. It also changes the behavior of the cursor
position API to clamp the cursor to the display, to sidestep the issue
of how vsync interacts with a cursor that isn't on the display.

Test: display-test, vkcube, vkcube_image_pipe_swapchain
Change-Id: I6f332e3709eef2c6e1c932581024c2149b65a2a1


# b3c5d683 22-Jun-2018 David Stevens <stevensd@google.com>

[display] Add layer alpha API

Test: manually run display-test
Change-Id: I8d6791f5ad286d54bca130e0d156010e61c3539d


# 31b16cc3 19-Jun-2018 David Stevens <stevensd@google.com>

[display] Add support for color space conversion

Test: manually run display-test
Change-Id: I81e2bcec9d7b800b572b8f579aa6eb8b57792894


# 675f0d1c 06-Jun-2018 David Stevens <stevensd@google.com>

[simple-display] Allow consecutive display clients

ZX-2205 #done

Test: Run gfxtest twice in qemu with virtcon.disable
Change-Id: I39de34c0678722808f35122fb74873a41ef534c9


# eac6eeff 09-Jun-2018 Adam Barth <abarth@chromium.org>

[syscalls] Rename zx_bootloader_fb_get_info to zx_framebuffer_get_info

Also, guard syscall behind the root resource.

Change-Id: Ie746f4fa56724251c9feb3b788c3645c74eecf8c


# fe777833 11-May-2018 David Stevens <stevensd@google.com>

[display] Add layers to ddk display protocol

Change-Id: I0e876353121ca8c58bcca4a5c0ada6ee61d0e259


# 82c2037d 25-May-2018 David Stevens <stevensd@google.com>

[kernel] Delete vaddr based set_framebuffer syscall

This change deletes the vaddr based set_framebuffer syscall. It
migrates all usages to the vmo based set_framebuffer syscall and
renames that call from set_framebuffer_vmo to just set_framebuffer.

Change-Id: I3caf1e8bf8d7997dbabb4e04b38a47d9e5820eb8


# c7fc6b1d 29-May-2018 David Stevens <stevensd@google.com>

[ddk][display] Add support for non-edid displays

Change-Id: Idabcda75709659363deb31cead1f2b923a8b6fcc


# 3734345a 12-Apr-2018 David Stevens <stevensd@google.com>

[display][simple] Create a dumb display driver

Convert the bochs display driver to the new display controller protocol
in such a way that most code can be shared with other dumb display
drivers.

Change-Id: I65b40203bb6c871d25a0c4be9d3d71b436b65ce7