mach: re-create swapchain on vsync mode change
This commit is contained in:
parent
24132ad4d9
commit
2fd8e876fd
1 changed files with 4 additions and 0 deletions
|
|
@ -460,11 +460,15 @@ pub fn headless(self: *Core) bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn setVSync(self: *Core, mode: VSyncMode) void {
|
pub fn setVSync(self: *Core, mode: VSyncMode) void {
|
||||||
|
const framebuffer_size = self.framebufferSize();
|
||||||
self.swap_chain_desc.present_mode = switch (mode) {
|
self.swap_chain_desc.present_mode = switch (mode) {
|
||||||
.none => .immediate,
|
.none => .immediate,
|
||||||
.double => .fifo,
|
.double => .fifo,
|
||||||
.triple => .mailbox,
|
.triple => .mailbox,
|
||||||
};
|
};
|
||||||
|
self.swap_chain_desc.width = framebuffer_size.width;
|
||||||
|
self.swap_chain_desc.height = framebuffer_size.height;
|
||||||
|
self.swap_chain = self.gpu_device.createSwapChain(self.surface, &self.swap_chain_desc);
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn vsync(self: *Core) VSyncMode {
|
pub fn vsync(self: *Core) VSyncMode {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue