Skip to content

Commit

Permalink
adapt packing to PR CL#1159
Browse files Browse the repository at this point in the history
  • Loading branch information
SunSerega committed Aug 31, 2024
1 parent a6b735e commit 29b8569
Show file tree
Hide file tree
Showing 23 changed files with 640 additions and 239 deletions.
2 changes: 1 addition & 1 deletion DataScraping/Reps/OpenCL-Docs
Submodule OpenCL-Docs updated from bfd9a6 to 1dd335
Binary file modified DataScraping/XML/OpenCL/funcs.bin
Binary file not shown.
22 changes: 11 additions & 11 deletions LastPack.log
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ Compiling "DataScraping/Reps/PullReps.pas"
Compiling: OK
Runing SubReps Update
SubReps Update: Pulling OpenCL
SubReps Update: cmd /c "(echo [checkout] && git checkout custom 2>&1) && (echo [pull-own]: && git pull SunSerega custom) && (echo [fetch-main] && git fetch 0_official main:main) && (echo [merge-main] && git merge main)"
SubReps Update: cmd /c "(echo [checkout] && git checkout pretest/1159 2>&1) && (echo [pull-own]: && git pull SunSerega pretest/1159) && (echo [fetch-main] && git fetch 0_official main:main) && (echo [merge-main] && git merge main)"
SubReps Update: OpenCL[OUT] : [checkout]
SubReps Update: OpenCL[OUT] : Your branch is up to date with 'SunSerega/custom'.
SubReps Update: OpenCL[OUT] : Already on 'custom'
SubReps Update: OpenCL[OUT] : Your branch is up to date with 'SunSerega/pretest/1159'.
SubReps Update: OpenCL[OUT] : Already on 'pretest/1159'
SubReps Update: OpenCL[OUT] : [pull-own]:
SubReps Update: OpenCL[ERR] : From SunSerega/OpenCL-Docs
SubReps Update: OpenCL[ERR] : * branch custom -> FETCH_HEAD
SubReps Update: OpenCL[ERR] : * branch pretest/1159 -> FETCH_HEAD
SubReps Update: OpenCL[OUT] : Already up to date.
SubReps Update: OpenCL[OUT] : [fetch-main]
SubReps Update: OpenCL[OUT] : [merge-main]
Expand Down Expand Up @@ -54,15 +54,15 @@ ScrapXML[OpenCL]: Parsing "cl"
ScrapXML[OpenCL]: Constructing named items
ScrapXML[OpenCL]: Saving as binary
ScrapXML[OpenCL]: VendorSuffix: Saved 11 items
ScrapXML[OpenCL]: Enum: Saved 1127 items
ScrapXML[OpenCL]: Enum: Saved 1132 items
ScrapXML[OpenCL]: BasicType: Saved 30 items
ScrapXML[OpenCL]: Group: Saved 121 items
ScrapXML[OpenCL]: IdClass: Saved 18 items
ScrapXML[OpenCL]: Struct: Saved 15 items
ScrapXML[OpenCL]: Struct: Saved 16 items
ScrapXML[OpenCL]: Delegate: Saved 8 items
ScrapXML[OpenCL]: Func: Saved 241 items
ScrapXML[OpenCL]: Func: Saved 242 items
ScrapXML[OpenCL]: Feature: Saved 7 items
ScrapXML[OpenCL]: Extension: Saved 132 items
ScrapXML[OpenCL]: Extension: Saved 133 items
ScrapXML[OpenCL]: Done
Finished runing ScrapXML[OpenCL]
Compiling "DataScraping/XML/OpenGL/ScrapXML.pas"
Expand Down Expand Up @@ -243,11 +243,11 @@ Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Dumping De
Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: PascalBasicType: Packed 12 items
Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Group: Packed 113 items
Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: IdClass: Packed 28 items
Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Struct: Packed 16 items
Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Struct: Packed 17 items
Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Delegate: Packed 7 items
Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Func: Packed 241 items
Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Func: Packed 242 items
Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Feature: Packed 1 items
Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Extension: Packed 132 items
Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Extension: Packed 133 items
Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Cleanup
Template[OpenCL]: Finished runing TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]
Finished runing Template[OpenCL]
Expand Down
6 changes: 3 additions & 3 deletions Log/OpenCL.log
Original file line number Diff line number Diff line change
Expand Up @@ -99,11 +99,11 @@ Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Dumping De
Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: PascalBasicType: Packed 12 items
Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Group: Packed 113 items
Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: IdClass: Packed 28 items
Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Struct: Packed 16 items
Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Struct: Packed 17 items
Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Delegate: Packed 7 items
Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Func: Packed 241 items
Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Func: Packed 242 items
Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Feature: Packed 1 items
Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Extension: Packed 132 items
Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Extension: Packed 133 items
Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Cleanup
Template[OpenCL]: Finished runing TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]
Finished runing Template[OpenCL]
Expand Down
16 changes: 8 additions & 8 deletions Log/PullUpstream.log
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Update Reps ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Runing SubReps Update
SubReps Update: Pulling OpenCL
SubReps Update: cmd /c "(echo [checkout] && git checkout custom 2>&1) && (echo [pull-own]: && git pull SunSerega custom) && (echo [fetch-main] && git fetch 0_official main:main) && (echo [merge-main] && git merge main)"
SubReps Update: cmd /c "(echo [checkout] && git checkout pretest/1159 2>&1) && (echo [pull-own]: && git pull SunSerega pretest/1159) && (echo [fetch-main] && git fetch 0_official main:main) && (echo [merge-main] && git merge main)"
SubReps Update: OpenCL[OUT] : [checkout]
SubReps Update: OpenCL[OUT] : Your branch is up to date with 'SunSerega/custom'.
SubReps Update: OpenCL[OUT] : Already on 'custom'
SubReps Update: OpenCL[OUT] : Your branch is up to date with 'SunSerega/pretest/1159'.
SubReps Update: OpenCL[OUT] : Already on 'pretest/1159'
SubReps Update: OpenCL[OUT] : [pull-own]:
SubReps Update: OpenCL[ERR] : From SunSerega/OpenCL-Docs
SubReps Update: OpenCL[ERR] : * branch custom -> FETCH_HEAD
SubReps Update: OpenCL[ERR] : * branch pretest/1159 -> FETCH_HEAD
SubReps Update: OpenCL[OUT] : Already up to date.
SubReps Update: OpenCL[OUT] : [fetch-main]
SubReps Update: OpenCL[OUT] : [merge-main]
Expand Down Expand Up @@ -44,15 +44,15 @@ ScrapXML[OpenCL]: Parsing "cl"
ScrapXML[OpenCL]: Constructing named items
ScrapXML[OpenCL]: Saving as binary
ScrapXML[OpenCL]: VendorSuffix: Saved 11 items
ScrapXML[OpenCL]: Enum: Saved 1127 items
ScrapXML[OpenCL]: Enum: Saved 1132 items
ScrapXML[OpenCL]: BasicType: Saved 30 items
ScrapXML[OpenCL]: Group: Saved 121 items
ScrapXML[OpenCL]: IdClass: Saved 18 items
ScrapXML[OpenCL]: Struct: Saved 15 items
ScrapXML[OpenCL]: Struct: Saved 16 items
ScrapXML[OpenCL]: Delegate: Saved 8 items
ScrapXML[OpenCL]: Func: Saved 241 items
ScrapXML[OpenCL]: Func: Saved 242 items
ScrapXML[OpenCL]: Feature: Saved 7 items
ScrapXML[OpenCL]: Extension: Saved 132 items
ScrapXML[OpenCL]: Extension: Saved 133 items
ScrapXML[OpenCL]: Done
Finished runing ScrapXML[OpenCL]
Runing ScrapXML[OpenGL]
Expand Down
82 changes: 82 additions & 0 deletions Modules.Packed/OpenCL.pas
Original file line number Diff line number Diff line change
Expand Up @@ -3841,6 +3841,7 @@ clKernelExecInfo = record

public static property KERNEL_EXEC_INFO_SVM_PTRS: clKernelExecInfo read new clKernelExecInfo($11B6);
public static property KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM: clKernelExecInfo read new clKernelExecInfo($11B7);
public static property KERNEL_EXEC_INFO_DEVICE_PTRS: clKernelExecInfo read new clKernelExecInfo($11BB);
public static property KERNEL_EXEC_INFO_WORKGROUP_BATCH_SIZE: clKernelExecInfo read new clKernelExecInfo($41E5);
public static property KERNEL_EXEC_INFO_WORKGROUP_BATCH_SIZE_MODIFIER: clKernelExecInfo read new clKernelExecInfo($41E6);
public static property KERNEL_EXEC_INFO_WARP_COUNT_LIMIT: clKernelExecInfo read new clKernelExecInfo($41E8);
Expand All @@ -3856,6 +3857,8 @@ clKernelExecInfo = record
Result := 'KERNEL_EXEC_INFO_SVM_PTRS' else
if KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM = self then
Result := 'KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM' else
if KERNEL_EXEC_INFO_DEVICE_PTRS = self then
Result := 'KERNEL_EXEC_INFO_DEVICE_PTRS' else
if KERNEL_EXEC_INFO_WORKGROUP_BATCH_SIZE = self then
Result := 'KERNEL_EXEC_INFO_WORKGROUP_BATCH_SIZE' else
if KERNEL_EXEC_INFO_WORKGROUP_BATCH_SIZE_MODIFIER = self then
Expand Down Expand Up @@ -4116,6 +4119,8 @@ clMemFlags = record
public static property MEM_USE_GRALLOC_PTR: clMemFlags read new clMemFlags(1 shl 28);
public static property MEM_EXT_HOST_PTR: clMemFlags read new clMemFlags(1 shl 29);
public static property MEM_PROTECTED_ALLOC: clMemFlags read new clMemFlags(1 shl 36);
public static property MEM_DEVICE_ADDRESS: clMemFlags read new clMemFlags(1 shl 41);
public static property MEM_DEVICE_PRIVATE: clMemFlags read new clMemFlags(1 shl 42);

