mirror of
https://github.com/holub/mame
synced 2025-10-05 08:41:31 +03:00
powervr2: Fix blc/blic [O. Galibert]
This commit is contained in:
parent
0073de5340
commit
358509548a
@ -96,7 +96,6 @@ const int powervr2_device::pvr_wordspolygon[24] = {8,8,8,8,8, 8, 8,8,8,8,16,16,8
|
|||||||
#define DEBUG_PALRAM (1)
|
#define DEBUG_PALRAM (1)
|
||||||
#define DEBUG_PVRCTRL (0)
|
#define DEBUG_PVRCTRL (0)
|
||||||
|
|
||||||
// Perform a standard bilinear filter across four pixels
|
|
||||||
inline INT32 powervr2_device::clamp(INT32 in, INT32 min, INT32 max)
|
inline INT32 powervr2_device::clamp(INT32 in, INT32 min, INT32 max)
|
||||||
{
|
{
|
||||||
if(in < min) return min;
|
if(in < min) return min;
|
||||||
@ -104,6 +103,7 @@ inline INT32 powervr2_device::clamp(INT32 in, INT32 min, INT32 max)
|
|||||||
return in;
|
return in;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Perform a standard bilinear filter across four pixels
|
||||||
inline UINT32 powervr2_device::bilinear_filter(UINT32 c0, UINT32 c1, UINT32 c2, UINT32 c3, float u, float v)
|
inline UINT32 powervr2_device::bilinear_filter(UINT32 c0, UINT32 c1, UINT32 c2, UINT32 c3, float u, float v)
|
||||||
{
|
{
|
||||||
UINT32 ui = (u * 256.0);
|
UINT32 ui = (u * 256.0);
|
||||||
@ -130,12 +130,12 @@ inline UINT32 powervr2_device::blc(UINT32 c1, UINT32 c2)
|
|||||||
{
|
{
|
||||||
UINT32 cr =
|
UINT32 cr =
|
||||||
(((c1 & 0x000000ff)*(c2 & 0x000000ff) & 0x0000ff00) >> 8) |
|
(((c1 & 0x000000ff)*(c2 & 0x000000ff) & 0x0000ff00) >> 8) |
|
||||||
(((c1 & 0x0000ff00)*(c2 & 0x0000ff00) & 0x00ff0000) >> 8);
|
(((c1 & 0x0000ff00)*(c2 & 0x0000ff00) & 0xff000000) >> 16);
|
||||||
c1 >>= 16;
|
c1 >>= 16;
|
||||||
c2 >>= 16;
|
c2 >>= 16;
|
||||||
cr |=
|
cr |=
|
||||||
(((c1 & 0x000000ff)*(c2 & 0x000000ff) & 0x0000ff00) << 8) |
|
(((c1 & 0x000000ff)*(c2 & 0x000000ff) & 0x0000ff00) << 8) |
|
||||||
(((c1 & 0x0000ff00)*(c2 & 0x0000ff00) & 0x00ff0000) << 8);
|
(((c1 & 0x0000ff00)*(c2 & 0x0000ff00) & 0xff000000));
|
||||||
return cr;
|
return cr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -144,12 +144,12 @@ inline UINT32 powervr2_device::blic(UINT32 c1, UINT32 c2)
|
|||||||
{
|
{
|
||||||
UINT32 cr =
|
UINT32 cr =
|
||||||
(((c1 & 0x000000ff)*(0x00100-(c2 & 0x000000ff)) & 0x0000ff00) >> 8) |
|
(((c1 & 0x000000ff)*(0x00100-(c2 & 0x000000ff)) & 0x0000ff00) >> 8) |
|
||||||
(((c1 & 0x0000ff00)*(0x10000-(c2 & 0x0000ff00)) & 0x00ff0000) >> 8);
|
(((c1 & 0x0000ff00)*(0x10000-(c2 & 0x0000ff00)) & 0xff000000) >> 16);
|
||||||
c1 >>= 16;
|
c1 >>= 16;
|
||||||
c2 >>= 16;
|
c2 >>= 16;
|
||||||
cr |=
|
cr |=
|
||||||
(((c1 & 0x000000ff)*(0x00100-(c2 & 0x000000ff)) & 0x0000ff00) << 8) |
|
(((c1 & 0x000000ff)*(0x00100-(c2 & 0x000000ff)) & 0x0000ff00) << 8) |
|
||||||
(((c1 & 0x0000ff00)*(0x10000-(c2 & 0x0000ff00)) & 0x00ff0000) << 8);
|
(((c1 & 0x0000ff00)*(0x10000-(c2 & 0x0000ff00)) & 0xff000000));
|
||||||
return cr;
|
return cr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user