From 28e6ac2942bec04670e7caab5db2d39d343bd582 Mon Sep 17 00:00:00 2001 From: izzy2lost Date: Mon, 30 Mar 2026 02:26:00 -0400 Subject: [PATCH] Port PR 2800 stale VRAM buffer fix --- hw/xbox/nv2a/pgraph/gl/surface.c | 3 +++ hw/xbox/nv2a/pgraph/vk/surface.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/hw/xbox/nv2a/pgraph/gl/surface.c b/hw/xbox/nv2a/pgraph/gl/surface.c index 5ff697cd45..e42a76031f 100644 --- a/hw/xbox/nv2a/pgraph/gl/surface.c +++ b/hw/xbox/nv2a/pgraph/gl/surface.c @@ -2353,6 +2353,9 @@ static void surface_download(NV2AState *d, SurfaceBinding *surface, bool force) memory_region_set_client_dirty(d->vram, surface->vram_addr, surface->pitch * surface->height, DIRTY_MEMORY_NV2A_TEX); + memory_region_set_client_dirty(d->vram, surface->vram_addr, + surface->pitch * surface->height, + DIRTY_MEMORY_NV2A); surface->download_pending = false; surface->draw_dirty = false; diff --git a/hw/xbox/nv2a/pgraph/vk/surface.c b/hw/xbox/nv2a/pgraph/vk/surface.c index ea32354b3e..55425f886d 100644 --- a/hw/xbox/nv2a/pgraph/vk/surface.c +++ b/hw/xbox/nv2a/pgraph/vk/surface.c @@ -632,6 +632,9 @@ static void download_surface(NV2AState *d, SurfaceBinding *surface, bool force) memory_region_set_client_dirty(d->vram, surface->vram_addr, surface->pitch * surface->height, DIRTY_MEMORY_NV2A_TEX); + memory_region_set_client_dirty(d->vram, surface->vram_addr, + surface->pitch * surface->height, + DIRTY_MEMORY_NV2A); surface->download_pending = false; surface->draw_dirty = false;