mirror of https://github.com/red-prig/fpPS4.git
This commit is contained in:
parent
b9c02aa5b8
commit
d376fbbcb7
|
@ -6,6 +6,7 @@ interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
sysutils,
|
sysutils,
|
||||||
|
si_ci_vi_merged_enum,
|
||||||
ps4_shader,
|
ps4_shader,
|
||||||
spirv,
|
spirv,
|
||||||
ginodes,
|
ginodes,
|
||||||
|
@ -883,6 +884,16 @@ begin
|
||||||
//pList.OpSource(Space(deep+1)+name+':'+HexLen(P,len));
|
//pList.OpSource(Space(deep+1)+name+':'+HexLen(P,len));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function GetNumType(nfmt:Byte):Byte; inline;
|
||||||
|
begin
|
||||||
|
Case nfmt of
|
||||||
|
IMG_NUM_FORMAT_UINT:Result:=1;
|
||||||
|
IMG_NUM_FORMAT_SINT:Result:=2;
|
||||||
|
else
|
||||||
|
Result:=0;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TsrDataLayoutList.AllocSourceExtension2;
|
procedure TsrDataLayoutList.AllocSourceExtension2;
|
||||||
var
|
var
|
||||||
Writer:TseWriter;
|
Writer:TseWriter;
|
||||||
|
@ -950,6 +961,9 @@ begin
|
||||||
Writer.IntOpt('DFMT',dfmt);
|
Writer.IntOpt('DFMT',dfmt);
|
||||||
Writer.IntOpt('NFMT',nfmt);
|
Writer.IntOpt('NFMT',nfmt);
|
||||||
Writer.StrOpt('DSEL',_get_dst_sel_str(dst_sel_x,dst_sel_y,dst_sel_z,dst_sel_w));
|
Writer.StrOpt('DSEL',_get_dst_sel_str(dst_sel_x,dst_sel_y,dst_sel_z,dst_sel_w));
|
||||||
|
end else
|
||||||
|
begin
|
||||||
|
Writer.IntOpt('NUMT',GetNumType(nfmt));
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,7 @@ uses
|
||||||
vImage,
|
vImage,
|
||||||
vSetLayoutManager,
|
vSetLayoutManager,
|
||||||
vPipelineLayoutManager,
|
vPipelineLayoutManager,
|
||||||
|
si_ci_vi_merged_enum,
|
||||||
si_ci_vi_merged_registers,
|
si_ci_vi_merged_registers,
|
||||||
si_ci_vi_merged_groups;
|
si_ci_vi_merged_groups;
|
||||||
|
|
||||||
|
@ -771,6 +772,7 @@ begin
|
||||||
'RINF':L^.rinfo.enable:=(StrToDWord2(V)<>0);
|
'RINF':L^.rinfo.enable:=(StrToDWord2(V)<>0);
|
||||||
'DFMT':L^.rinfo.dfmt :=StrToDWord2(V);
|
'DFMT':L^.rinfo.dfmt :=StrToDWord2(V);
|
||||||
'NFMT':L^.rinfo.nfmt :=StrToDWord2(V);
|
'NFMT':L^.rinfo.nfmt :=StrToDWord2(V);
|
||||||
|
'NUMT':L^.rinfo.nfmt :=StrToDWord2(V);
|
||||||
'TYPE':L^.rinfo.rtype :=StrToDWord2(V);
|
'TYPE':L^.rinfo.rtype :=StrToDWord2(V);
|
||||||
'DSEL':L^.rinfo.dstsel :=StrToDstSel(V);
|
'DSEL':L^.rinfo.dstsel :=StrToDstSel(V);
|
||||||
|
|
||||||
|
@ -1798,6 +1800,16 @@ begin
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function GetNumType(nfmt:Byte):Byte; inline;
|
||||||
|
begin
|
||||||
|
Case nfmt of
|
||||||
|
IMG_NUM_FORMAT_UINT:Result:=1;
|
||||||
|
IMG_NUM_FORMAT_SINT:Result:=2;
|
||||||
|
else
|
||||||
|
Result:=0;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TvUnifChecker.AddAttr(const b:TvCustomLayout;Fset:TVkUInt32;pUserData,pImmData:PDWORD);
|
procedure TvUnifChecker.AddAttr(const b:TvCustomLayout;Fset:TVkUInt32;pUserData,pImmData:PDWORD);
|
||||||
var
|
var
|
||||||
P:Pointer;
|
P:Pointer;
|
||||||
|
@ -1847,8 +1859,8 @@ begin
|
||||||
begin
|
begin
|
||||||
|
|
||||||
if rinfo.enable then
|
if rinfo.enable then
|
||||||
if (dfmt<>rinfo.dfmt) or
|
if ( dfmt<>rinfo.dfmt ) or
|
||||||
(nfmt<>rinfo.dfmt) or
|
( nfmt<>rinfo.nfmt ) or
|
||||||
(dst_sel_x<>rinfo.dstsel.x) or
|
(dst_sel_x<>rinfo.dstsel.x) or
|
||||||
(dst_sel_y<>rinfo.dstsel.y) or
|
(dst_sel_y<>rinfo.dstsel.y) or
|
||||||
(dst_sel_z<>rinfo.dstsel.z) or
|
(dst_sel_z<>rinfo.dstsel.z) or
|
||||||
|
@ -1871,8 +1883,9 @@ begin
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if rinfo.enable then
|
if rinfo.enable then
|
||||||
if (dfmt<>rinfo.dfmt) or
|
begin
|
||||||
(nfmt<>rinfo.dfmt) or
|
if ( dfmt<>rinfo.dfmt ) or
|
||||||
|
( nfmt<>rinfo.nfmt ) or
|
||||||
(dst_sel_x<>rinfo.dstsel.x) or
|
(dst_sel_x<>rinfo.dstsel.x) or
|
||||||
(dst_sel_y<>rinfo.dstsel.y) or
|
(dst_sel_y<>rinfo.dstsel.y) or
|
||||||
(dst_sel_z<>rinfo.dstsel.z) or
|
(dst_sel_z<>rinfo.dstsel.z) or
|
||||||
|
@ -1881,6 +1894,14 @@ begin
|
||||||
FResult:=False;
|
FResult:=False;
|
||||||
Exit;
|
Exit;
|
||||||
end;
|
end;
|
||||||
|
end else
|
||||||
|
begin
|
||||||
|
if (GetNumType(nfmt)<>GetNumType(rinfo.nfmt)) then
|
||||||
|
begin
|
||||||
|
FResult:=False;
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
end;
|
end;
|
||||||
else;
|
else;
|
||||||
|
|
Loading…
Reference in New Issue