notaz.gp2x.de
/
pcsx_rearmed.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
6ea0f7b
)
psx_gpu: fix divide by 0
author
Exophase
<exophase@gmail.com>
Fri, 23 Dec 2011 00:45:21 +0000
(
02:45
+0200)
committer
notaz
<notasas@gmail.com>
Fri, 23 Dec 2011 00:45:34 +0000
(
02:45
+0200)
plugins/gpu_neon/psx_gpu/psx_gpu.c
patch
|
blob
|
blame
|
history
diff --git
a/plugins/gpu_neon/psx_gpu/psx_gpu.c
b/plugins/gpu_neon/psx_gpu/psx_gpu.c
index
0f73f41
..
84848f8
100644
(file)
--- a/
plugins/gpu_neon/psx_gpu/psx_gpu.c
+++ b/
plugins/gpu_neon/psx_gpu/psx_gpu.c
@@
-3886,9
+3886,18
@@
void render_sprite(psx_gpu_struct *psx_gpu, s32 x, s32 y, u32 u, u32 v,
#define set_line_gradients(minor) \
{ \
s32 gradient_divisor = delta_##minor; \
#define set_line_gradients(minor) \
{ \
s32 gradient_divisor = delta_##minor; \
- gradient_r = int_to_fixed(vertex_b->r - vertex_a->r) / gradient_divisor; \
- gradient_g = int_to_fixed(vertex_b->g - vertex_a->g) / gradient_divisor; \
- gradient_b = int_to_fixed(vertex_b->b - vertex_a->b) / gradient_divisor; \
+ if(gradient_divisor != 0) \
+ { \
+ gradient_r = int_to_fixed(vertex_b->r - vertex_a->r) / gradient_divisor; \
+ gradient_g = int_to_fixed(vertex_b->g - vertex_a->g) / gradient_divisor; \
+ gradient_b = int_to_fixed(vertex_b->b - vertex_a->b) / gradient_divisor; \
+ } \
+ else \
+ { \
+ gradient_r = 0; \
+ gradient_g = 0; \
+ gradient_b = 0; \
+ } \
current_r = fixed_center(vertex_a->r); \
current_g = fixed_center(vertex_a->g); \
current_b = fixed_center(vertex_a->b); \
current_r = fixed_center(vertex_a->r); \
current_g = fixed_center(vertex_a->g); \
current_b = fixed_center(vertex_a->b); \