From b7ed06327bf625bdc1aa55899665f544757e9b76 Mon Sep 17 00:00:00 2001 From: Exophase Date: Fri, 23 Dec 2011 02:43:58 +0200 Subject: [PATCH] psx_gpu: texture cache fix2 --- plugins/gpu_neon/psx_gpu/psx_gpu.c | 5 +++++ plugins/gpu_neon/psx_gpu/psx_gpu_parse.c | 3 +-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/plugins/gpu_neon/psx_gpu/psx_gpu.c b/plugins/gpu_neon/psx_gpu/psx_gpu.c index 2acfedc6..5c49b228 100644 --- a/plugins/gpu_neon/psx_gpu/psx_gpu.c +++ b/plugins/gpu_neon/psx_gpu/psx_gpu.c @@ -281,6 +281,7 @@ void update_texture_4bpp_cache(psx_gpu_struct *psx_gpu) while(sub_x) { texel_block = *vram_ptr; + texture_page_ptr[0] = texel_block & 0xF; texture_page_ptr[1] = (texel_block >> 4) & 0xF; texture_page_ptr[2] = (texel_block >> 8) & 0xF; @@ -2017,6 +2018,10 @@ void texture_blocks_16bpp(psx_gpu_struct *psx_gpu) #define shade_blocks_textured_false_modulated_check_dithered(target) \ + if(psx_gpu->triangle_color == 0x808080) \ + { \ + false_modulated_blocks += num_blocks; \ + } \ #define shade_blocks_textured_false_modulated_check_undithered(target) \ if(psx_gpu->triangle_color == 0x808080) \ diff --git a/plugins/gpu_neon/psx_gpu/psx_gpu_parse.c b/plugins/gpu_neon/psx_gpu/psx_gpu_parse.c index fc9f3fba..2ef823d7 100644 --- a/plugins/gpu_neon/psx_gpu/psx_gpu_parse.c +++ b/plugins/gpu_neon/psx_gpu/psx_gpu_parse.c @@ -96,8 +96,7 @@ void set_texture(psx_gpu_struct *psx_gpu, u32 texture_settings) u32 texture_mode = (texture_settings >> 7) & 0x3; u32 render_state_base = psx_gpu->render_state_base; - if(psx_gpu->current_texture_page != new_texture_page) - flush_render_block_buffer(psx_gpu); + flush_render_block_buffer(psx_gpu); render_state_base &= ~(0xF << 6); render_state_base |= ((texture_settings >> 5) & 0xF) << 6; -- 2.39.2