D3D: Fix IA4 textures

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4147 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
hrydgard 2009-09-01 20:21:59 +00:00
parent b059e405f2
commit 28495eae47
1 changed files with 8 additions and 12 deletions

View File

@ -105,19 +105,16 @@ void TextureCache::Cleanup()
TextureCache::TCacheEntry *TextureCache::Load(int stage, u32 address, int width, int height, int format, int tlutaddr, int tlutfmt)
{
if (address == 0)
return NULL;
if (address == 0) return NULL;
TexCache::iterator iter = textures.find(address);
u8 *ptr = g_VideoInitialize.pGetMemoryPointer(address);
int palSize = TexDecoder_GetPaletteSize(format);
u32 palhash = 0xc0debabe;
if (palSize)
{
if (palSize>16)
palSize = 16; //let's not do excessive amount of checking
// TODO: Share this code with the GL plugin.
if (palSize > 32)
palSize = 32; // let's not do excessive amount of checking
u8 *pal = g_VideoInitialize.pGetMemoryPointer(tlutaddr);
if (pal != 0)
{
@ -135,7 +132,6 @@ TextureCache::TCacheEntry *TextureCache::Load(int stage, u32 address, int width,
int bs = TexDecoder_GetBlockWidthInTexels(format)-1; //TexelSizeInNibbles(format)*width*height/16;
int expandedWidth = (width+bs) & (~bs);
u32 hash_value = TexDecoder_GetSafeTextureHash(ptr, expandedWidth, height, format, 0);
if (iter != textures.end())
{
TCacheEntry &entry = iter->second;
@ -184,7 +180,7 @@ TextureCache::TCacheEntry *TextureCache::Load(int stage, u32 address, int width,
d3d_fmt = D3DFMT_R5G6B5;
break;
case PC_TEX_FMT_IA4_AS_IA8:
d3d_fmt = D3DFMT_A4L4;
d3d_fmt = D3DFMT_A8L8; //D3DFMT_A4L4;
break;
case PC_TEX_FMT_I8:
case PC_TEX_FMT_I4_AS_I8: