X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=plugins%2Fgpu_neon%2Fpsx_gpu%2Fpsx_gpu.c;h=76bfb157a7e320cbdebcd1da3bed4bf1bb406685;hp=49e8c8bfe14585bb2a88a37831988ecb49b721fa;hb=87c45ad1e2a265cedb7970cc1b7777591d0050b7;hpb=1f88961fb70bfdffa9c60fcc0c5c9cdc8108e742 diff --git a/plugins/gpu_neon/psx_gpu/psx_gpu.c b/plugins/gpu_neon/psx_gpu/psx_gpu.c index 49e8c8bf..76bfb157 100644 --- a/plugins/gpu_neon/psx_gpu/psx_gpu.c +++ b/plugins/gpu_neon/psx_gpu/psx_gpu.c @@ -2270,7 +2270,7 @@ void shade_blocks_unshaded_untextured_indirect(psx_gpu_struct *psx_gpu); void shade_blocks_unshaded_untextured_direct(psx_gpu_struct *psx_gpu); #ifndef NEON_BUILD - + void shade_blocks_unshaded_untextured_indirect(psx_gpu_struct *psx_gpu) { } @@ -4319,6 +4319,7 @@ void render_block_fill(psx_gpu_struct *psx_gpu, u32 color, u32 x, u32 y, if((width == 0) || (height == 0)) return; + flush_render_block_buffer(psx_gpu); invalidate_texture_cache_region(psx_gpu, x, y, x + width - 1, y + height - 1); #ifndef NEON_BUILD @@ -4352,17 +4353,19 @@ void render_block_copy(psx_gpu_struct *psx_gpu, u16 *source, u32 x, u32 y, { u16 *vram_ptr = psx_gpu->vram_ptr + x + (y * 1024); u32 draw_x, draw_y; + u32 mask_msb = psx_gpu->mask_msb; if((width == 0) || (height == 0)) return; + flush_render_block_buffer(psx_gpu); invalidate_texture_cache_region(psx_gpu, x, y, x + width - 1, y + height - 1); for(draw_y = 0; draw_y < height; draw_y++) { for(draw_x = 0; draw_x < width; draw_x++) { - vram_ptr[draw_x] = source[draw_x]; + vram_ptr[draw_x] = source[draw_x] | mask_msb; } source += pitch; @@ -4431,6 +4434,11 @@ void initialize_psx_gpu(psx_gpu_struct *psx_gpu, u16 *vram) psx_gpu->mask_msb = 0; + psx_gpu->texture_window_x = 0; + psx_gpu->texture_window_y = 0; + psx_gpu->texture_mask_width = 0xFF; + psx_gpu->texture_mask_height = 0xFF; + memset(psx_gpu->vram_ptr, 0, sizeof(u16) * 1024 * 512); initialize_reciprocal_table();