trunk/src/emu/rendersw.inc
| r29416 | r29417 | |
| 144 | 144 | const UINT16 *texbase = reinterpret_cast<const UINT16 *>(texture.base); |
| 145 | 145 | texbase += v0 * texture.rowpixels + u0; |
| 146 | 146 | |
| 147 | | rgb_t pix00 = texture.palette[texbase[0]]; |
| 148 | | rgb_t pix01 = texture.palette[texbase[u1]]; |
| 149 | | rgb_t pix10 = texture.palette[texbase[v1]]; |
| 150 | | rgb_t pix11 = texture.palette[texbase[u1 + v1]]; |
| 147 | UINT32 pix00 = texture.palette[texbase[0]]; |
| 148 | UINT32 pix01 = texture.palette[texbase[u1]]; |
| 149 | UINT32 pix10 = texture.palette[texbase[v1]]; |
| 150 | UINT32 pix11 = texture.palette[texbase[u1 + v1]]; |
| 151 | 151 | return rgb_bilinear_filter(pix00, pix01, pix10, pix11, curu >> 8, curv >> 8); |
| 152 | 152 | } |
| 153 | 153 | else |
| r29416 | r29417 | |
| 214 | 214 | const UINT16 *texbase = reinterpret_cast<const UINT16 *>(texture.base); |
| 215 | 215 | texbase += v0 * texture.rowpixels + (u0 & ~1); |
| 216 | 216 | |
| 217 | | rgb_t pix00, pix01, pix10, pix11; |
| 217 | UINT32 pix00, pix01, pix10, pix11; |
| 218 | 218 | if ((curu & 0x10000) == 0) |
| 219 | 219 | { |
| 220 | | rgb_t cbcr = ((texbase[0] & 0xff) << 8) | ((texbase[1] & 0xff) << 16); |
| 220 | UINT32 cbcr = ((texbase[0] & 0xff) << 8) | ((texbase[1] & 0xff) << 16); |
| 221 | 221 | pix00 = (texbase[0] >> 8) | cbcr; |
| 222 | 222 | pix01 = (texbase[u1] >> 8) | cbcr; |
| 223 | 223 | cbcr = ((texbase[v1 + 0] & 0xff) << 8) | ((texbase[v1 + 1] & 0xff) << 16); |
| r29416 | r29417 | |
| 226 | 226 | } |
| 227 | 227 | else |
| 228 | 228 | { |
| 229 | | rgb_t cbcr = ((texbase[0] & 0xff) << 8) | ((texbase[1] & 0xff) << 16); |
| 229 | UINT32 cbcr = ((texbase[0] & 0xff) << 8) | ((texbase[1] & 0xff) << 16); |
| 230 | 230 | pix00 = (texbase[1] >> 8) | cbcr; |
| 231 | 231 | if (u1 != 0) |
| 232 | 232 | { |
| r29416 | r29417 | |
| 276 | 276 | const UINT32 *texbase = reinterpret_cast<const UINT32 *>(texture.base); |
| 277 | 277 | texbase += v0 * texture.rowpixels + u0; |
| 278 | 278 | |
| 279 | | rgb_t pix00 = texbase[0]; |
| 280 | | rgb_t pix01 = texbase[u1]; |
| 281 | | rgb_t pix10 = texbase[v1]; |
| 282 | | rgb_t pix11 = texbase[u1 + v1]; |
| 279 | UINT32 pix00 = texbase[0]; |
| 280 | UINT32 pix01 = texbase[u1]; |
| 281 | UINT32 pix10 = texbase[v1]; |
| 282 | UINT32 pix11 = texbase[u1 + v1]; |
| 283 | 283 | return rgb_bilinear_filter(pix00, pix01, pix10, pix11, curu >> 8, curv >> 8); |
| 284 | 284 | } |
| 285 | 285 | else |
trunk/src/emu/video/rgbgen.h
| r29416 | r29417 | |
| 374 | 374 | code provided by Michael Herf |
| 375 | 375 | -------------------------------------------------*/ |
| 376 | 376 | |
| 377 | | INLINE rgb_t rgb_bilinear_filter(UINT32 rgb00, UINT32 rgb01, UINT32 rgb10, UINT32 rgb11, UINT8 u, UINT8 v) |
| 377 | INLINE UINT32 rgb_bilinear_filter(UINT32 rgb00, UINT32 rgb01, UINT32 rgb10, UINT32 rgb11, UINT8 u, UINT8 v) |
| 378 | 378 | { |
| 379 | 379 | UINT32 ag0, ag1, rb0, rb1; |
| 380 | 380 | |
| r29416 | r29417 | |
| 396 | 396 | code provided by Michael Herf |
| 397 | 397 | -------------------------------------------------*/ |
| 398 | 398 | |
| 399 | | INLINE rgb_t rgba_bilinear_filter(UINT32 rgb00, UINT32 rgb01, UINT32 rgb10, UINT32 rgb11, UINT8 u, UINT8 v) |
| 399 | INLINE UINT32 rgba_bilinear_filter(UINT32 rgb00, UINT32 rgb01, UINT32 rgb10, UINT32 rgb11, UINT8 u, UINT8 v) |
| 400 | 400 | { |
| 401 | 401 | UINT32 ag0, ag1, rb0, rb1; |
| 402 | 402 | |