diff options
Diffstat (limited to 'src/emu')
-rw-r--r-- | src/emu/render.cpp | 6 | ||||
-rw-r--r-- | src/emu/rendersw.hxx | 100 | ||||
-rw-r--r-- | src/emu/screen.h | 3 |
3 files changed, 3 insertions, 106 deletions
diff --git a/src/emu/render.cpp b/src/emu/render.cpp index 34d29285162..e896c3748f1 100644 --- a/src/emu/render.cpp +++ b/src/emu/render.cpp @@ -361,7 +361,7 @@ void render_texture::set_bitmap(bitmap_t &bitmap, const rectangle &sbounds, text assert(bitmap.cliprect().contains(sbounds)); // ensure we have a valid palette for palettized modes - if (format == TEXFORMAT_PALETTE16 || format == TEXFORMAT_PALETTEA16) + if (format == TEXFORMAT_PALETTE16) assert(bitmap.palette() != nullptr); // invalidate references to the old bitmap @@ -501,7 +501,6 @@ const rgb_t *render_texture::get_adjusted_palette(render_container &container) switch (m_format) { case TEXFORMAT_PALETTE16: - case TEXFORMAT_PALETTEA16: assert(m_bitmap->palette() != nullptr); @@ -684,7 +683,6 @@ const rgb_t *render_container::bcg_lookup_table(int texformat, palette_t *palett switch (texformat) { case TEXFORMAT_PALETTE16: - case TEXFORMAT_PALETTEA16: if (m_palclient == nullptr) // if adjusted palette hasn't been created yet, create it { m_palclient = std::make_unique<palette_client>(*palette); @@ -2866,7 +2864,7 @@ void render_target::add_clear_and_optimize_primitive_list(render_primitive_list case render_primitive::QUAD: { // stop when we hit an alpha texture - if (PRIMFLAG_GET_TEXFORMAT(prim.flags) == TEXFORMAT_ARGB32 || PRIMFLAG_GET_TEXFORMAT(prim.flags) == TEXFORMAT_PALETTEA16) + if (PRIMFLAG_GET_TEXFORMAT(prim.flags) == TEXFORMAT_ARGB32) goto done; // if this quad can't be cleanly removed from the extents list, we're done diff --git a/src/emu/rendersw.hxx b/src/emu/rendersw.hxx index 32df8b833ff..8dbf28b35b3 100644 --- a/src/emu/rendersw.hxx +++ b/src/emu/rendersw.hxx @@ -796,102 +796,6 @@ private: //************************************************************************** - // 16-BIT ALPHA PALETTE RASTERIZERS - //************************************************************************** - - //------------------------------------------------- - // draw_quad_palettea16_alpha - perform - // rasterization using standard alpha blending - //------------------------------------------------- - - static void draw_quad_palettea16_alpha(const render_primitive &prim, _PixelType *dstdata, u32 pitch, quad_setup_data &setup) - { - s32 dudx = setup.dudx; - s32 dvdx = setup.dvdx; - s32 endx = setup.endx; - - // ensure all parameters are valid - assert(prim.texture.palette != nullptr); - - // fast case: no coloring, no alpha - if (prim.color.r >= 1.0f && prim.color.g >= 1.0f && prim.color.b >= 1.0f && is_opaque(prim.color.a)) - { - // loop over rows - for (s32 y = setup.starty; y < setup.endy; y++) - { - _PixelType *dest = dstdata + y * pitch + setup.startx; - s32 curu = setup.startu + (y - setup.starty) * setup.dudy; - s32 curv = setup.startv + (y - setup.starty) * setup.dvdy; - - // loop over cols - for (s32 x = setup.startx; x < endx; x++) - { - u32 pix = get_texel_palette16a(prim.texture, curu, curv); - u32 ta = pix >> 24; - if (ta != 0) - { - u32 dpix = _NoDestRead ? 0 : *dest; - u32 invta = 0x100 - ta; - u32 r = (source32_r(pix) * ta + dest_r(dpix) * invta) >> 8; - u32 g = (source32_g(pix) * ta + dest_g(dpix) * invta) >> 8; - u32 b = (source32_b(pix) * ta + dest_b(dpix) * invta) >> 8; - - *dest = dest_assemble_rgb(r, g, b); - } - dest++; - curu += dudx; - curv += dvdx; - } - } - } - - // alpha and/or coloring case - else - { - u32 sr = u32(256.0f * prim.color.r); - u32 sg = u32(256.0f * prim.color.g); - u32 sb = u32(256.0f * prim.color.b); - u32 sa = u32(256.0f * prim.color.a); - - // clamp R,G,B and inverse A to 0-256 range - if (sr > 0x100) { if (s32(sr) < 0) sr = 0; else sr = 0x100; } - if (sg > 0x100) { if (s32(sg) < 0) sg = 0; else sg = 0x100; } - if (sb > 0x100) { if (s32(sb) < 0) sb = 0; else sb = 0x100; } - if (sa > 0x100) { if (s32(sa) < 0) sa = 0; else sa = 0x100; } - - // loop over rows - for (s32 y = setup.starty; y < setup.endy; y++) - { - _PixelType *dest = dstdata + y * pitch + setup.startx; - s32 curu = setup.startu + (y - setup.starty) * setup.dudy; - s32 curv = setup.startv + (y - setup.starty) * setup.dvdy; - - // loop over cols - for (s32 x = setup.startx; x < endx; x++) - { - u32 pix = get_texel_palette16a(prim.texture, curu, curv); - u32 ta = (pix >> 24) * sa; - if (ta != 0) - { - u32 dpix = _NoDestRead ? 0 : *dest; - u32 invsta = (0x10000 - ta) << 8; - u32 r = (source32_r(pix) * sr * ta + dest_r(dpix) * invsta) >> 24; - u32 g = (source32_g(pix) * sg * ta + dest_g(dpix) * invsta) >> 24; - u32 b = (source32_b(pix) * sb * ta + dest_b(dpix) * invsta) >> 24; - - *dest = dest_assemble_rgb(r, g, b); - } - dest++; - curu += dudx; - curv += dvdx; - } - } - } - } - - - - //************************************************************************** // 16-BIT YUY RASTERIZERS //************************************************************************** @@ -1884,10 +1788,6 @@ private: draw_quad_palette16_add(prim, dstdata, pitch, setup); break; - case PRIMFLAG_TEXFORMAT(TEXFORMAT_PALETTEA16) | PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA): - draw_quad_palettea16_alpha(prim, dstdata, pitch, setup); - break; - case PRIMFLAG_TEXFORMAT(TEXFORMAT_YUY16) | PRIMFLAG_BLENDMODE(BLENDMODE_NONE): case PRIMFLAG_TEXFORMAT(TEXFORMAT_YUY16) | PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA): draw_quad_yuy16_none(prim, dstdata, pitch, setup); diff --git a/src/emu/screen.h b/src/emu/screen.h index a2b0b5eb0a4..98d049be8ae 100644 --- a/src/emu/screen.h +++ b/src/emu/screen.h @@ -33,8 +33,7 @@ enum screen_type_enum enum texture_format { TEXFORMAT_UNDEFINED = 0, // require a format to be specified - TEXFORMAT_PALETTE16, // 16bpp palettized, alpha ignored - TEXFORMAT_PALETTEA16, // 16bpp palettized, alpha respected + TEXFORMAT_PALETTE16, // 16bpp palettized, no alpha TEXFORMAT_RGB32, // 32bpp 8-8-8 RGB TEXFORMAT_ARGB32, // 32bpp 8-8-8-8 ARGB TEXFORMAT_YUY16 // 16bpp 8-8 Y/Cb, Y/Cr in sequence |