refactor: ByteOffset newtype for window/register/ring offsets; named virtio-gpu cmd fields
This commit is contained in:
@@ -6,7 +6,7 @@ use hw_virtio::mmio::{MmioAccess, Registers};
|
||||
use hw_virtio::queue::VirtioQueue;
|
||||
use libkos::Window;
|
||||
use port_framebuffer::Framebuffer;
|
||||
use types::address::{PhysicalAddress, VirtualAddress};
|
||||
use types::address::{ByteOffset, PhysicalAddress, VirtualAddress};
|
||||
use types::bounded::PageCount;
|
||||
use types::display::{Color, Dimension, ScreenCoord};
|
||||
|
||||
@@ -50,7 +50,7 @@ impl VirtioFramebuffer {
|
||||
let dma = GpuDmaAddrs {
|
||||
cmd_pa: cmd.physical,
|
||||
cmd: cmd.window,
|
||||
resp_pa: PhysicalAddress::from_raw(cmd.physical.raw() + gpu::RESPONSE),
|
||||
resp_pa: PhysicalAddress::from_raw(cmd.physical.raw() + gpu::RESPONSE.raw()),
|
||||
};
|
||||
let (w, h) = gpu::get_display_info(®s, &queue, &dma)
|
||||
.and_then(|(w, h)| Some((u16::try_from(w).ok()?, u16::try_from(h).ok()?)))
|
||||
@@ -93,7 +93,7 @@ impl Framebuffer for VirtioFramebuffer {
|
||||
return;
|
||||
}
|
||||
let offset = (y.raw() as usize) * self.stride + (x.raw() as usize) * FB_BPP;
|
||||
self.pixels.write(offset, color.raw());
|
||||
self.pixels.write(ByteOffset::new(offset), color.raw());
|
||||
}
|
||||
|
||||
fn fill_rect(&mut self, x: ScreenCoord, y: ScreenCoord, w: Dimension, h: Dimension, color: Color) {
|
||||
@@ -106,7 +106,7 @@ impl Framebuffer for VirtioFramebuffer {
|
||||
|
||||
fn clear(&mut self, color: Color) {
|
||||
let total = self.width.raw() as usize * self.height.raw() as usize;
|
||||
self.pixels.fill_u32(0, total, color.raw());
|
||||
self.pixels.fill_u32(ByteOffset::ZERO, total, color.raw());
|
||||
}
|
||||
|
||||
fn flush(&mut self) {
|
||||
|
||||
Reference in New Issue
Block a user