| // Copyright 2016 The Fuchsia Authors |
| // Copyright (c) 2008-2010 Travis Geiselbrecht |
| // |
| // Use of this source code is governed by a MIT-style |
| // license that can be found in the LICENSE file or at |
| // https://opensource.org/licenses/MIT |
| |
| #pragma once |
| |
| #include <zircon/compiler.h> |
| #include <zircon/pixelformat.h> |
| |
| #include <stdbool.h> |
| #include <sys/types.h> |
| #include <inttypes.h> |
| #include <zircon/types.h> |
| |
| int display_init(void *framebuffer); |
| int display_enable(bool enable); |
| void display_pre_freq_change(void); |
| void display_post_freq_change(void); |
| |
| // Has no effect if DISPLAY_FLAG_CRASH_FRAMEBUFFER is set |
| #define DISPLAY_FLAG_HW_FRAMEBUFFER (1<<0) |
| #define DISPLAY_FLAG_NEEDS_CACHE_FLUSH (1<<1) |
| |
| // gfxconsole will not allocate a backing buffer |
| // or do any other allocations |
| #define DISPLAY_FLAG_CRASH_FRAMEBUFFER (1<<2) |
| |
| struct display_info { |
| void *framebuffer; |
| zx_pixel_format_t format; |
| uint width; |
| uint height; |
| uint stride; |
| |
| uint32_t flags; |
| |
| // Update function |
| void (*flush)(uint starty, uint endy); |
| }; |
| |
| __BEGIN_CDECLS |
| zx_status_t display_get_info(struct display_info *info); |
| __END_CDECLS |