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_parse.c
diff --git
a/plugins/gpu_neon/psx_gpu/psx_gpu_parse.c
b/plugins/gpu_neon/psx_gpu/psx_gpu_parse.c
index
2099edf
..
be69f44
100644
(file)
--- a/
plugins/gpu_neon/psx_gpu/psx_gpu_parse.c
+++ b/
plugins/gpu_neon/psx_gpu/psx_gpu_parse.c
@@
-228,7
+228,7
@@
void gpu_parse(psx_gpu_struct *psx_gpu, u32 *list, u32 size)
get_vertex_data_xy(0, 2);
get_vertex_data_xy(1, 4);
get_vertex_data_xy(2, 6);
get_vertex_data_xy(0, 2);
get_vertex_data_xy(1, 4);
get_vertex_data_xy(2, 6);
-
+
render_triangle(psx_gpu, vertexes, current_command);
break;
}
render_triangle(psx_gpu, vertexes, current_command);
break;
}
@@
-359,7
+359,8
@@
void gpu_parse(psx_gpu_struct *psx_gpu, u32 *list, u32 size)
while(1)
{
xy = *list_position;
while(1)
{
xy = *list_position;
- if(xy == 0x55555555)
+
+ if((xy & 0xF000F000) == 0x50005000)
break;
vertexes[0] = vertexes[1];
break;
vertexes[0] = vertexes[1];
@@
-370,6
+371,9
@@
void gpu_parse(psx_gpu_struct *psx_gpu, u32 *list, u32 size)
list_position++;
num_vertexes++;
list_position++;
num_vertexes++;
+ if(list_position > list_end)
+ break;
+
render_line(psx_gpu, vertexes, current_command, list[0]);
}
render_line(psx_gpu, vertexes, current_command, list[0]);
}
@@
-413,7
+417,7
@@
void gpu_parse(psx_gpu_struct *psx_gpu, u32 *list, u32 size)
while(1)
{
color = list_position[0];
while(1)
{
color = list_position[0];
- if(
color == 0x55555555
)
+ if(
(color & 0xF000F000) == 0x50005000
)
break;
xy = list_position[1];
break;
xy = list_position[1];
@@
-429,6
+433,9
@@
void gpu_parse(psx_gpu_struct *psx_gpu, u32 *list, u32 size)
list_position += 2;
num_vertexes++;
list_position += 2;
num_vertexes++;
+ if(list_position > list_end)
+ break;
+
render_line(psx_gpu, vertexes, current_command, 0);
}
render_line(psx_gpu, vertexes, current_command, 0);
}