public static function operator+(v1, v2: clMemFlags) := new clMemFlags(v1.val or v2.val);
public static function operator or(v1, v2: clMemFlags) := new clMemFlags(v1.val or v2.val);
Expand Down Expand Up @@ -4236,6 +4241,16 @@ clMemFlags = record
res += 'MEM_PROTECTED_ALLOC+';
left_val := left_val and not MEM_PROTECTED_ALLOC.val;
end;
if MEM_DEVICE_ADDRESS in self then
begin
res += 'MEM_DEVICE_ADDRESS+';
left_val := left_val and not MEM_DEVICE_ADDRESS.val;
end;
if MEM_DEVICE_PRIVATE in self then
begin
res += 'MEM_DEVICE_PRIVATE+';
left_val := left_val and not MEM_DEVICE_PRIVATE.val;
end;
if left_val<>0 then
begin
res += 'clMemFlags[';
Expand Down Expand Up @@ -4264,6 +4279,8 @@ clMemInfo = record
public static property MEM_OFFSET: clMemInfo read new clMemInfo($1108);
public static property MEM_USES_SVM_POINTER: clMemInfo read new clMemInfo($1109);
public static property MEM_PROPERTIES: clMemInfo read new clMemInfo($110A);
public static property MEM_DEVICE_PTR: clMemInfo read new clMemInfo($110B);
public static property MEM_DEVICE_PTRS: clMemInfo read new clMemInfo($110C);
public static property MEM_DX9_MEDIA_ADAPTER_TYPE: clMemInfo read new clMemInfo($2028);
public static property MEM_DX9_MEDIA_SURFACE_INFO: clMemInfo read new clMemInfo($2029);
public static property MEM_D3D10_RESOURCE: clMemInfo read new clMemInfo($4015);
Expand Down Expand Up @@ -4302,6 +4319,10 @@ clMemInfo = record
Result := 'MEM_USES_SVM_POINTER' else
if MEM_PROPERTIES = self then
Result := 'MEM_PROPERTIES' else
if MEM_DEVICE_PTR = self then
Result := 'MEM_DEVICE_PTR' else
if MEM_DEVICE_PTRS = self then
Result := 'MEM_DEVICE_PTRS' else
if MEM_DX9_MEDIA_ADAPTER_TYPE = self then
Result := 'MEM_DX9_MEDIA_ADAPTER_TYPE' else
if MEM_DX9_MEDIA_SURFACE_INFO = self then
Expand Down Expand Up @@ -6158,6 +6179,19 @@ cl_mem_android_native_buffer_host_ptr = record

end;

///
cl_mem_device_address_pair = record
public device: cl_device_id;
public address: UInt64;

public constructor(device: cl_device_id; address: UInt64);
begin
self.device := device;
self.address := address;
end;

end;

