2#ifndef PEDIGREE_VIRTIO_GPU_H
3#define PEDIGREE_VIRTIO_GPU_H
5#include "pedigree/kernel/graphics/GraphicsService.h"
6#include "pedigree/kernel/machine/Display.h"
7#include "pedigree/kernel/machine/Framebuffer.h"
8#include "pedigree/kernel/process/Mutex.h"
9#include "pedigree/kernel/process/OperationBarrier.h"
10#include "pedigree/kernel/processor/MemoryRegion.h"
12#include "modules/drivers/common/virtio/VirtioPci.h"
13#include "modules/drivers/common/virtio/Virtqueue.h"
24 void redraw(
size_t x,
size_t y,
size_t width,
size_t height);
34 bool setScreenMode(
size_t width,
size_t height,
size_t bpp)
override;
41 void closeCallbacks();
45 void hwRedraw(
size_t x,
size_t y,
size_t width,
size_t height)
override;
52 static int refreshThread(
void* context);
53 bool transact(
const void* request,
size_t requestLength, uint32_t expectedResponse,
54 void* response,
size_t responseLength);
55 bool update(
size_t x,
size_t y,
size_t width,
size_t height);
56 bool registerProvider();
57 void unregisterProvider();
Special memory entity in the kernel's virtual address space.
physical_uintptr_t getPhysicalPage(size_t offset) const override
void hwRedraw(size_t x, size_t y, size_t width, size_t height) override
Inherited by drivers that provide a hardware redraw function.
void dump(String &description) override
void * getFramebuffer() override
void getName(String &name) override
bool setScreenMode(ScreenMode mode) override
bool getCurrentScreenMode(ScreenMode &mode) override
bool getScreenModes(List< ScreenMode * > &modes) override
bool getPixelFormat(PixelFormat &format) override