X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=plugins%2Fgpulib%2Fgpu.c;h=fec46882437dfe5461a9aa7ad408cf8c146975d4;hb=893f780e3ec8eb0b83fa4fc374c361ffffab0cff;hp=dfaff58e25803d3755d02dec9168f438e1a8d001;hpb=72583812ef6aae62ec1614772f31dd41056f17e4;p=pcsx_rearmed.git diff --git a/plugins/gpulib/gpu.c b/plugins/gpulib/gpu.c index dfaff58e..fec46882 100644 --- a/plugins/gpulib/gpu.c +++ b/plugins/gpulib/gpu.c @@ -447,9 +447,11 @@ static void finish_vram_transfer(int is_read) { if (is_read) gpu.status &= ~PSX_GPU_STATUS_IMG; - else + else { + gpu.state.fb_dirty = 1; renderer_update_caches(gpu.dma_start.x, gpu.dma_start.y, gpu.dma_start.w, gpu.dma_start.h, 0); + } } static void do_vram_copy(const uint32_t *params) @@ -598,6 +600,7 @@ static noinline int do_cmd_buffer(uint32_t *data, int count) break; } do_vram_copy(data + pos + 1); + vram_dirty = 1; pos += 4; continue; } @@ -879,6 +882,14 @@ void GPUvBlank(int is_vblank, int lcf) } } +void GPUgetScreenInfo(int *y, int *base_hres) +{ + *y = gpu.screen.y; + *base_hres = gpu.screen.vres; + if (gpu.status & PSX_GPU_STATUS_DHEIGHT) + *base_hres >>= 1; +} + #include "../../frontend/plugin_lib.h" void GPUrearmedCallbacks(const struct rearmed_cbs *cbs)