///
cl_mem_ion_host_ptr = record
public ext_host_ptr: cl_mem_ext_host_ptr;
Expand Down Expand Up @@ -12460,6 +12494,22 @@ cl_queue_family_properties = record
var param_value_sz := new UIntPtr(param_value_count*Marshal.SizeOf&<clMemProperties>);
Result := GetMemObjectInfo(memobj, clMemInfo.MEM_PROPERTIES, param_value_sz,param_value,IntPtr.Zero);
end;
public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function GetMemObjectInfo_MEM_DEVICE_PTR(memobj: cl_mem; var param_value: UInt64; param_value_validate_size: boolean := false): clErrorCode;
begin
var param_value_sz := new UIntPtr(Marshal.SizeOf&<UInt64>);
var param_value_ret_size: UIntPtr;
Result := GetMemObjectInfo(memobj, clMemInfo.MEM_DEVICE_PTR, param_value_sz,param_value,param_value_ret_size);
if param_value_validate_size and (param_value_ret_size<>param_value_sz) then
raise new InvalidOperationException($'Implementation returned a size of {param_value_ret_size} instead of {param_value_sz}');
end;
public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function GetMemObjectInfo_MEM_DEVICE_PTRS(memobj: cl_mem; var param_value: cl_mem_device_address_pair; param_value_validate_size: boolean := false): clErrorCode;
begin
var param_value_sz := new UIntPtr(Marshal.SizeOf&<cl_mem_device_address_pair>);
var param_value_ret_size: UIntPtr;
Result := GetMemObjectInfo(memobj, clMemInfo.MEM_DEVICE_PTRS, param_value_sz,param_value,param_value_ret_size);
if param_value_validate_size and (param_value_ret_size<>param_value_sz) then
raise new InvalidOperationException($'Implementation returned a size of {param_value_ret_size} instead of {param_value_sz}');
end;
public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function GetMemObjectInfo_MEM_DX9_MEDIA_ADAPTER_TYPE(memobj: cl_mem; var param_value: clDx9MediaAdapterType; param_value_validate_size: boolean := false): clErrorCode;
begin
var param_value_sz := new UIntPtr(Marshal.SizeOf&<clDx9MediaAdapterType>);
Expand Down Expand Up @@ -13525,6 +13575,11 @@ cl_queue_family_properties = record
var param_value_sz := new UIntPtr(Marshal.SizeOf&<clBool>);
Result := SetKernelExecInfo(kernel, clKernelExecInfo.KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM, param_value_sz,param_value);
end;
public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function SetKernelExecInfo_KERNEL_EXEC_INFO_DEVICE_PTRS(kernel: cl_kernel; param_value: UInt64): clErrorCode;
begin
var param_value_sz := new UIntPtr(Marshal.SizeOf&<UInt64>);
Result := SetKernelExecInfo(kernel, clKernelExecInfo.KERNEL_EXEC_INFO_DEVICE_PTRS, param_value_sz,param_value);
end;
public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function SetKernelExecInfo_KERNEL_EXEC_INFO_WORKGROUP_BATCH_SIZE(kernel: cl_kernel; param_value: UInt32): clErrorCode;
begin
var param_value_sz := new UIntPtr(Marshal.SizeOf&<UInt32>);
Expand Down Expand Up @@ -14342,6 +14397,29 @@ cl_queue_family_properties = record

end;

{$ifndef DEBUG}
[System.Security.SuppressUnmanagedCodeSecurity]
{$endif DEBUG}
[PCUNotRestore]
/// id: cl_ext_buffer_device_address
/// version: 0.1.0
clBufferDeviceAddressEXT = sealed partial class
public constructor(pl: cl_platform_id);
private constructor := raise new System.NotSupportedException;
public static PlatformLess := new clBufferDeviceAddressEXT(default(cl_platform_id));
private function GetProcAddress(name: string): IntPtr;
private static function GetProcOrNil<T>(fadr: IntPtr) :=
fadr=IntPtr.Zero ? default(T) :
Marshal.GetDelegateForFunctionPointer&<T>(fadr);
public const ExtensionString = 'cl_ext_buffer_device_address';

public SetKernelArgDevicePointerEXT_adr := GetProcAddress('clSetKernelArgDevicePointerEXT');
private ntv_SetKernelArgDevicePointerEXT_1 := GetProcOrNil&<function(kernel: cl_kernel; arg_index: UInt32; arg_value: IntPtr): clErrorCode>(SetKernelArgDevicePointerEXT_adr);
public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SetKernelArgDevicePointerEXT(kernel: cl_kernel; arg_index: UInt32; arg_value: IntPtr): clErrorCode :=
ntv_SetKernelArgDevicePointerEXT_1(kernel, arg_index, arg_value);

end;

/// id: cl_khr_extended_versioning
/// version: 1.0.0
/// promoted to: cl 3.0
Expand Down Expand Up @@ -20257,6 +20335,10 @@ function clImportMemoryARM.GetProcAddress(name: string) := pl.GetProcAddress(nam
constructor clSharedVirtualMemoryARM.Create(pl: cl_platform_id) := inherited Create(pl);
function clSharedVirtualMemoryARM.GetProcAddress(name: string) := pl.GetProcAddress(name);

type clBufferDeviceAddressEXT = sealed partial class(cl_extension_base) end;
constructor clBufferDeviceAddressEXT.Create(pl: cl_platform_id) := inherited Create(pl);
function clBufferDeviceAddressEXT.GetProcAddress(name: string) := pl.GetProcAddress(name);

type clDeviceFissionEXT = sealed partial class(cl_extension_base) end;
constructor clDeviceFissionEXT.Create(pl: cl_platform_id) := inherited Create(pl);
function clDeviceFissionEXT.GetProcAddress(name: string) := pl.GetProcAddress(name);
Expand Down
Loading

0 comments on commit 29b8569

Please sign in to comment.