notaz.gp2x.de
/
pcsx_rearmed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
psx_gpu: fix lines
[pcsx_rearmed.git]
/
plugins
/
gpu_neon
/
psx_gpu
/
psx_gpu.c
diff --git
a/plugins/gpu_neon/psx_gpu/psx_gpu.c
b/plugins/gpu_neon/psx_gpu/psx_gpu.c
index
5c49b22
..
cc40748
100644
(file)
--- 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_direct(psx_gpu_struct *psx_gpu);
#ifndef NEON_BUILD
-
+
void shade_blocks_unshaded_untextured_indirect(psx_gpu_struct *psx_gpu)
{
}
void shade_blocks_unshaded_untextured_indirect(psx_gpu_struct *psx_gpu)
{
}
@@
-3767,7
+3767,7
@@
void render_sprite(psx_gpu_struct *psx_gpu, s32 x, s32 y, u32 u, u32 v,
RENDER_FLAGS_TEXTURE_MAP);
render_state |=
(psx_gpu->render_state_base & ~RENDER_STATE_DITHER);
RENDER_FLAGS_TEXTURE_MAP);
render_state |=
(psx_gpu->render_state_base & ~RENDER_STATE_DITHER);
-
+
if((psx_gpu->render_state != render_state) ||
(psx_gpu->primitive_type != PRIMITIVE_TYPE_SPRITE))
{
if((psx_gpu->render_state != render_state) ||
(psx_gpu->primitive_type != PRIMITIVE_TYPE_SPRITE))
{
@@
-4316,6
+4316,9
@@
void render_line(psx_gpu_struct *psx_gpu, vertex_struct *vertexes, u32 flags,
void render_block_fill(psx_gpu_struct *psx_gpu, u32 color, u32 x, u32 y,
u32 width, u32 height)
{
void render_block_fill(psx_gpu_struct *psx_gpu, u32 color, u32 x, u32 y,
u32 width, u32 height)
{
+ if((width == 0) || (height == 0))
+ return;
+
invalidate_texture_cache_region(psx_gpu, x, y, x + width - 1, y + height - 1);
#ifndef NEON_BUILD
invalidate_texture_cache_region(psx_gpu, x, y, x + width - 1, y + height - 1);
#ifndef NEON_BUILD
@@
-4350,6
+4353,9
@@
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;
u16 *vram_ptr = psx_gpu->vram_ptr + x + (y * 1024);
u32 draw_x, draw_y;
+ if((width == 0) || (height == 0))
+ return;
+
invalidate_texture_cache_region(psx_gpu, x, y, x + width - 1, y + height - 1);
for(draw_y = 0; draw_y < height; draw_y++)
invalidate_texture_cache_region(psx_gpu, x, y, x + width - 1, y + height - 1);
for(draw_y = 0; draw_y < height; draw_y++)
@@
-4425,6
+4431,11
@@
void initialize_psx_gpu(psx_gpu_struct *psx_gpu, u16 *vram)
psx_gpu->mask_msb = 0;
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();
memset(psx_gpu->vram_ptr, 0, sizeof(u16) * 1024 * 512);
initialize_reciprocal_table();