mirror of
https://github.com/holub/mame
synced 2025-07-02 16:49:22 +03:00
applied some of the exclusive texture mode rules (fix guilty gear regression with previous checkin)
This commit is contained in:
parent
6dae83c584
commit
e3b4a07d07
@ -612,10 +612,28 @@ static void tex_get_info(texinfo *t, pvrta_state *sa)
|
|||||||
t->address = sa->textureaddress;
|
t->address = sa->textureaddress;
|
||||||
t->sizex = sa->textureusize;
|
t->sizex = sa->textureusize;
|
||||||
t->sizey = sa->texturevsize;
|
t->sizey = sa->texturevsize;
|
||||||
t->mode = sa->scanorder + (sa->vqcompressed<<1) + (sa->strideselect<<2);
|
t->mode = sa->scanorder + (sa->vqcompressed<<1);
|
||||||
|
|
||||||
|
/* Stride Select only valid when ScanOrder is 1 */
|
||||||
|
/* Guilty Gear XX Slash / Reload will have lots of broken gfx otherwise */
|
||||||
|
if (sa->scanorder)
|
||||||
|
{
|
||||||
|
t->mode += (sa->strideselect<<2);
|
||||||
|
}
|
||||||
|
|
||||||
t->sizes = sa->texturesizes;
|
t->sizes = sa->texturesizes;
|
||||||
t->pf = sa->pixelformat;
|
t->pf = sa->pixelformat;
|
||||||
|
|
||||||
|
/* Mipmapped is ignored if scanorder is 0 */
|
||||||
|
if (!sa->scanorder)
|
||||||
|
{
|
||||||
t->mipmapped = sa->mipmapped;
|
t->mipmapped = sa->mipmapped;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
t->mipmapped = 0;
|
||||||
|
}
|
||||||
|
|
||||||
t->palette = sa->paletteselector;
|
t->palette = sa->paletteselector;
|
||||||
t->blend_mode = sa->blend_mode;
|
t->blend_mode = sa->blend_mode;
|
||||||
t->filter_mode = sa->filtermode;
|
t->filter_mode = sa->filtermode;
|
||||||
@ -681,7 +699,6 @@ static void tex_get_info(texinfo *t, pvrta_state *sa)
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
miptype = 3; // ?
|
miptype = 3; // ?
|
||||||
|
|
||||||
switch(pvrta_regs[PAL_RAM_CTRL]) {
|
switch(pvrta_regs[PAL_RAM_CTRL]) {
|
||||||
case 0: t->r = tex_r_p4_1555_vq; t->address += 0x800; break;
|
case 0: t->r = tex_r_p4_1555_vq; t->address += 0x800; break;
|
||||||
case 1: t->r = tex_r_p4_565_vq; t->address += 0x800; break;
|
case 1: t->r = tex_r_p4_565_vq; t->address += 0x800; break;
|
||||||
@ -707,7 +724,6 @@ static void tex_get_info(texinfo *t, pvrta_state *sa)
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
miptype = 3; // ?
|
miptype = 3; // ?
|
||||||
|
|
||||||
switch(pvrta_regs[PAL_RAM_CTRL]) {
|
switch(pvrta_regs[PAL_RAM_CTRL]) {
|
||||||
case 0: t->r = tex_r_p8_1555_vq; t->address += 0x800; break;
|
case 0: t->r = tex_r_p8_1555_vq; t->address += 0x800; break;
|
||||||
case 1: t->r = tex_r_p8_565_vq; t->address += 0x800; break;
|
case 1: t->r = tex_r_p8_565_vq; t->address += 0x800; break;
|
||||||
@ -1443,6 +1459,7 @@ void process_ta_fifo(running_machine* machine)
|
|||||||
tv->u=u2f(tafifo_buff[4]);
|
tv->u=u2f(tafifo_buff[4]);
|
||||||
tv->v=u2f(tafifo_buff[5]);
|
tv->v=u2f(tafifo_buff[5]);
|
||||||
|
|
||||||
|
|
||||||
if((!rd->strips_size) ||
|
if((!rd->strips_size) ||
|
||||||
rd->strips[rd->strips_size-1].evert != -1)
|
rd->strips[rd->strips_size-1].evert != -1)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user