Search
lxdream.org :: lxdream/src/pvr2/tacore.c :: diff
lxdream 0.9.1
released Jun 29
Download Now
filename src/pvr2/tacore.c
changeset 340:5ae1c80a68fb
prev305:1191085c5988
next429:e581b90c3fb3
author nkeynes
date Wed Jan 31 10:31:53 2007 +0000 (13 years ago)
permissions -rw-r--r--
last change Fix sprites not setting clip mode
Fix clip-inside vertical size
file annotate diff log raw
1.1 --- a/src/pvr2/tacore.c Thu Jan 18 11:14:01 2007 +0000
1.2 +++ b/src/pvr2/tacore.c Wed Jan 31 10:31:53 2007 +0000
1.3 @@ -1,5 +1,5 @@
1.4 /**
1.5 - * $Id: tacore.c,v 1.10 2007-01-18 11:14:01 nkeynes Exp $
1.6 + * $Id: tacore.c,v 1.11 2007-01-31 10:31:53 nkeynes Exp $
1.7 *
1.8 * PVR2 Tile Accelerator implementation
1.9 *
1.10 @@ -562,7 +562,7 @@
1.11 break;
1.12 case TA_POLYCMD_CLIP_INSIDE:
1.13 if( polygon_bound.x2 < ta_status.clip.x1 || polygon_bound.x1 > ta_status.clip.x2 ||
1.14 - polygon_bound.y2 < ta_status.clip.y1 || polygon_bound.y1 > ta_status.clip.y1 ) {
1.15 + polygon_bound.y2 < ta_status.clip.y1 || polygon_bound.y1 > ta_status.clip.y2 ) {
1.16 return;
1.17 } else {
1.18 /* Clamp to clip bounds */
1.19 @@ -779,6 +779,10 @@
1.20 ta_status.poly_context_size = 3;
1.21 ta_status.poly_context[0] = (data[1].i & 0xFC1FFFFF) |
1.22 ((data[0].i & 0x0B)<<22) | 0x00400000;
1.23 + ta_status.clip_mode = TA_POLYCMD_CLIP(data[0].i);
1.24 + if( ta_status.clip_mode == 1 ) { /* Reserved - treat as CLIP_INSIDE */
1.25 + ta_status.clip_mode = TA_POLYCMD_CLIP_INSIDE;
1.26 + }
1.27 if( TA_POLYCMD_IS_SPECULAR(data[0].i) ) {
1.28 ta_status.poly_context[0] |= 0x01000000;
1.29 }
.