aboutsummaryrefslogtreecommitdiff
path: root/plugins/gpu_neon/psx_gpu
diff options
context:
space:
mode:
authorExophase2011-12-23 02:43:58 +0200
committernotaz2011-12-23 02:47:31 +0200
commitb7ed06327bf625bdc1aa55899665f544757e9b76 (patch)
treeef664720ca61bd3b83063390e18c63db1d8c3fcd /plugins/gpu_neon/psx_gpu
parent3867c6efed8d1cd6cd40f07cd46876f59da8912f (diff)
downloadpcsx_rearmed-b7ed06327bf625bdc1aa55899665f544757e9b76.tar.gz
pcsx_rearmed-b7ed06327bf625bdc1aa55899665f544757e9b76.tar.bz2
pcsx_rearmed-b7ed06327bf625bdc1aa55899665f544757e9b76.zip
psx_gpu: texture cache fix2
Diffstat (limited to 'plugins/gpu_neon/psx_gpu')
-rw-r--r--plugins/gpu_neon/psx_gpu/psx_gpu.c5
-rw-r--r--plugins/gpu_neon/psx_gpu/psx_gpu_parse.c3
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 2acfedc..5c49b22 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 fc9f3fb..2ef823d 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;