This commit is contained in:
Pavel 2024-10-21 23:33:21 +03:00
parent dd74209b91
commit 5826fe442e
4 changed files with 19 additions and 4 deletions

View File

@ -988,7 +988,7 @@ begin
begin begin
iv:=ri.FetchView(ctx.Cmd,FView,iu_sampled); iv:=ri.FetchView(ctx.Cmd,FView,iu_sampled);
//Writeln('BindImage:','0x',HexStr(ri.FHandle,16),' 0x',HexStr(iv.FHandle,16)); Writeln('BindImage:','0x',HexStr(ri.FHandle,16),' 0x',HexStr(iv.FHandle,16));
DescriptorGroup.BindImage(fset,bind, DescriptorGroup.BindImage(fset,bind,
iv.FHandle, iv.FHandle,
@ -998,7 +998,7 @@ begin
begin begin
iv:=ri.FetchView(ctx.Cmd,FView,iu_storage); iv:=ri.FetchView(ctx.Cmd,FView,iu_storage);
//Writeln('BindStorage:','0x',HexStr(ri.FHandle,16),' 0x',HexStr(iv.FHandle,16)); Writeln('BindStorage:','0x',HexStr(ri.FHandle,16),' 0x',HexStr(iv.FHandle,16));
DescriptorGroup.BindStorage(fset,bind, DescriptorGroup.BindStorage(fset,bind,
iv.FHandle, iv.FHandle,
@ -1942,6 +1942,8 @@ begin
Prepare_Uniforms(ctx,FUniformBuilder); Prepare_Uniforms(ctx,FUniformBuilder);
//////// ////////
DumpShaderGroup(CP_KEY.FShaderGroup);
if not ctx.Cmd.BindCompute(CP) then if not ctx.Cmd.BindCompute(CP) then
begin begin
Writeln(stderr,'BindCompute(CP)'); Writeln(stderr,'BindCompute(CP)');

View File

@ -1220,7 +1220,7 @@ begin
Exit(SCE_AUDIO_OUT_ERROR_NOT_INIT); Exit(SCE_AUDIO_OUT_ERROR_NOT_INIT);
end; end;
if (num=0) or (num<25) then if (num=0) or (num>25) then
begin begin
Exit(SCE_AUDIO_OUT_ERROR_PORT_FULL); Exit(SCE_AUDIO_OUT_ERROR_PORT_FULL);
end; end;

View File

@ -53,6 +53,8 @@ type
TvDebugReport=class TvDebugReport=class
FHandle:TVkDebugUtilsMessengerEXT; FHandle:TVkDebugUtilsMessengerEXT;
// //
FStdOut:Text;
//
FCreateDebugUtilsMessenger :TvkCreateDebugUtilsMessengerEXT; FCreateDebugUtilsMessenger :TvkCreateDebugUtilsMessengerEXT;
FDestroyDebugUtilsMessenger:TvkDestroyDebugUtilsMessengerEXT; FDestroyDebugUtilsMessenger:TvkDestroyDebugUtilsMessengerEXT;
// //
@ -613,6 +615,7 @@ var
cinfo:TVkDebugUtilsMessengerCreateInfoEXT; cinfo:TVkDebugUtilsMessengerCreateInfoEXT;
r:TVkResult; r:TVkResult;
begin begin
FStdOut:=StdOut;
// //
Pointer(FCreateDebugUtilsMessenger ):=vkGetInstanceProcAddr(VulkanApp.FInstance,'vkCreateDebugUtilsMessengerEXT'); Pointer(FCreateDebugUtilsMessenger ):=vkGetInstanceProcAddr(VulkanApp.FInstance,'vkCreateDebugUtilsMessengerEXT');
Pointer(FDestroyDebugUtilsMessenger):=vkGetInstanceProcAddr(VulkanApp.FInstance,'vkDestroyDebugUtilsMessengerEXT'); Pointer(FDestroyDebugUtilsMessenger):=vkGetInstanceProcAddr(VulkanApp.FInstance,'vkDestroyDebugUtilsMessengerEXT');
@ -719,7 +722,7 @@ begin
if Pos('not consumed by fragment shader',pCallbackData^.pMessage)<>0 then Exit; if Pos('not consumed by fragment shader',pCallbackData^.pMessage)<>0 then Exit;
if Pos('fragment shader writes to output location 0 with no matching attachment',pCallbackData^.pMessage)<>0 then Exit; if Pos('fragment shader writes to output location 0 with no matching attachment',pCallbackData^.pMessage)<>0 then Exit;
Writeln(pCallbackData^.pMessage); Writeln(FStdOut,pCallbackData^.pMessage);
{ {
sType:TVkStructureType; sType:TVkStructureType;

View File

@ -2123,6 +2123,8 @@ begin
if (AccessMask<>dstAccessMask ) or if (AccessMask<>dstAccessMask ) or
(ImgLayout <>newImageLayout) or (ImgLayout <>newImageLayout) or
(ImgLayout =VK_IMAGE_LAYOUT_GENERAL) or
(newImageLayout=VK_IMAGE_LAYOUT_GENERAL) or
ChangeStage(StageMask,dstStageMask) or ChangeStage(StageMask,dstStageMask) or
(IsRead (AccessMask) and IsWrite(dstAccessMask)) or (IsRead (AccessMask) and IsWrite(dstAccessMask)) or
@ -2140,6 +2142,14 @@ begin
if (cmd=0) then Exit; if (cmd=0) then Exit;
Writeln('Barrier:'#13#10,
' image =0x',HexStr(image,16),#13#10,
' srcAccessMask=0x',HexStr(AccessMask,8),#13#10,
' dstAccessMask=0x',HexStr(dstAccessMask,8),#13#10,
' oldLayout =' ,ImgLayout,#13#10,
' newLayout =' ,newImageLayout
);
info:=Default(TVkImageMemoryBarrier); info:=Default(TVkImageMemoryBarrier);
info.sType :=VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; info.sType :=VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER;
info.srcAccessMask :=AccessMask; info.srcAccessMask :=AccessMask;