mirror of https://github.com/red-prig/fpPS4.git
This commit is contained in:
parent
ff32b6bc16
commit
1fca9b82fd
|
@ -2608,6 +2608,26 @@ begin
|
|||
|
||||
end;
|
||||
|
||||
const
|
||||
DmaDataStr:array[0..15] of Pchar=(
|
||||
{0} 'Memory',
|
||||
{1} 'Gds',
|
||||
{2} 'Data',
|
||||
{3} 'MemoryUsingL2',
|
||||
{4} 'Register',
|
||||
{5} '0x5',
|
||||
{6} '0x6',
|
||||
{7} '0x7',
|
||||
{8} '0x8',
|
||||
{9} '0x9',
|
||||
{A} '0xA',
|
||||
{B} '0xB',
|
||||
{C} 'RegisterNoIncrement',
|
||||
{D} '0xD',
|
||||
{E} '0xE',
|
||||
{F} '0xF'
|
||||
);
|
||||
|
||||
procedure pm4_DmaData(var ctx:t_me_render_context;node:p_pm4_node_DmaData);
|
||||
var
|
||||
adrSrc:QWORD;
|
||||
|
@ -2691,12 +2711,10 @@ begin
|
|||
|
||||
end;
|
||||
else
|
||||
//Writeln('DmaData: srcSel=0x'+HexStr(srcSel,1)+' dstSel=0x'+HexStr(dstSel,1));
|
||||
Assert(false,'DmaData: srcSel=0x'+HexStr(srcSel,1)+' dstSel=0x'+HexStr(dstSel,1));
|
||||
Writeln('DmaData: srcSel='+DmaDataStr[srcSel and 15]+' dstSel='+DmaDataStr[dstSel and 15]);
|
||||
Assert(false,'DmaData: srcSel='+DmaDataStr[srcSel and 15]+' dstSel='+DmaDataStr[dstSel and 15]);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
end;
|
||||
|
||||
function get_dce_label_id(addr_dmem:Pointer):Integer;
|
||||
|
|
|
@ -40,6 +40,18 @@ begin
|
|||
if (a>b) then Result:=a else Result:=b;
|
||||
end;
|
||||
|
||||
function nextPowerOfTwo(x:Ptruint):Ptruint; inline;
|
||||
begin
|
||||
x:=(x-1);
|
||||
x:=x or (x shr 1);
|
||||
x:=x or (x shr 2);
|
||||
x:=x or (x shr 4);
|
||||
x:=x or (x shr 8);
|
||||
x:=x or (x shr 16);
|
||||
x:=x or (x shr 32);
|
||||
Result:=(x+1);
|
||||
end;
|
||||
|
||||
Function GetLinearSize(const key:TvImageKey;align:Boolean):Ptruint;
|
||||
var
|
||||
m_bytePerElement:Ptruint;
|
||||
|
@ -59,6 +71,12 @@ begin
|
|||
m_width :=key.params.width;
|
||||
m_height:=key.params.height;
|
||||
|
||||
if (key.params.pow2pad<>0) then
|
||||
begin
|
||||
m_width :=nextPowerOfTwo(m_width);
|
||||
m_height:=nextPowerOfTwo(m_height);
|
||||
end;
|
||||
|
||||
Result:=0;
|
||||
|
||||
while (m_level>0) do
|
||||
|
@ -99,18 +117,6 @@ begin
|
|||
Result:=GetLinearSize(key,true);
|
||||
end;
|
||||
|
||||
function nextPowerOfTwo(x:Ptruint):Ptruint; inline;
|
||||
begin
|
||||
x:=(x-1);
|
||||
x:=x or (x shr 1);
|
||||
x:=x or (x shr 2);
|
||||
x:=x or (x shr 4);
|
||||
x:=x or (x shr 8);
|
||||
x:=x or (x shr 16);
|
||||
x:=x or (x shr 32);
|
||||
Result:=(x+1);
|
||||
end;
|
||||
|
||||
Function Get1dThinAlignWidth(bpp,width:Ptruint):Ptruint; inline;
|
||||
var
|
||||
align_m:Ptruint;
|
||||
|
|
Loading…
Reference in New Issue