This commit is contained in:
Pavel 2025-02-05 12:07:14 +03:00
parent ff32b6bc16
commit 1fca9b82fd
2 changed files with 40 additions and 16 deletions

View File

@ -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;

View File

@ -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;