summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/sdl/blit13.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/osd/sdl/blit13.h')
-rw-r--r--src/osd/sdl/blit13.h44
1 files changed, 23 insertions, 21 deletions
diff --git a/src/osd/sdl/blit13.h b/src/osd/sdl/blit13.h
index e415a81dbd0..0888f00da8c 100644
--- a/src/osd/sdl/blit13.h
+++ b/src/osd/sdl/blit13.h
@@ -53,47 +53,47 @@ INLINE UINT32 pixel_ycc_to_rgb_pal(UINT16 *pixel, const rgb_t *palette)
#define OP_RGB32_ARGB32(_src) ((_src) | 0xff000000)
#define OP_RGB32PAL_ARGB32(_src) \
- (texsource->palette[0x200 + (((_src) >> 16) & 0xff) ] | \
- texsource->palette[0x100 + (((_src) >> 8) & 0xff) ] | \
- texsource->palette[((_src) & 0xff) ] | 0xff000000)
+ (palbase[0x200 + (((_src) >> 16) & 0xff) ] | \
+ palbase[0x100 + (((_src) >> 8) & 0xff) ] | \
+ palbase[((_src) & 0xff) ] | 0xff000000)
-#define OP_PAL16_ARGB32(_src) (0xff000000 | texsource->palette[_src])
+#define OP_PAL16_ARGB32(_src) (0xff000000 | palbase[_src])
-#define OP_PAL16A_ARGB32(_src) (texsource->palette[_src])
+#define OP_PAL16A_ARGB32(_src) (palbase[_src])
#define OP_RGB15_ARGB32(_src) (0xff000000 | ((_src & 0x7c00) << 9) | ((_src & 0x03e0) << 6) | ((_src & 0x001f) << 3) | \
((((_src & 0x7c00) << 9) | ((_src & 0x03e0) << 6) | ((_src & 0x001f) << 3) >> 5) & 0x070707))
-#define OP_RGB15PAL_ARGB32(_src) (0xff000000 | texsource->palette[0x40 + ((_src >> 10) & 0x1f)] | \
- texsource->palette[0x20 + ((_src >> 5) & 0x1f)] | texsource->palette[0x00 + ((_src >> 0) & 0x1f)])
+#define OP_RGB15PAL_ARGB32(_src) (0xff000000 | palbase[0x40 + ((_src >> 10) & 0x1f)] | \
+ palbase[0x20 + ((_src >> 5) & 0x1f)] | palbase[0x00 + ((_src >> 0) & 0x1f)])
#define OP_ARGB32_RGB32(_pixel) premult32(_pixel)
-#define OP_PAL16A_RGB32(_src) premult32(texsource->palette[_src])
+#define OP_PAL16A_RGB32(_src) premult32(palbase[_src])
-#define OP_PAL16_ARGB1555(_src) ((texsource->palette[_src]&0xf80000) >> 9 | \
- (texsource->palette[_src]&0x00f800) >> 6 | \
- (texsource->palette[_src]&0x0000f8) >> 3 | 0x8000)
+#define OP_PAL16_ARGB1555(_src) ((palbase[_src]&0xf80000) >> 9 | \
+ (palbase[_src]&0x00f800) >> 6 | \
+ (palbase[_src]&0x0000f8) >> 3 | 0x8000)
#define OP_RGB15_ARGB1555(_src) ((_src) | 0x8000)
-#define OP_RGB15PAL_ARGB1555(_src) ((texsource->palette[(_src) >> 10] & 0xf8) << 7 | \
- (texsource->palette[((_src) >> 5) & 0x1f] & 0xf8) << 2 | \
- (texsource->palette[(_src) & 0x1f] & 0xf8) >> 3 | 0x8000)
+#define OP_RGB15PAL_ARGB1555(_src) ((palbase[(_src) >> 10] & 0xf8) << 7 | \
+ (palbase[((_src) >> 5) & 0x1f] & 0xf8) << 2 | \
+ (palbase[(_src) & 0x1f] & 0xf8) >> 3 | 0x8000)
#define OP_YUV16_UYVY(_src) (_src)
-#define OP_YUV16PAL_UYVY(_src) ((texsource->palette[((_src) >> 8) & 0xff] << 8) | ((_src) & 0x00ff))
+#define OP_YUV16PAL_UYVY(_src) ((palbase[((_src) >> 8) & 0xff] << 8) | ((_src) & 0x00ff))
-#define OP_YUV16PAL_YVYU(_src) ((texsource->palette[((_src) >> 8) & 0xff] & 0xff) | ((_src & 0xff) << 8))
+#define OP_YUV16PAL_YVYU(_src) ((palbase[((_src) >> 8) & 0xff] & 0xff) | ((_src & 0xff) << 8))
#define OP_YUV16_YVYU(_src) ((((_src) >> 8) & 0xff) | ((_src & 0xff) << 8))
#define OP_YUV16_YUY2(_src) ( ((_src) & 0xff00ff00) | \
(((_src)>>16)&0xff) | (((_src)<<16)&0xff0000) )
-#define OP_YUV16PAL_YUY2(_src) ( (texsource->palette[((_src)>>8) & 0xff]) | \
- (texsource->palette[((_src)>>24) & 0xff]<<16) | \
+#define OP_YUV16PAL_YUY2(_src) ( (palbase[((_src)>>8) & 0xff]) | \
+ (palbase[((_src)>>24) & 0xff]<<16) | \
(((_src)<<8)&0xff00ff00) )
#define OP_YUV16_ARGB32(_src) \
@@ -101,12 +101,12 @@ INLINE UINT32 pixel_ycc_to_rgb_pal(UINT16 *pixel, const rgb_t *palette)
| ((UINT64)ycc_to_rgb(((_src) >> 24) & 0xff, (_src) & 0xff , ((_src)>>16) & 0xff) << 32)
#define OP_YUV16PAL_ARGB32(_src) \
- (UINT64)ycc_to_rgb(texsource->palette[((_src) >> 8) & 0xff], (_src) & 0xff , ((_src)>>16) & 0xff) \
- | ((UINT64)ycc_to_rgb(texsource->palette[((_src) >> 24) & 0xff], (_src) & 0xff , ((_src)>>16) & 0xff) << 32)
+ (UINT64)ycc_to_rgb(palbase[((_src) >> 8) & 0xff], (_src) & 0xff , ((_src)>>16) & 0xff) \
+ | ((UINT64)ycc_to_rgb(palbase[((_src) >> 24) & 0xff], (_src) & 0xff , ((_src)>>16) & 0xff) << 32)
#define OP_YUV16_ARGB32ROT(_src) pixel_ycc_to_rgb(&(_src))
-#define OP_YUV16PAL_ARGB32ROT(_src) pixel_ycc_to_rgb_pal(&(_src), texsource->palette)
+#define OP_YUV16PAL_ARGB32ROT(_src) pixel_ycc_to_rgb_pal(&(_src), palbase)
//============================================================
// Copy and rotation
@@ -114,6 +114,7 @@ INLINE UINT32 pixel_ycc_to_rgb_pal(UINT16 *pixel, const rgb_t *palette)
#define TEXCOPY_M( _name, _src_type, _dest_type, _op, _len_div) \
INLINE void texcopy_##_name (texture_info *texture, const render_texinfo *texsource) { \
+ const rgb_t *palbase = texsource->palette(); \
int x, y; \
/* loop over Y */ \
for (y = 0; y < texsource->height; y++) { \
@@ -133,6 +134,7 @@ INLINE void texcopy_##_name (texture_info *texture, const render_texinfo *texsou
#define TEXROT( _name, _src_type, _dest_type, _op) \
INLINE void texcopy_rot_##_name (texture_info *texture, const render_texinfo *texsource) { \
+ const rgb_t *palbase = texsource->palette(); \
int x, y; \
quad_setup_data *setup = &texture->setup; \
int dudx = setup->dudx; \