add vsync as present mode

This commit is contained in:
bQUARKz 2026-01-23 04:51:18 +00:00
parent 524b47fd61
commit 0b2a97aa88
Signed by: bquarkz
SSH Key Fingerprint: SHA256:Z7dgqoglWwoK6j6u4QC87OveEq74WOhFN+gitsxtkf8

View File

@ -5,7 +5,8 @@ use crate::debugger::HostDebugger;
use crate::stats::HostStats; use crate::stats::HostStats;
use crate::input::HostInputHandler; use crate::input::HostInputHandler;
use crate::utilities::draw_rgb565_to_rgba8; use crate::utilities::draw_rgb565_to_rgba8;
use pixels::{Pixels, SurfaceTexture}; use pixels::{Pixels, PixelsBuilder, SurfaceTexture};
use pixels::wgpu::PresentMode;
use prometeu_core::firmware::{BootTarget, Firmware}; use prometeu_core::firmware::{BootTarget, Firmware};
use prometeu_core::Hardware; use prometeu_core::Hardware;
use std::time::{Duration, Instant}; use std::time::{Duration, Instant};
@ -175,9 +176,11 @@ impl ApplicationHandler for HostRunner {
let size = window.inner_size(); let size = window.inner_size();
let surface_texture = SurfaceTexture::new(size.width, size.height, window); let surface_texture = SurfaceTexture::new(size.width, size.height, window);
let mut pixels = Pixels::new(Hardware::W as u32, Hardware::H as u32, surface_texture) let mut pixels = PixelsBuilder::new(Hardware::W as u32, Hardware::H as u32, surface_texture)
.present_mode(PresentMode::Fifo) // activate vsync
.build()
.expect("failed to create Pixels"); .expect("failed to create Pixels");
pixels.frame_mut().fill(0); pixels.frame_mut().fill(0);
self.pixels = Some(pixels); self.pixels = Some(pixels);