diff --git a/DataScraping/Reps/OpenCL-Docs b/DataScraping/Reps/OpenCL-Docs index b0908a69..e279cf2c 160000 --- a/DataScraping/Reps/OpenCL-Docs +++ b/DataScraping/Reps/OpenCL-Docs @@ -1 +1 @@ -Subproject commit b0908a6928cd57a15cffd0a70b921634152e8076 +Subproject commit e279cf2ce91255d1a1bc6f8f675c87f4bb8864d9 diff --git a/DataScraping/Reps/OpenGL-Registry b/DataScraping/Reps/OpenGL-Registry index 26474495..6ce15ca2 160000 --- a/DataScraping/Reps/OpenGL-Registry +++ b/DataScraping/Reps/OpenGL-Registry @@ -1 +1 @@ -Subproject commit 26474495cbbd1faff8fc825a6981a507aaa3a33e +Subproject commit 6ce15ca26031ed767f1a1fe675a3a6b38d66fc0c diff --git a/DataScraping/XML/OpenCL/funcs.bin b/DataScraping/XML/OpenCL/funcs.bin index 42edc6a9..7149e205 100644 Binary files a/DataScraping/XML/OpenCL/funcs.bin and b/DataScraping/XML/OpenCL/funcs.bin differ diff --git a/DataScraping/XML/OpenGL/funcs.bin b/DataScraping/XML/OpenGL/funcs.bin index 4580c550..2c06c863 100644 Binary files a/DataScraping/XML/OpenGL/funcs.bin and b/DataScraping/XML/OpenGL/funcs.bin differ diff --git a/DataScraping/XML/OpenGL/merge_fails.log b/DataScraping/XML/OpenGL/merge_fails.log index 69335d7f..b929121b 100644 --- a/DataScraping/XML/OpenGL/merge_fails.log +++ b/DataScraping/XML/OpenGL/merge_fails.log @@ -35,6 +35,7 @@ Unable to merge items: Enum [gl::RESAMPLE_REPLICATE + SGIX] Enum [gl::RESAMPLE_R Unable to merge items: Enum [gl::RESAMPLE_ZERO_FILL + SGIX] Enum [gl::RESAMPLE_ZERO_FILL + OML] Unable to merge Enum [gl::DEPTH_STENCIL + MESA] => Enum [gl::DEPTH_STENCIL + /core\] Unable to merge Enum [gl::UNSIGNED_INT_24_8 + MESA] => Enum [gl::UNSIGNED_INT_24_8 + /core\] +Unable to merge Enum [gl::TEXTURE_LOD_BIAS + QCOM] => Enum [gl::TEXTURE_LOD_BIAS + /core\] Unable to merge Enum [gl::PRIMARY_COLOR + NV] => Enum [gl::PRIMARY_COLOR + /core\] Unable to merge items: Enum [gl::DISCARD + NV] Enum [gl::DISCARD + ATI] Unable to merge Enum [gl::PRIMITIVE_RESTART + NV] => Enum [gl::PRIMITIVE_RESTART + /core\] diff --git a/DataScraping/XML/OpenGL/naked_enums.log b/DataScraping/XML/OpenGL/naked_enums.log index 33c3917f..c9ea495f 100644 --- a/DataScraping/XML/OpenGL/naked_enums.log +++ b/DataScraping/XML/OpenGL/naked_enums.log @@ -157,7 +157,6 @@ Func [gl::ViewportSwizzle + NV] Func [gl::WeightPointer + OES] Func [gl::WindowRectangles + EXT] Func [wgl::BlitContextFramebuffer + AMD] -Func [wgl::GetGPUInfo + AMD] Func [glx::BlitContextFramebuffer + AMD] Func [glx::ChannelRectSync + SGIX] Func [glx::CopyBufferSubData + NV] diff --git a/LastPack.log b/LastPack.log index 4d0fb466..ff16f904 100644 --- a/LastPack.log +++ b/LastPack.log @@ -56,13 +56,13 @@ ScrapXML[OpenCL]: Parsing "cl" ScrapXML[OpenCL]: Constructing named items ScrapXML[OpenCL]: Saving as binary ScrapXML[OpenCL]: VendorSuffix: Saved 11 items -ScrapXML[OpenCL]: Enum: Saved 1117 items +ScrapXML[OpenCL]: Enum: Saved 1118 items ScrapXML[OpenCL]: BasicType: Saved 30 items ScrapXML[OpenCL]: Group: Saved 119 items ScrapXML[OpenCL]: IdClass: Saved 18 items ScrapXML[OpenCL]: Struct: Saved 16 items ScrapXML[OpenCL]: Delegate: Saved 8 items -ScrapXML[OpenCL]: Func: Saved 237 items +ScrapXML[OpenCL]: Func: Saved 239 items ScrapXML[OpenCL]: Feature: Saved 7 items ScrapXML[OpenCL]: Extension: Saved 104 items ScrapXML[OpenCL]: Done @@ -76,14 +76,14 @@ ScrapXML[OpenGL]: Parsing "glx" ScrapXML[OpenGL]: Constructing named items ScrapXML[OpenGL]: Saving as binary ScrapXML[OpenGL]: VendorSuffix: Saved 35 items -ScrapXML[OpenGL]: Enum: Saved 4762 items +ScrapXML[OpenGL]: Enum: Saved 4763 items ScrapXML[OpenGL]: BasicType: Saved 116 items ScrapXML[OpenGL]: Group: Saved 323 items ScrapXML[OpenGL]: IdClass: Saved 15 items ScrapXML[OpenGL]: Delegate: Saved 5 items ScrapXML[OpenGL]: Func: Saved 3573 items ScrapXML[OpenGL]: Feature: Saved 32 items -ScrapXML[OpenGL]: Extension: Saved 1140 items +ScrapXML[OpenGL]: Extension: Saved 1142 items ScrapXML[OpenGL]: Done Finished runing ScrapXML[OpenGL] =================================== References =================================== @@ -251,7 +251,7 @@ Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Group: Pac Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: IdClass: Packed 28 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 237 items +Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Func: Packed 239 items Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Feature: Packed 1 items Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Extension: Packed 104 items Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Cleanup @@ -363,7 +363,7 @@ Template[OpenGL]: TemplateCommand[LowLvl/OpenGL/Pack Essentials.exe]: Dumping Id Template[OpenGL]: TemplateCommand[LowLvl/OpenGL/Pack Essentials.exe]: Dumping Struct items Template[OpenGL]: TemplateCommand[LowLvl/OpenGL/Pack Essentials.exe]: Dumping Delegate items Template[OpenGL]: TemplateCommand[LowLvl/OpenGL/Pack Essentials.exe]: PascalBasicType: Packed 17 items -Template[OpenGL]: TemplateCommand[LowLvl/OpenGL/Pack Essentials.exe]: Group: Packed 313 items +Template[OpenGL]: TemplateCommand[LowLvl/OpenGL/Pack Essentials.exe]: Group: Packed 314 items Template[OpenGL]: TemplateCommand[LowLvl/OpenGL/Pack Essentials.exe]: IdClass: Packed 51 items Template[OpenGL]: TemplateCommand[LowLvl/OpenGL/Pack Essentials.exe]: Struct: Packed 4 items Template[OpenGL]: TemplateCommand[LowLvl/OpenGL/Pack Essentials.exe]: Delegate: Packed 4 items diff --git a/Log/FirstPack.log b/Log/FirstPack.log index 80197d92..b3235a4f 100644 --- a/Log/FirstPack.log +++ b/Log/FirstPack.log @@ -46,13 +46,13 @@ ScrapXML[OpenCL]: Parsing "cl" ScrapXML[OpenCL]: Constructing named items ScrapXML[OpenCL]: Saving as binary ScrapXML[OpenCL]: VendorSuffix: Saved 11 items -ScrapXML[OpenCL]: Enum: Saved 1117 items +ScrapXML[OpenCL]: Enum: Saved 1118 items ScrapXML[OpenCL]: BasicType: Saved 30 items ScrapXML[OpenCL]: Group: Saved 119 items ScrapXML[OpenCL]: IdClass: Saved 18 items ScrapXML[OpenCL]: Struct: Saved 16 items ScrapXML[OpenCL]: Delegate: Saved 8 items -ScrapXML[OpenCL]: Func: Saved 237 items +ScrapXML[OpenCL]: Func: Saved 239 items ScrapXML[OpenCL]: Feature: Saved 7 items ScrapXML[OpenCL]: Extension: Saved 104 items ScrapXML[OpenCL]: Done @@ -64,13 +64,13 @@ ScrapXML[OpenGL]: Parsing "glx" ScrapXML[OpenGL]: Constructing named items ScrapXML[OpenGL]: Saving as binary ScrapXML[OpenGL]: VendorSuffix: Saved 35 items -ScrapXML[OpenGL]: Enum: Saved 4762 items +ScrapXML[OpenGL]: Enum: Saved 4763 items ScrapXML[OpenGL]: BasicType: Saved 116 items ScrapXML[OpenGL]: Group: Saved 323 items ScrapXML[OpenGL]: IdClass: Saved 15 items ScrapXML[OpenGL]: Delegate: Saved 5 items ScrapXML[OpenGL]: Func: Saved 3573 items ScrapXML[OpenGL]: Feature: Saved 32 items -ScrapXML[OpenGL]: Extension: Saved 1140 items +ScrapXML[OpenGL]: Extension: Saved 1142 items ScrapXML[OpenGL]: Done Finished runing ScrapXML[OpenGL] diff --git a/Log/OpenCL.log b/Log/OpenCL.log index e94dea19..1e4f8815 100644 --- a/Log/OpenCL.log +++ b/Log/OpenCL.log @@ -105,7 +105,7 @@ Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Group: Pac Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: IdClass: Packed 28 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 237 items +Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Func: Packed 239 items Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Feature: Packed 1 items Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Extension: Packed 104 items Template[OpenCL]: TemplateCommand[LowLvl/OpenCL/Pack Essentials.exe]: Cleanup diff --git a/Log/OpenGL.log b/Log/OpenGL.log index 64906d62..8dc7d5e4 100644 --- a/Log/OpenGL.log +++ b/Log/OpenGL.log @@ -51,7 +51,7 @@ Template[OpenGL]: TemplateCommand[LowLvl/OpenGL/Pack Essentials.exe]: Dumping Id Template[OpenGL]: TemplateCommand[LowLvl/OpenGL/Pack Essentials.exe]: Dumping Struct items Template[OpenGL]: TemplateCommand[LowLvl/OpenGL/Pack Essentials.exe]: Dumping Delegate items Template[OpenGL]: TemplateCommand[LowLvl/OpenGL/Pack Essentials.exe]: PascalBasicType: Packed 17 items -Template[OpenGL]: TemplateCommand[LowLvl/OpenGL/Pack Essentials.exe]: Group: Packed 313 items +Template[OpenGL]: TemplateCommand[LowLvl/OpenGL/Pack Essentials.exe]: Group: Packed 314 items Template[OpenGL]: TemplateCommand[LowLvl/OpenGL/Pack Essentials.exe]: IdClass: Packed 51 items Template[OpenGL]: TemplateCommand[LowLvl/OpenGL/Pack Essentials.exe]: Struct: Packed 4 items Template[OpenGL]: TemplateCommand[LowLvl/OpenGL/Pack Essentials.exe]: Delegate: Packed 4 items diff --git a/Modules.Packed/OpenCL.pas b/Modules.Packed/OpenCL.pas index 0d5e0ed0..c195e916 100644 --- a/Modules.Packed/OpenCL.pas +++ b/Modules.Packed/OpenCL.pas @@ -1793,6 +1793,7 @@ clDeviceInfo = record public static property DEVICE_SEMAPHORE_IMPORT_HANDLE_TYPES: clDeviceInfo read new clDeviceInfo($204D); public static property DEVICE_SEMAPHORE_EXPORT_HANDLE_TYPES: clDeviceInfo read new clDeviceInfo($204E); public static property DEVICE_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES: clDeviceInfo read new clDeviceInfo($204F); + public static property DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES: clDeviceInfo read new clDeviceInfo($2052); public static property DEVICE_COMPUTE_CAPABILITY_MAJOR: clDeviceInfo read new clDeviceInfo($4000); public static property DEVICE_COMPUTE_CAPABILITY_MINOR: clDeviceInfo read new clDeviceInfo($4001); public static property DEVICE_REGISTERS_PER_BLOCK: clDeviceInfo read new clDeviceInfo($4002); @@ -2124,6 +2125,8 @@ clDeviceInfo = record Result := 'DEVICE_SEMAPHORE_EXPORT_HANDLE_TYPES' else if DEVICE_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES = self then Result := 'DEVICE_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES' else + if DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES = self then + Result := 'DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES' else if DEVICE_COMPUTE_CAPABILITY_MAJOR = self then Result := 'DEVICE_COMPUTE_CAPABILITY_MAJOR' else if DEVICE_COMPUTE_CAPABILITY_MINOR = self then @@ -10943,6 +10946,25 @@ cl_queue_family_properties = record var param_value_sz := new UIntPtr(param_value_count*Marshal.SizeOf&); Result := GetDeviceInfo(device, clDeviceInfo.DEVICE_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES, param_value_sz,param_value,IntPtr.Zero); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function GetDeviceInfo_DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES(device: cl_device_id; var param_value: array of clExternalMemoryHandleType): clErrorCode; + begin + var param_value_sz: UIntPtr; + Result := ntv_GetDeviceInfo_3(device, clDeviceInfo.DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES, UIntPtr.Zero,nil,param_value_sz); + if Result.IS_ERROR then exit; + if param_value_sz = UIntPtr.Zero then + begin + param_value := nil; + exit; + end; + var param_value_temp_res := new clExternalMemoryHandleType[param_value_sz.ToUInt64 div Marshal.SizeOf&]; + Result := GetDeviceInfo(device, clDeviceInfo.DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES, param_value_sz,param_value_temp_res[0],IntPtr.Zero); + param_value := param_value_temp_res; + end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function GetDeviceInfo_DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES(device: cl_device_id; param_value_count: UInt32; var param_value: clExternalMemoryHandleType): clErrorCode; + begin + var param_value_sz := new UIntPtr(param_value_count*Marshal.SizeOf&); + Result := GetDeviceInfo(device, clDeviceInfo.DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES, param_value_sz,param_value,IntPtr.Zero); + end; public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function GetDeviceInfo_DEVICE_COMPUTE_CAPABILITY_MAJOR(device: cl_device_id; var param_value: UInt32; param_value_validate_size: boolean := false): clErrorCode; begin var param_value_sz := new UIntPtr(Marshal.SizeOf&); @@ -16556,6 +16578,112 @@ cl_queue_family_properties = record public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandNDRangeKernelKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; properties: IntPtr; kernel: cl_kernel; work_dim: UInt32; global_work_offset: IntPtr; global_work_size: IntPtr; local_work_size: IntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; var sync_point: UInt32; mutable_handle: IntPtr): clErrorCode := ntv_CommandNDRangeKernelKHR_8(command_buffer, command_queue, properties, kernel, work_dim, global_work_offset, global_work_size, local_work_size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + private static function ntv_CommandSVMMemcpyKHR_1(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; var sync_point: UInt32; var mutable_handle: cl_mutable_command): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemcpyKHR'; + private static function ntv_CommandSVMMemcpyKHR_2(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; var sync_point: UInt32; mutable_handle: IntPtr): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemcpyKHR'; + private static function ntv_CommandSVMMemcpyKHR_3(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; sync_point: IntPtr; var mutable_handle: cl_mutable_command): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemcpyKHR'; + private static function ntv_CommandSVMMemcpyKHR_4(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; sync_point: IntPtr; mutable_handle: IntPtr): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemcpyKHR'; + private static function ntv_CommandSVMMemcpyKHR_5(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; var sync_point: UInt32; var mutable_handle: cl_mutable_command): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemcpyKHR'; + private static function ntv_CommandSVMMemcpyKHR_6(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; var sync_point: UInt32; mutable_handle: IntPtr): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemcpyKHR'; + private static function ntv_CommandSVMMemcpyKHR_7(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; sync_point: IntPtr; var mutable_handle: cl_mutable_command): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemcpyKHR'; + private static function ntv_CommandSVMMemcpyKHR_8(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; sync_point: IntPtr; mutable_handle: IntPtr): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemcpyKHR'; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemcpyKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: array of UInt32; sync_point: array of UInt32; mutable_handle: array of cl_mutable_command): clErrorCode; + type PUInt32 = ^UInt32; + type PCl_mutable_command = ^cl_mutable_command; + begin + Result := if (mutable_handle<>nil) and (mutable_handle.Length<>0) then + if (sync_point_wait_list<>nil) and (sync_point_wait_list.Length<>0) then + if (sync_point<>nil) and (sync_point.Length<>0) then + ntv_CommandSVMMemcpyKHR_1(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list[0], sync_point[0], mutable_handle[0]) else + ntv_CommandSVMMemcpyKHR_1(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list[0], PUInt32(nil)^, mutable_handle[0]) else + if (sync_point<>nil) and (sync_point.Length<>0) then + ntv_CommandSVMMemcpyKHR_1(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, PUInt32(nil)^, sync_point[0], mutable_handle[0]) else + ntv_CommandSVMMemcpyKHR_1(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, PUInt32(nil)^, PUInt32(nil)^, mutable_handle[0]) else + if (sync_point_wait_list<>nil) and (sync_point_wait_list.Length<>0) then + if (sync_point<>nil) and (sync_point.Length<>0) then + ntv_CommandSVMMemcpyKHR_1(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list[0], sync_point[0], PCl_mutable_command(nil)^) else + ntv_CommandSVMMemcpyKHR_1(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list[0], PUInt32(nil)^, PCl_mutable_command(nil)^) else + if (sync_point<>nil) and (sync_point.Length<>0) then + ntv_CommandSVMMemcpyKHR_1(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, PUInt32(nil)^, sync_point[0], PCl_mutable_command(nil)^) else + ntv_CommandSVMMemcpyKHR_1(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, PUInt32(nil)^, PUInt32(nil)^, PCl_mutable_command(nil)^); + end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemcpyKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; var sync_point: UInt32; var mutable_handle: cl_mutable_command): clErrorCode := + ntv_CommandSVMMemcpyKHR_1(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemcpyKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; var sync_point: UInt32; mutable_handle: IntPtr): clErrorCode := + ntv_CommandSVMMemcpyKHR_2(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemcpyKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; sync_point: IntPtr; var mutable_handle: cl_mutable_command): clErrorCode := + ntv_CommandSVMMemcpyKHR_3(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemcpyKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; sync_point: IntPtr; mutable_handle: IntPtr): clErrorCode := + ntv_CommandSVMMemcpyKHR_4(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemcpyKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; var sync_point: UInt32; var mutable_handle: cl_mutable_command): clErrorCode := + ntv_CommandSVMMemcpyKHR_5(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemcpyKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; var sync_point: UInt32; mutable_handle: IntPtr): clErrorCode := + ntv_CommandSVMMemcpyKHR_6(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemcpyKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; sync_point: IntPtr; var mutable_handle: cl_mutable_command): clErrorCode := + ntv_CommandSVMMemcpyKHR_7(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemcpyKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; sync_point: IntPtr; mutable_handle: IntPtr): clErrorCode := + ntv_CommandSVMMemcpyKHR_8(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + + private static function ntv_CommandSVMMemFillKHR_1(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; var sync_point: UInt32; var mutable_handle: cl_mutable_command): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemFillKHR'; + private static function ntv_CommandSVMMemFillKHR_2(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; var sync_point: UInt32; mutable_handle: IntPtr): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemFillKHR'; + private static function ntv_CommandSVMMemFillKHR_3(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; sync_point: IntPtr; var mutable_handle: cl_mutable_command): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemFillKHR'; + private static function ntv_CommandSVMMemFillKHR_4(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; sync_point: IntPtr; mutable_handle: IntPtr): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemFillKHR'; + private static function ntv_CommandSVMMemFillKHR_5(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; var sync_point: UInt32; var mutable_handle: cl_mutable_command): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemFillKHR'; + private static function ntv_CommandSVMMemFillKHR_6(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; var sync_point: UInt32; mutable_handle: IntPtr): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemFillKHR'; + private static function ntv_CommandSVMMemFillKHR_7(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; sync_point: IntPtr; var mutable_handle: cl_mutable_command): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemFillKHR'; + private static function ntv_CommandSVMMemFillKHR_8(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; sync_point: IntPtr; mutable_handle: IntPtr): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemFillKHR'; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemFillKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: array of UInt32; sync_point: array of UInt32; mutable_handle: array of cl_mutable_command): clErrorCode; + type PUInt32 = ^UInt32; + type PCl_mutable_command = ^cl_mutable_command; + begin + Result := if (mutable_handle<>nil) and (mutable_handle.Length<>0) then + if (sync_point_wait_list<>nil) and (sync_point_wait_list.Length<>0) then + if (sync_point<>nil) and (sync_point.Length<>0) then + ntv_CommandSVMMemFillKHR_1(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list[0], sync_point[0], mutable_handle[0]) else + ntv_CommandSVMMemFillKHR_1(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list[0], PUInt32(nil)^, mutable_handle[0]) else + if (sync_point<>nil) and (sync_point.Length<>0) then + ntv_CommandSVMMemFillKHR_1(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, PUInt32(nil)^, sync_point[0], mutable_handle[0]) else + ntv_CommandSVMMemFillKHR_1(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, PUInt32(nil)^, PUInt32(nil)^, mutable_handle[0]) else + if (sync_point_wait_list<>nil) and (sync_point_wait_list.Length<>0) then + if (sync_point<>nil) and (sync_point.Length<>0) then + ntv_CommandSVMMemFillKHR_1(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list[0], sync_point[0], PCl_mutable_command(nil)^) else + ntv_CommandSVMMemFillKHR_1(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list[0], PUInt32(nil)^, PCl_mutable_command(nil)^) else + if (sync_point<>nil) and (sync_point.Length<>0) then + ntv_CommandSVMMemFillKHR_1(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, PUInt32(nil)^, sync_point[0], PCl_mutable_command(nil)^) else + ntv_CommandSVMMemFillKHR_1(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, PUInt32(nil)^, PUInt32(nil)^, PCl_mutable_command(nil)^); + end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemFillKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; var sync_point: UInt32; var mutable_handle: cl_mutable_command): clErrorCode := + ntv_CommandSVMMemFillKHR_1(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemFillKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; var sync_point: UInt32; mutable_handle: IntPtr): clErrorCode := + ntv_CommandSVMMemFillKHR_2(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemFillKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; sync_point: IntPtr; var mutable_handle: cl_mutable_command): clErrorCode := + ntv_CommandSVMMemFillKHR_3(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemFillKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; sync_point: IntPtr; mutable_handle: IntPtr): clErrorCode := + ntv_CommandSVMMemFillKHR_4(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemFillKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; var sync_point: UInt32; var mutable_handle: cl_mutable_command): clErrorCode := + ntv_CommandSVMMemFillKHR_5(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemFillKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; var sync_point: UInt32; mutable_handle: IntPtr): clErrorCode := + ntv_CommandSVMMemFillKHR_6(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemFillKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; sync_point: IntPtr; var mutable_handle: cl_mutable_command): clErrorCode := + ntv_CommandSVMMemFillKHR_7(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemFillKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; sync_point: IntPtr; mutable_handle: IntPtr): clErrorCode := + ntv_CommandSVMMemFillKHR_8(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + private static function ntv_GetCommandBufferInfoKHR_1(command_buffer: cl_command_buffer; param_name: clCommandBufferInfo; param_value_size: UIntPtr; var param_value: Byte; var param_value_size_ret: UIntPtr): clErrorCode; external 'OpenCL' name 'clGetCommandBufferInfoKHR'; private static function ntv_GetCommandBufferInfoKHR_2(command_buffer: cl_command_buffer; param_name: clCommandBufferInfo; param_value_size: UIntPtr; var param_value: Byte; param_value_size_ret: IntPtr): clErrorCode; diff --git a/Modules.Packed/OpenCLABC.pas b/Modules.Packed/OpenCLABC.pas index ed38eaa6..742b8b9f 100644 --- a/Modules.Packed/OpenCLABC.pas +++ b/Modules.Packed/OpenCLABC.pas @@ -1994,6 +1994,10 @@ CLDeviceProperties = class begin cl.GetDeviceInfo_DEVICE_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES(self.ntv, Result).RaiseIfError; end; + private function GetExternalMemoryImportAssumeLinearImagesHandleTypes: array of clExternalMemoryHandleType; + begin + cl.GetDeviceInfo_DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES(self.ntv, Result).RaiseIfError; + end; private function GetComputeCapabilityMajor: UInt32; begin cl.GetDeviceInfo_DEVICE_COMPUTE_CAPABILITY_MAJOR(self.ntv, Result).RaiseIfError; @@ -2312,6 +2316,7 @@ CLDeviceProperties = class public property SemaphoreImportHandleTypes: array of clExternalSemaphoreHandleType read GetSemaphoreImportHandleTypes; public property SemaphoreExportHandleTypes: array of clExternalSemaphoreHandleType read GetSemaphoreExportHandleTypes; public property ExternalMemoryImportHandleTypes: array of clExternalMemoryHandleType read GetExternalMemoryImportHandleTypes; + public property ExternalMemoryImportAssumeLinearImagesHandleTypes: array of clExternalMemoryHandleType read GetExternalMemoryImportAssumeLinearImagesHandleTypes; public property ComputeCapabilityMajor: UInt32 read GetComputeCapabilityMajor; public property ComputeCapabilityMinor: UInt32 read GetComputeCapabilityMinor; public property RegistersPerBlock: UInt32 read GetRegistersPerBlock; @@ -2498,6 +2503,7 @@ CLDeviceProperties = class res += 'SemaphoreImportHandleTypes = '; AddProp(res, GetSemaphoreImportHandleTypes ); res += #10; res += 'SemaphoreExportHandleTypes = '; AddProp(res, GetSemaphoreExportHandleTypes ); res += #10; res += 'ExternalMemoryImportHandleTypes = '; AddProp(res, GetExternalMemoryImportHandleTypes ); res += #10; + res += 'ExternalMemoryImportAssumeLinearImagesHandleTypes = '; AddProp(res, GetExternalMemoryImportAssumeLinearImagesHandleTypes ); res += #10; res += 'ComputeCapabilityMajor = '; AddProp(res, GetComputeCapabilityMajor ); res += #10; res += 'ComputeCapabilityMinor = '; AddProp(res, GetComputeCapabilityMinor ); res += #10; res += 'RegistersPerBlock = '; AddProp(res, GetRegistersPerBlock ); res += #10; diff --git a/Modules.Packed/OpenGL.pas b/Modules.Packed/OpenGL.pas index feaab5d7..a5d2399b 100644 --- a/Modules.Packed/OpenGL.pas +++ b/Modules.Packed/OpenGL.pas @@ -21612,18 +21612,33 @@ glScalarType = record public val: UInt32; public constructor(val: UInt32) := self.val := val; + public static property BYTE: glScalarType read new glScalarType($1400); public static property UNSIGNED_BYTE: glScalarType read new glScalarType($1401); + public static property SHORT: glScalarType read new glScalarType($1402); public static property UNSIGNED_SHORT: glScalarType read new glScalarType($1403); + public static property INT: glScalarType read new glScalarType($1404); public static property UNSIGNED_INT: glScalarType read new glScalarType($1405); + public static property FLOAT: glScalarType read new glScalarType($1406); + public static property DOUBLE: glScalarType read new glScalarType($140A); public function ToString: string; override; begin + if BYTE = self then + Result := 'BYTE' else if UNSIGNED_BYTE = self then Result := 'UNSIGNED_BYTE' else + if SHORT = self then + Result := 'SHORT' else if UNSIGNED_SHORT = self then Result := 'UNSIGNED_SHORT' else + if INT = self then + Result := 'INT' else if UNSIGNED_INT = self then Result := 'UNSIGNED_INT' else + if FLOAT = self then + Result := 'FLOAT' else + if DOUBLE = self then + Result := 'DOUBLE' else Result := $'glScalarType[{self.val}]'; end; @@ -23834,17 +23849,14 @@ glTextureWrapMode = record public val: UInt32; public constructor(val: UInt32) := self.val := val; - public static property LINEAR_MIPMAP_LINEAR: glTextureWrapMode read new glTextureWrapMode($2703); - public static property CLAMP: glTextureWrapMode read new glTextureWrapMode($2900); - public static property &REPEAT: glTextureWrapMode read new glTextureWrapMode($2901); - public static property CLAMP_TO_BORDER: glTextureWrapMode read new glTextureWrapMode($812D); - public static property CLAMP_TO_EDGE: glTextureWrapMode read new glTextureWrapMode($812F); - public static property MIRRORED_REPEAT: glTextureWrapMode read new glTextureWrapMode($8370); + public static property CLAMP: glTextureWrapMode read new glTextureWrapMode($2900); + public static property &REPEAT: glTextureWrapMode read new glTextureWrapMode($2901); + public static property CLAMP_TO_BORDER: glTextureWrapMode read new glTextureWrapMode($812D); + public static property CLAMP_TO_EDGE: glTextureWrapMode read new glTextureWrapMode($812F); + public static property MIRRORED_REPEAT: glTextureWrapMode read new glTextureWrapMode($8370); public function ToString: string; override; begin - if LINEAR_MIPMAP_LINEAR = self then - Result := 'LINEAR_MIPMAP_LINEAR' else if CLAMP = self then Result := 'CLAMP' else if &REPEAT = self then @@ -25584,6 +25596,64 @@ wglColorBuffer = record end; + /// + wglColorBufferMask = record + public val: UInt32; + public constructor(val: UInt32) := self.val := val; + + public static property FRONT_COLOR_BUFFER_BIT: wglColorBufferMask read new wglColorBufferMask(1 shl 0); + public static property BACK_COLOR_BUFFER_BIT: wglColorBufferMask read new wglColorBufferMask(1 shl 1); + public static property DEPTH_BUFFER_BIT: wglColorBufferMask read new wglColorBufferMask(1 shl 2); + public static property STENCIL_BUFFER_BIT: wglColorBufferMask read new wglColorBufferMask(1 shl 3); + + public static function operator+(v1, v2: wglColorBufferMask) := new wglColorBufferMask(v1.val or v2.val); + public static function operator or(v1, v2: wglColorBufferMask) := new wglColorBufferMask(v1.val or v2.val); + + public static procedure operator+=(var v1: wglColorBufferMask; v2: wglColorBufferMask) := v1 := v1+v2; + + public static function operator in(v1, v2: wglColorBufferMask) := v1.val and v2.val = v1.val; + + public function ToString: string; override; + begin + var res := new StringBuilder; + var left_val := self.val; + if left_val=0 then + begin + Result := 'wglColorBufferMask[0]'; + exit; + end; + if FRONT_COLOR_BUFFER_BIT in self then + begin + res += 'FRONT_COLOR_BUFFER_BIT+'; + left_val := left_val and not FRONT_COLOR_BUFFER_BIT.val; + end; + if BACK_COLOR_BUFFER_BIT in self then + begin + res += 'BACK_COLOR_BUFFER_BIT+'; + left_val := left_val and not BACK_COLOR_BUFFER_BIT.val; + end; + if DEPTH_BUFFER_BIT in self then + begin + res += 'DEPTH_BUFFER_BIT+'; + left_val := left_val and not DEPTH_BUFFER_BIT.val; + end; + if STENCIL_BUFFER_BIT in self then + begin + res += 'STENCIL_BUFFER_BIT+'; + left_val := left_val and not STENCIL_BUFFER_BIT.val; + end; + if left_val<>0 then + begin + res += 'wglColorBufferMask['; + res += self.val.ToString; + res += ']+'; + end; + res.Length -= 1; + Result := res.ToString; + end; + + end; + /// wglContextAttribute = record public val: Int32; @@ -25628,6 +25698,55 @@ wglDigitalVideoAttribute = record end; + /// + wglDXInteropMask = record + public val: UInt32; + public constructor(val: UInt32) := self.val := val; + + public static property ACCESS_READ_ONLY: wglDXInteropMask read new wglDXInteropMask(0); + public static property ACCESS_READ_WRITE: wglDXInteropMask read new wglDXInteropMask(1 shl 0); + public static property ACCESS_WRITE_DISCARD: wglDXInteropMask read new wglDXInteropMask(1 shl 1); + + public property ANY_FLAGS: boolean read self.val<>0; + + public static function operator+(v1, v2: wglDXInteropMask) := new wglDXInteropMask(v1.val or v2.val); + public static function operator or(v1, v2: wglDXInteropMask) := new wglDXInteropMask(v1.val or v2.val); + + public static procedure operator+=(var v1: wglDXInteropMask; v2: wglDXInteropMask) := v1 := v1+v2; + + public static function operator in(v1, v2: wglDXInteropMask) := v1.val and v2.val = v1.val; + + public function ToString: string; override; + begin + var res := new StringBuilder; + var left_val := self.val; + if left_val=0 then + begin + Result := 'ACCESS_READ_ONLY'; + exit; + end; + if ACCESS_READ_WRITE in self then + begin + res += 'ACCESS_READ_WRITE+'; + left_val := left_val and not ACCESS_READ_WRITE.val; + end; + if ACCESS_WRITE_DISCARD in self then + begin + res += 'ACCESS_WRITE_DISCARD+'; + left_val := left_val and not ACCESS_WRITE_DISCARD.val; + end; + if left_val<>0 then + begin + res += 'wglDXInteropMask['; + res += self.val.ToString; + res += ']+'; + end; + res.Length -= 1; + Result := res.ToString; + end; + + end; + /// wglFontFormat = record public val: Int32; @@ -25707,186 +25826,19 @@ wglGPUProperty = record end; /// - wglObjectTypeDX = record - public val: UInt32; - public constructor(val: UInt32) := self.val := val; - - public static property gl_NONE: wglObjectTypeDX read new wglObjectTypeDX(0); - public static property gl_TEXTURE_2D: wglObjectTypeDX read new wglObjectTypeDX($0DE1); - public static property gl_TEXTURE_3D: wglObjectTypeDX read new wglObjectTypeDX($806F); - public static property gl_TEXTURE_RECTANGLE: wglObjectTypeDX read new wglObjectTypeDX($84F5); - public static property gl_TEXTURE_CUBE_MAP: wglObjectTypeDX read new wglObjectTypeDX($8513); - public static property gl_RENDERBUFFER: wglObjectTypeDX read new wglObjectTypeDX($8D41); - - public function ToString: string; override; - begin - if gl_NONE = self then - Result := 'gl_NONE' else - if gl_TEXTURE_2D = self then - Result := 'gl_TEXTURE_2D' else - if gl_TEXTURE_3D = self then - Result := 'gl_TEXTURE_3D' else - if gl_TEXTURE_RECTANGLE = self then - Result := 'gl_TEXTURE_RECTANGLE' else - if gl_TEXTURE_CUBE_MAP = self then - Result := 'gl_TEXTURE_CUBE_MAP' else - if gl_RENDERBUFFER = self then - Result := 'gl_RENDERBUFFER' else - Result := $'wglObjectTypeDX[{self.val}]'; - end; - - end; - - /// - wglPBufferAttribute = record - public val: Int32; - public constructor(val: Int32) := self.val := val; - - public static property PBUFFER_WIDTH: wglPBufferAttribute read new wglPBufferAttribute($2034); - public static property PBUFFER_HEIGHT: wglPBufferAttribute read new wglPBufferAttribute($2035); - public static property PBUFFER_LOST: wglPBufferAttribute read new wglPBufferAttribute($2036); - public static property TEXTURE_FORMAT: wglPBufferAttribute read new wglPBufferAttribute($2072); - public static property TEXTURE_TARGET: wglPBufferAttribute read new wglPBufferAttribute($2073); - public static property MIPMAP_TEXTURE: wglPBufferAttribute read new wglPBufferAttribute($2074); - public static property MIPMAP_LEVEL: wglPBufferAttribute read new wglPBufferAttribute($207B); - public static property CUBE_MAP_FACE: wglPBufferAttribute read new wglPBufferAttribute($207C); - - public function ToString: string; override; - begin - if PBUFFER_WIDTH = self then - Result := 'PBUFFER_WIDTH' else - if PBUFFER_HEIGHT = self then - Result := 'PBUFFER_HEIGHT' else - if PBUFFER_LOST = self then - Result := 'PBUFFER_LOST' else - if TEXTURE_FORMAT = self then - Result := 'TEXTURE_FORMAT' else - if TEXTURE_TARGET = self then - Result := 'TEXTURE_TARGET' else - if MIPMAP_TEXTURE = self then - Result := 'MIPMAP_TEXTURE' else - if MIPMAP_LEVEL = self then - Result := 'MIPMAP_LEVEL' else - if CUBE_MAP_FACE = self then - Result := 'CUBE_MAP_FACE' else - Result := $'wglPBufferAttribute[{self.val}]'; - end; - - end; - - /// - wglStereoEmitterState = record + wglImageBufferMask = record public val: UInt32; public constructor(val: UInt32) := self.val := val; - public static property STEREO_EMITTER_ENABLE: wglStereoEmitterState read new wglStereoEmitterState($2055); - public static property STEREO_EMITTER_DISABLE: wglStereoEmitterState read new wglStereoEmitterState($2056); - public static property STEREO_POLARITY_NORMAL: wglStereoEmitterState read new wglStereoEmitterState($2057); - public static property STEREO_POLARITY_INVERT: wglStereoEmitterState read new wglStereoEmitterState($2058); + public static property IMAGE_BUFFER_MIN_ACCESS: wglImageBufferMask read new wglImageBufferMask(1 shl 0); + public static property IMAGE_BUFFER_LOCK: wglImageBufferMask read new wglImageBufferMask(1 shl 1); - public function ToString: string; override; - begin - if STEREO_EMITTER_ENABLE = self then - Result := 'STEREO_EMITTER_ENABLE' else - if STEREO_EMITTER_DISABLE = self then - Result := 'STEREO_EMITTER_DISABLE' else - if STEREO_POLARITY_NORMAL = self then - Result := 'STEREO_POLARITY_NORMAL' else - if STEREO_POLARITY_INVERT = self then - Result := 'STEREO_POLARITY_INVERT' else - Result := $'wglStereoEmitterState[{self.val}]'; - end; + public static function operator+(v1, v2: wglImageBufferMask) := new wglImageBufferMask(v1.val or v2.val); + public static function operator or(v1, v2: wglImageBufferMask) := new wglImageBufferMask(v1.val or v2.val); - end; - - /// - wglVideoCaptureDeviceAttribute = record - public val: Int32; - public constructor(val: Int32) := self.val := val; + public static procedure operator+=(var v1: wglImageBufferMask; v2: wglImageBufferMask) := v1 := v1+v2; - public static property UNIQUE_ID: wglVideoCaptureDeviceAttribute read new wglVideoCaptureDeviceAttribute($20CE); - - public function ToString: string; override; - begin - if UNIQUE_ID = self then - Result := 'UNIQUE_ID' else - Result := $'wglVideoCaptureDeviceAttribute[{self.val}]'; - end; - - end; - - /// - wglVideoOutputBuffer = record - public val: Int32; - public constructor(val: Int32) := self.val := val; - - public static property VIDEO_OUT_COLOR: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C3); - public static property VIDEO_OUT_ALPHA: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C4); - public static property VIDEO_OUT_DEPTH: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C5); - public static property VIDEO_OUT_COLOR_AND_ALPHA: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C6); - public static property VIDEO_OUT_COLOR_AND_DEPTH: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C7); - - public function ToString: string; override; - begin - if VIDEO_OUT_COLOR = self then - Result := 'VIDEO_OUT_COLOR' else - if VIDEO_OUT_ALPHA = self then - Result := 'VIDEO_OUT_ALPHA' else - if VIDEO_OUT_DEPTH = self then - Result := 'VIDEO_OUT_DEPTH' else - if VIDEO_OUT_COLOR_AND_ALPHA = self then - Result := 'VIDEO_OUT_COLOR_AND_ALPHA' else - if VIDEO_OUT_COLOR_AND_DEPTH = self then - Result := 'VIDEO_OUT_COLOR_AND_DEPTH' else - Result := $'wglVideoOutputBuffer[{self.val}]'; - end; - - end; - - /// - wglVideoOutputBufferType = record - public val: Int32; - public constructor(val: Int32) := self.val := val; - - public static property VIDEO_OUT_FRAME: wglVideoOutputBufferType read new wglVideoOutputBufferType($20C8); - public static property VIDEO_OUT_FIELD_1: wglVideoOutputBufferType read new wglVideoOutputBufferType($20C9); - public static property VIDEO_OUT_FIELD_2: wglVideoOutputBufferType read new wglVideoOutputBufferType($20CA); - public static property VIDEO_OUT_STACKED_FIELDS_1_2: wglVideoOutputBufferType read new wglVideoOutputBufferType($20CB); - public static property VIDEO_OUT_STACKED_FIELDS_2_1: wglVideoOutputBufferType read new wglVideoOutputBufferType($20CC); - - public function ToString: string; override; - begin - if VIDEO_OUT_FRAME = self then - Result := 'VIDEO_OUT_FRAME' else - if VIDEO_OUT_FIELD_1 = self then - Result := 'VIDEO_OUT_FIELD_1' else - if VIDEO_OUT_FIELD_2 = self then - Result := 'VIDEO_OUT_FIELD_2' else - if VIDEO_OUT_STACKED_FIELDS_1_2 = self then - Result := 'VIDEO_OUT_STACKED_FIELDS_1_2' else - if VIDEO_OUT_STACKED_FIELDS_2_1 = self then - Result := 'VIDEO_OUT_STACKED_FIELDS_2_1' else - Result := $'wglVideoOutputBufferType[{self.val}]'; - end; - - end; - - /// - wglWGLColorBufferMask = record - public val: UInt32; - public constructor(val: UInt32) := self.val := val; - - public static property FRONT_COLOR_BUFFER_BIT: wglWGLColorBufferMask read new wglWGLColorBufferMask(1 shl 0); - public static property BACK_COLOR_BUFFER_BIT: wglWGLColorBufferMask read new wglWGLColorBufferMask(1 shl 1); - public static property DEPTH_BUFFER_BIT: wglWGLColorBufferMask read new wglWGLColorBufferMask(1 shl 2); - public static property STENCIL_BUFFER_BIT: wglWGLColorBufferMask read new wglWGLColorBufferMask(1 shl 3); - - public static function operator+(v1, v2: wglWGLColorBufferMask) := new wglWGLColorBufferMask(v1.val or v2.val); - public static function operator or(v1, v2: wglWGLColorBufferMask) := new wglWGLColorBufferMask(v1.val or v2.val); - - public static procedure operator+=(var v1: wglWGLColorBufferMask; v2: wglWGLColorBufferMask) := v1 := v1+v2; - - public static function operator in(v1, v2: wglWGLColorBufferMask) := v1.val and v2.val = v1.val; + public static function operator in(v1, v2: wglImageBufferMask) := v1.val and v2.val = v1.val; public function ToString: string; override; begin @@ -25894,112 +25846,7 @@ wglWGLColorBufferMask = record var left_val := self.val; if left_val=0 then begin - Result := 'wglWGLColorBufferMask[0]'; - exit; - end; - if FRONT_COLOR_BUFFER_BIT in self then - begin - res += 'FRONT_COLOR_BUFFER_BIT+'; - left_val := left_val and not FRONT_COLOR_BUFFER_BIT.val; - end; - if BACK_COLOR_BUFFER_BIT in self then - begin - res += 'BACK_COLOR_BUFFER_BIT+'; - left_val := left_val and not BACK_COLOR_BUFFER_BIT.val; - end; - if DEPTH_BUFFER_BIT in self then - begin - res += 'DEPTH_BUFFER_BIT+'; - left_val := left_val and not DEPTH_BUFFER_BIT.val; - end; - if STENCIL_BUFFER_BIT in self then - begin - res += 'STENCIL_BUFFER_BIT+'; - left_val := left_val and not STENCIL_BUFFER_BIT.val; - end; - if left_val<>0 then - begin - res += 'wglWGLColorBufferMask['; - res += self.val.ToString; - res += ']+'; - end; - res.Length -= 1; - Result := res.ToString; - end; - - end; - - /// - wglWGLDXInteropMask = record - public val: UInt32; - public constructor(val: UInt32) := self.val := val; - - public static property ACCESS_READ_ONLY: wglWGLDXInteropMask read new wglWGLDXInteropMask(0); - public static property ACCESS_READ_WRITE: wglWGLDXInteropMask read new wglWGLDXInteropMask(1 shl 0); - public static property ACCESS_WRITE_DISCARD: wglWGLDXInteropMask read new wglWGLDXInteropMask(1 shl 1); - - public property ANY_FLAGS: boolean read self.val<>0; - - public static function operator+(v1, v2: wglWGLDXInteropMask) := new wglWGLDXInteropMask(v1.val or v2.val); - public static function operator or(v1, v2: wglWGLDXInteropMask) := new wglWGLDXInteropMask(v1.val or v2.val); - - public static procedure operator+=(var v1: wglWGLDXInteropMask; v2: wglWGLDXInteropMask) := v1 := v1+v2; - - public static function operator in(v1, v2: wglWGLDXInteropMask) := v1.val and v2.val = v1.val; - - public function ToString: string; override; - begin - var res := new StringBuilder; - var left_val := self.val; - if left_val=0 then - begin - Result := 'ACCESS_READ_ONLY'; - exit; - end; - if ACCESS_READ_WRITE in self then - begin - res += 'ACCESS_READ_WRITE+'; - left_val := left_val and not ACCESS_READ_WRITE.val; - end; - if ACCESS_WRITE_DISCARD in self then - begin - res += 'ACCESS_WRITE_DISCARD+'; - left_val := left_val and not ACCESS_WRITE_DISCARD.val; - end; - if left_val<>0 then - begin - res += 'wglWGLDXInteropMask['; - res += self.val.ToString; - res += ']+'; - end; - res.Length -= 1; - Result := res.ToString; - end; - - end; - - /// - wglWGLImageBufferMask = record - public val: UInt32; - public constructor(val: UInt32) := self.val := val; - - public static property IMAGE_BUFFER_MIN_ACCESS: wglWGLImageBufferMask read new wglWGLImageBufferMask(1 shl 0); - public static property IMAGE_BUFFER_LOCK: wglWGLImageBufferMask read new wglWGLImageBufferMask(1 shl 1); - - public static function operator+(v1, v2: wglWGLImageBufferMask) := new wglWGLImageBufferMask(v1.val or v2.val); - public static function operator or(v1, v2: wglWGLImageBufferMask) := new wglWGLImageBufferMask(v1.val or v2.val); - - public static procedure operator+=(var v1: wglWGLImageBufferMask; v2: wglWGLImageBufferMask) := v1 := v1+v2; - - public static function operator in(v1, v2: wglWGLImageBufferMask) := v1.val and v2.val = v1.val; - - public function ToString: string; override; - begin - var res := new StringBuilder; - var left_val := self.val; - if left_val=0 then - begin - Result := 'wglWGLImageBufferMask[0]'; + Result := 'wglImageBufferMask[0]'; exit; end; if IMAGE_BUFFER_MIN_ACCESS in self then @@ -26014,7 +25861,7 @@ wglWGLImageBufferMask = record end; if left_val<>0 then begin - res += 'wglWGLImageBufferMask['; + res += 'wglImageBufferMask['; res += self.val.ToString; res += ']+'; end; @@ -26025,48 +25872,48 @@ wglWGLImageBufferMask = record end; /// - wglWGLLayerPlaneMask = record + wglLayerPlaneMask = record public val: Int32; public constructor(val: Int32) := self.val := val; - public static property SWAP_MAIN_PLANE: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 0); - public static property SWAP_OVERLAY1: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 1); - public static property SWAP_OVERLAY2: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 2); - public static property SWAP_OVERLAY3: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 3); - public static property SWAP_OVERLAY4: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 4); - public static property SWAP_OVERLAY5: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 5); - public static property SWAP_OVERLAY6: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 6); - public static property SWAP_OVERLAY7: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 7); - public static property SWAP_OVERLAY8: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 8); - public static property SWAP_OVERLAY9: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 9); - public static property SWAP_OVERLAY10: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 10); - public static property SWAP_OVERLAY11: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 11); - public static property SWAP_OVERLAY12: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 12); - public static property SWAP_OVERLAY13: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 13); - public static property SWAP_OVERLAY14: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 14); - public static property SWAP_OVERLAY15: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 15); - public static property SWAP_UNDERLAY1: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 16); - public static property SWAP_UNDERLAY2: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 17); - public static property SWAP_UNDERLAY3: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 18); - public static property SWAP_UNDERLAY4: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 19); - public static property SWAP_UNDERLAY5: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 20); - public static property SWAP_UNDERLAY6: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 21); - public static property SWAP_UNDERLAY7: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 22); - public static property SWAP_UNDERLAY8: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 23); - public static property SWAP_UNDERLAY9: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 24); - public static property SWAP_UNDERLAY10: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 25); - public static property SWAP_UNDERLAY11: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 26); - public static property SWAP_UNDERLAY12: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 27); - public static property SWAP_UNDERLAY13: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 28); - public static property SWAP_UNDERLAY14: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 29); - public static property SWAP_UNDERLAY15: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 30); - - public static function operator+(v1, v2: wglWGLLayerPlaneMask) := new wglWGLLayerPlaneMask(v1.val or v2.val); - public static function operator or(v1, v2: wglWGLLayerPlaneMask) := new wglWGLLayerPlaneMask(v1.val or v2.val); - - public static procedure operator+=(var v1: wglWGLLayerPlaneMask; v2: wglWGLLayerPlaneMask) := v1 := v1+v2; - - public static function operator in(v1, v2: wglWGLLayerPlaneMask) := v1.val and v2.val = v1.val; + public static property SWAP_MAIN_PLANE: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 0); + public static property SWAP_OVERLAY1: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 1); + public static property SWAP_OVERLAY2: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 2); + public static property SWAP_OVERLAY3: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 3); + public static property SWAP_OVERLAY4: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 4); + public static property SWAP_OVERLAY5: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 5); + public static property SWAP_OVERLAY6: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 6); + public static property SWAP_OVERLAY7: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 7); + public static property SWAP_OVERLAY8: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 8); + public static property SWAP_OVERLAY9: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 9); + public static property SWAP_OVERLAY10: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 10); + public static property SWAP_OVERLAY11: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 11); + public static property SWAP_OVERLAY12: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 12); + public static property SWAP_OVERLAY13: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 13); + public static property SWAP_OVERLAY14: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 14); + public static property SWAP_OVERLAY15: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 15); + public static property SWAP_UNDERLAY1: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 16); + public static property SWAP_UNDERLAY2: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 17); + public static property SWAP_UNDERLAY3: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 18); + public static property SWAP_UNDERLAY4: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 19); + public static property SWAP_UNDERLAY5: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 20); + public static property SWAP_UNDERLAY6: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 21); + public static property SWAP_UNDERLAY7: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 22); + public static property SWAP_UNDERLAY8: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 23); + public static property SWAP_UNDERLAY9: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 24); + public static property SWAP_UNDERLAY10: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 25); + public static property SWAP_UNDERLAY11: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 26); + public static property SWAP_UNDERLAY12: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 27); + public static property SWAP_UNDERLAY13: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 28); + public static property SWAP_UNDERLAY14: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 29); + public static property SWAP_UNDERLAY15: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 30); + + public static function operator+(v1, v2: wglLayerPlaneMask) := new wglLayerPlaneMask(v1.val or v2.val); + public static function operator or(v1, v2: wglLayerPlaneMask) := new wglLayerPlaneMask(v1.val or v2.val); + + public static procedure operator+=(var v1: wglLayerPlaneMask; v2: wglLayerPlaneMask) := v1 := v1+v2; + + public static function operator in(v1, v2: wglLayerPlaneMask) := v1.val and v2.val = v1.val; public function ToString: string; override; begin @@ -26074,7 +25921,7 @@ wglWGLLayerPlaneMask = record var left_val := self.val; if left_val=0 then begin - Result := 'wglWGLLayerPlaneMask[0]'; + Result := 'wglLayerPlaneMask[0]'; exit; end; if SWAP_MAIN_PLANE in self then @@ -26234,7 +26081,7 @@ wglWGLLayerPlaneMask = record end; if left_val<>0 then begin - res += 'wglWGLLayerPlaneMask['; + res += 'wglLayerPlaneMask['; res += self.val.ToString; res += ']+'; end; @@ -26244,6 +26091,310 @@ wglWGLLayerPlaneMask = record end; + /// + wglObjectTypeDX = record + public val: UInt32; + public constructor(val: UInt32) := self.val := val; + + public static property gl_NONE: wglObjectTypeDX read new wglObjectTypeDX(0); + public static property gl_TEXTURE_2D: wglObjectTypeDX read new wglObjectTypeDX($0DE1); + public static property gl_TEXTURE_3D: wglObjectTypeDX read new wglObjectTypeDX($806F); + public static property gl_TEXTURE_RECTANGLE: wglObjectTypeDX read new wglObjectTypeDX($84F5); + public static property gl_TEXTURE_CUBE_MAP: wglObjectTypeDX read new wglObjectTypeDX($8513); + public static property gl_RENDERBUFFER: wglObjectTypeDX read new wglObjectTypeDX($8D41); + + public function ToString: string; override; + begin + if gl_NONE = self then + Result := 'gl_NONE' else + if gl_TEXTURE_2D = self then + Result := 'gl_TEXTURE_2D' else + if gl_TEXTURE_3D = self then + Result := 'gl_TEXTURE_3D' else + if gl_TEXTURE_RECTANGLE = self then + Result := 'gl_TEXTURE_RECTANGLE' else + if gl_TEXTURE_CUBE_MAP = self then + Result := 'gl_TEXTURE_CUBE_MAP' else + if gl_RENDERBUFFER = self then + Result := 'gl_RENDERBUFFER' else + Result := $'wglObjectTypeDX[{self.val}]'; + end; + + end; + + /// + wglPBufferAttribute = record + public val: Int32; + public constructor(val: Int32) := self.val := val; + + public static property PBUFFER_WIDTH: wglPBufferAttribute read new wglPBufferAttribute($2034); + public static property PBUFFER_HEIGHT: wglPBufferAttribute read new wglPBufferAttribute($2035); + public static property PBUFFER_LOST: wglPBufferAttribute read new wglPBufferAttribute($2036); + public static property TEXTURE_FORMAT: wglPBufferAttribute read new wglPBufferAttribute($2072); + public static property TEXTURE_TARGET: wglPBufferAttribute read new wglPBufferAttribute($2073); + public static property MIPMAP_TEXTURE: wglPBufferAttribute read new wglPBufferAttribute($2074); + public static property MIPMAP_LEVEL: wglPBufferAttribute read new wglPBufferAttribute($207B); + public static property CUBE_MAP_FACE: wglPBufferAttribute read new wglPBufferAttribute($207C); + + public function ToString: string; override; + begin + if PBUFFER_WIDTH = self then + Result := 'PBUFFER_WIDTH' else + if PBUFFER_HEIGHT = self then + Result := 'PBUFFER_HEIGHT' else + if PBUFFER_LOST = self then + Result := 'PBUFFER_LOST' else + if TEXTURE_FORMAT = self then + Result := 'TEXTURE_FORMAT' else + if TEXTURE_TARGET = self then + Result := 'TEXTURE_TARGET' else + if MIPMAP_TEXTURE = self then + Result := 'MIPMAP_TEXTURE' else + if MIPMAP_LEVEL = self then + Result := 'MIPMAP_LEVEL' else + if CUBE_MAP_FACE = self then + Result := 'CUBE_MAP_FACE' else + Result := $'wglPBufferAttribute[{self.val}]'; + end; + + end; + + /// + wglPixelFormatAttribute = record + public val: Int32; + public constructor(val: Int32) := self.val := val; + + public static property NUMBER_PIXEL_FORMATS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2000); + public static property DRAW_TO_WINDOW: wglPixelFormatAttribute read new wglPixelFormatAttribute($2001); + public static property DRAW_TO_BITMAP: wglPixelFormatAttribute read new wglPixelFormatAttribute($2002); + public static property ACCELERATION: wglPixelFormatAttribute read new wglPixelFormatAttribute($2003); + public static property NEED_PALETTE: wglPixelFormatAttribute read new wglPixelFormatAttribute($2004); + public static property NEED_SYSTEM_PALETTE: wglPixelFormatAttribute read new wglPixelFormatAttribute($2005); + public static property SWAP_LAYER_BUFFERS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2006); + public static property SWAP_METHOD: wglPixelFormatAttribute read new wglPixelFormatAttribute($2007); + public static property NUMBER_OVERLAYS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2008); + public static property NUMBER_UNDERLAYS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2009); + public static property TRANSPARENT: wglPixelFormatAttribute read new wglPixelFormatAttribute($200A); + public static property SHARE_DEPTH: wglPixelFormatAttribute read new wglPixelFormatAttribute($200C); + public static property SHARE_STENCIL: wglPixelFormatAttribute read new wglPixelFormatAttribute($200D); + public static property SHARE_ACCUM: wglPixelFormatAttribute read new wglPixelFormatAttribute($200E); + public static property SUPPORT_GDI: wglPixelFormatAttribute read new wglPixelFormatAttribute($200F); + public static property SUPPORT_OPENGL: wglPixelFormatAttribute read new wglPixelFormatAttribute($2010); + public static property DOUBLE_BUFFER: wglPixelFormatAttribute read new wglPixelFormatAttribute($2011); + public static property STEREO: wglPixelFormatAttribute read new wglPixelFormatAttribute($2012); + public static property PIXEL_TYPE: wglPixelFormatAttribute read new wglPixelFormatAttribute($2013); + public static property COLOR_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2014); + public static property RED_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2015); + public static property RED_SHIFT: wglPixelFormatAttribute read new wglPixelFormatAttribute($2016); + public static property GREEN_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2017); + public static property GREEN_SHIFT: wglPixelFormatAttribute read new wglPixelFormatAttribute($2018); + public static property BLUE_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2019); + public static property BLUE_SHIFT: wglPixelFormatAttribute read new wglPixelFormatAttribute($201A); + public static property ALPHA_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($201B); + public static property ALPHA_SHIFT: wglPixelFormatAttribute read new wglPixelFormatAttribute($201C); + public static property ACCUM_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($201D); + public static property ACCUM_RED_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($201E); + public static property ACCUM_GREEN_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($201F); + public static property ACCUM_BLUE_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2020); + public static property ACCUM_ALPHA_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2021); + public static property DEPTH_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2022); + public static property STENCIL_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2023); + public static property AUX_BUFFERS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2024); + public static property DRAW_TO_PBUFFER: wglPixelFormatAttribute read new wglPixelFormatAttribute($202D); + public static property TRANSPARENT_RED_VALUE: wglPixelFormatAttribute read new wglPixelFormatAttribute($2037); + public static property TRANSPARENT_GREEN_VALUE: wglPixelFormatAttribute read new wglPixelFormatAttribute($2038); + public static property TRANSPARENT_BLUE_VALUE: wglPixelFormatAttribute read new wglPixelFormatAttribute($2039); + public static property TRANSPARENT_ALPHA_VALUE: wglPixelFormatAttribute read new wglPixelFormatAttribute($203A); + public static property TRANSPARENT_INDEX_VALUE: wglPixelFormatAttribute read new wglPixelFormatAttribute($203B); + + public function ToString: string; override; + begin + if NUMBER_PIXEL_FORMATS = self then + Result := 'NUMBER_PIXEL_FORMATS' else + if DRAW_TO_WINDOW = self then + Result := 'DRAW_TO_WINDOW' else + if DRAW_TO_BITMAP = self then + Result := 'DRAW_TO_BITMAP' else + if ACCELERATION = self then + Result := 'ACCELERATION' else + if NEED_PALETTE = self then + Result := 'NEED_PALETTE' else + if NEED_SYSTEM_PALETTE = self then + Result := 'NEED_SYSTEM_PALETTE' else + if SWAP_LAYER_BUFFERS = self then + Result := 'SWAP_LAYER_BUFFERS' else + if SWAP_METHOD = self then + Result := 'SWAP_METHOD' else + if NUMBER_OVERLAYS = self then + Result := 'NUMBER_OVERLAYS' else + if NUMBER_UNDERLAYS = self then + Result := 'NUMBER_UNDERLAYS' else + if TRANSPARENT = self then + Result := 'TRANSPARENT' else + if SHARE_DEPTH = self then + Result := 'SHARE_DEPTH' else + if SHARE_STENCIL = self then + Result := 'SHARE_STENCIL' else + if SHARE_ACCUM = self then + Result := 'SHARE_ACCUM' else + if SUPPORT_GDI = self then + Result := 'SUPPORT_GDI' else + if SUPPORT_OPENGL = self then + Result := 'SUPPORT_OPENGL' else + if DOUBLE_BUFFER = self then + Result := 'DOUBLE_BUFFER' else + if STEREO = self then + Result := 'STEREO' else + if PIXEL_TYPE = self then + Result := 'PIXEL_TYPE' else + if COLOR_BITS = self then + Result := 'COLOR_BITS' else + if RED_BITS = self then + Result := 'RED_BITS' else + if RED_SHIFT = self then + Result := 'RED_SHIFT' else + if GREEN_BITS = self then + Result := 'GREEN_BITS' else + if GREEN_SHIFT = self then + Result := 'GREEN_SHIFT' else + if BLUE_BITS = self then + Result := 'BLUE_BITS' else + if BLUE_SHIFT = self then + Result := 'BLUE_SHIFT' else + if ALPHA_BITS = self then + Result := 'ALPHA_BITS' else + if ALPHA_SHIFT = self then + Result := 'ALPHA_SHIFT' else + if ACCUM_BITS = self then + Result := 'ACCUM_BITS' else + if ACCUM_RED_BITS = self then + Result := 'ACCUM_RED_BITS' else + if ACCUM_GREEN_BITS = self then + Result := 'ACCUM_GREEN_BITS' else + if ACCUM_BLUE_BITS = self then + Result := 'ACCUM_BLUE_BITS' else + if ACCUM_ALPHA_BITS = self then + Result := 'ACCUM_ALPHA_BITS' else + if DEPTH_BITS = self then + Result := 'DEPTH_BITS' else + if STENCIL_BITS = self then + Result := 'STENCIL_BITS' else + if AUX_BUFFERS = self then + Result := 'AUX_BUFFERS' else + if DRAW_TO_PBUFFER = self then + Result := 'DRAW_TO_PBUFFER' else + if TRANSPARENT_RED_VALUE = self then + Result := 'TRANSPARENT_RED_VALUE' else + if TRANSPARENT_GREEN_VALUE = self then + Result := 'TRANSPARENT_GREEN_VALUE' else + if TRANSPARENT_BLUE_VALUE = self then + Result := 'TRANSPARENT_BLUE_VALUE' else + if TRANSPARENT_ALPHA_VALUE = self then + Result := 'TRANSPARENT_ALPHA_VALUE' else + if TRANSPARENT_INDEX_VALUE = self then + Result := 'TRANSPARENT_INDEX_VALUE' else + Result := $'wglPixelFormatAttribute[{self.val}]'; + end; + + end; + + /// + wglStereoEmitterState = record + public val: UInt32; + public constructor(val: UInt32) := self.val := val; + + public static property STEREO_EMITTER_ENABLE: wglStereoEmitterState read new wglStereoEmitterState($2055); + public static property STEREO_EMITTER_DISABLE: wglStereoEmitterState read new wglStereoEmitterState($2056); + public static property STEREO_POLARITY_NORMAL: wglStereoEmitterState read new wglStereoEmitterState($2057); + public static property STEREO_POLARITY_INVERT: wglStereoEmitterState read new wglStereoEmitterState($2058); + + public function ToString: string; override; + begin + if STEREO_EMITTER_ENABLE = self then + Result := 'STEREO_EMITTER_ENABLE' else + if STEREO_EMITTER_DISABLE = self then + Result := 'STEREO_EMITTER_DISABLE' else + if STEREO_POLARITY_NORMAL = self then + Result := 'STEREO_POLARITY_NORMAL' else + if STEREO_POLARITY_INVERT = self then + Result := 'STEREO_POLARITY_INVERT' else + Result := $'wglStereoEmitterState[{self.val}]'; + end; + + end; + + /// + wglVideoCaptureDeviceAttribute = record + public val: Int32; + public constructor(val: Int32) := self.val := val; + + public static property UNIQUE_ID: wglVideoCaptureDeviceAttribute read new wglVideoCaptureDeviceAttribute($20CE); + + public function ToString: string; override; + begin + if UNIQUE_ID = self then + Result := 'UNIQUE_ID' else + Result := $'wglVideoCaptureDeviceAttribute[{self.val}]'; + end; + + end; + + /// + wglVideoOutputBuffer = record + public val: Int32; + public constructor(val: Int32) := self.val := val; + + public static property VIDEO_OUT_COLOR: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C3); + public static property VIDEO_OUT_ALPHA: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C4); + public static property VIDEO_OUT_DEPTH: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C5); + public static property VIDEO_OUT_COLOR_AND_ALPHA: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C6); + public static property VIDEO_OUT_COLOR_AND_DEPTH: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C7); + + public function ToString: string; override; + begin + if VIDEO_OUT_COLOR = self then + Result := 'VIDEO_OUT_COLOR' else + if VIDEO_OUT_ALPHA = self then + Result := 'VIDEO_OUT_ALPHA' else + if VIDEO_OUT_DEPTH = self then + Result := 'VIDEO_OUT_DEPTH' else + if VIDEO_OUT_COLOR_AND_ALPHA = self then + Result := 'VIDEO_OUT_COLOR_AND_ALPHA' else + if VIDEO_OUT_COLOR_AND_DEPTH = self then + Result := 'VIDEO_OUT_COLOR_AND_DEPTH' else + Result := $'wglVideoOutputBuffer[{self.val}]'; + end; + + end; + + /// + wglVideoOutputBufferType = record + public val: Int32; + public constructor(val: Int32) := self.val := val; + + public static property VIDEO_OUT_FRAME: wglVideoOutputBufferType read new wglVideoOutputBufferType($20C8); + public static property VIDEO_OUT_FIELD_1: wglVideoOutputBufferType read new wglVideoOutputBufferType($20C9); + public static property VIDEO_OUT_FIELD_2: wglVideoOutputBufferType read new wglVideoOutputBufferType($20CA); + public static property VIDEO_OUT_STACKED_FIELDS_1_2: wglVideoOutputBufferType read new wglVideoOutputBufferType($20CB); + public static property VIDEO_OUT_STACKED_FIELDS_2_1: wglVideoOutputBufferType read new wglVideoOutputBufferType($20CC); + + public function ToString: string; override; + begin + if VIDEO_OUT_FRAME = self then + Result := 'VIDEO_OUT_FRAME' else + if VIDEO_OUT_FIELD_1 = self then + Result := 'VIDEO_OUT_FIELD_1' else + if VIDEO_OUT_FIELD_2 = self then + Result := 'VIDEO_OUT_FIELD_2' else + if VIDEO_OUT_STACKED_FIELDS_1_2 = self then + Result := 'VIDEO_OUT_STACKED_FIELDS_1_2' else + if VIDEO_OUT_STACKED_FIELDS_2_1 = self then + Result := 'VIDEO_OUT_STACKED_FIELDS_2_1' else + Result := $'wglVideoOutputBufferType[{self.val}]'; + end; + + end; + /// x_color_map = record public val: IntPtr; @@ -39604,9 +39755,9 @@ gdi_pixel_format_descriptor = record ntv_ShareLists_1(hrcSrvShare, hrcSrvSource); // added in wgl1.0 - private static function ntv_SwapLayerBuffers_1(hdc: gdi_device_context; fuFlags: wglWGLLayerPlaneMask): glBool32; + private static function ntv_SwapLayerBuffers_1(hdc: gdi_device_context; fuFlags: wglLayerPlaneMask): glBool32; external 'opengl32.dll' name 'wglSwapLayerBuffers'; - public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function SwapLayerBuffers(hdc: gdi_device_context; fuFlags: wglWGLLayerPlaneMask): glBool32 := + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function SwapLayerBuffers(hdc: gdi_device_context; fuFlags: wglLayerPlaneMask): glBool32 := ntv_SwapLayerBuffers_1(hdc, fuFlags); // added in wgl1.0 @@ -72043,8 +72194,8 @@ gdi_pixel_format_descriptor = record ntv_GetGPUIDsAMD_2(maxCount, ids); private GetGPUInfoAMD_adr := GetProcAddress('wglGetGPUInfoAMD'); - private ntv_GetGPUInfoAMD_1 := GetProcOrNil&(GetGPUInfoAMD_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGPUInfoAMD(id: UInt32; &property: wglGPUProperty; dataType: DummyEnum; size: UInt32; data: IntPtr): Int32 := + private ntv_GetGPUInfoAMD_1 := GetProcOrNil&(GetGPUInfoAMD_adr); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGPUInfoAMD(id: UInt32; &property: wglGPUProperty; dataType: glScalarType; size: UInt32; data: IntPtr): Int32 := ntv_GetGPUInfoAMD_1(id, &property, dataType, size, data); private GetContextGPUIDAMD_adr := GetProcAddress('wglGetContextGPUIDAMD'); @@ -72105,8 +72256,8 @@ gdi_pixel_format_descriptor = record public const _ExtStr = 'WGL_ARB_buffer_region'; private CreateBufferRegionARB_adr := GetProcAddress('wglCreateBufferRegionARB'); - private ntv_CreateBufferRegionARB_1 := GetProcOrNil&(CreateBufferRegionARB_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateBufferRegionARB(hDC: gdi_device_context; iLayerPlane: Int32; uType: wglWGLColorBufferMask): IntPtr := + private ntv_CreateBufferRegionARB_1 := GetProcOrNil&(CreateBufferRegionARB_adr); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateBufferRegionARB(hDC: gdi_device_context; iLayerPlane: Int32; uType: wglColorBufferMask): IntPtr := ntv_CreateBufferRegionARB_1(hDC, iLayerPlane, uType); private DeleteBufferRegionARB_adr := GetProcAddress('wglDeleteBufferRegionARB'); @@ -72290,27 +72441,27 @@ gdi_pixel_format_descriptor = record public const _ExtStr = 'WGL_ARB_pixel_format'; private GetPixelFormatAttribivARB_adr := GetProcAddress('wglGetPixelFormatAttribivARB'); - private ntv_GetPixelFormatAttribivARB_1 := GetProcOrNil&(GetPixelFormatAttribivARB_adr); - private ntv_GetPixelFormatAttribivARB_2 := GetProcOrNil&(GetPixelFormatAttribivARB_adr); + private ntv_GetPixelFormatAttribivARB_1 := GetProcOrNil&(GetPixelFormatAttribivARB_adr); + private ntv_GetPixelFormatAttribivARB_2 := GetProcOrNil&(GetPixelFormatAttribivARB_adr); private ntv_GetPixelFormatAttribivARB_3 := GetProcOrNil&(GetPixelFormatAttribivARB_adr); private ntv_GetPixelFormatAttribivARB_4 := GetProcOrNil&(GetPixelFormatAttribivARB_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of Int32; var piValues: Int32): glBool32; - type PInt32 = ^Int32; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of wglPixelFormatAttribute; var piValues: Int32): glBool32; + type PWglPixelFormatAttribute = ^wglPixelFormatAttribute; begin Result := if (piAttributes<>nil) and (piAttributes.Length<>0) then ntv_GetPixelFormatAttribivARB_1(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes[0], piValues) else - ntv_GetPixelFormatAttribivARB_1(hdc, iPixelFormat, iLayerPlane, nAttributes, PInt32(nil)^, piValues); + ntv_GetPixelFormatAttribivARB_1(hdc, iPixelFormat, iLayerPlane, nAttributes, PWglPixelFormatAttribute(nil)^, piValues); end; - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of Int32; piValues: IntPtr): glBool32; - type PInt32 = ^Int32; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of wglPixelFormatAttribute; piValues: IntPtr): glBool32; + type PWglPixelFormatAttribute = ^wglPixelFormatAttribute; begin Result := if (piAttributes<>nil) and (piAttributes.Length<>0) then ntv_GetPixelFormatAttribivARB_2(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes[0], piValues) else - ntv_GetPixelFormatAttribivARB_2(hdc, iPixelFormat, iLayerPlane, nAttributes, PInt32(nil)^, piValues); + ntv_GetPixelFormatAttribivARB_2(hdc, iPixelFormat, iLayerPlane, nAttributes, PWglPixelFormatAttribute(nil)^, piValues); end; - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; var piValues: Int32): glBool32 := + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: wglPixelFormatAttribute; var piValues: Int32): glBool32 := ntv_GetPixelFormatAttribivARB_1(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; piValues: IntPtr): glBool32 := + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: wglPixelFormatAttribute; piValues: IntPtr): glBool32 := ntv_GetPixelFormatAttribivARB_2(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: IntPtr; var piValues: Int32): glBool32 := ntv_GetPixelFormatAttribivARB_3(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); @@ -72318,27 +72469,27 @@ gdi_pixel_format_descriptor = record ntv_GetPixelFormatAttribivARB_4(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); private GetPixelFormatAttribfvARB_adr := GetProcAddress('wglGetPixelFormatAttribfvARB'); - private ntv_GetPixelFormatAttribfvARB_1 := GetProcOrNil&(GetPixelFormatAttribfvARB_adr); - private ntv_GetPixelFormatAttribfvARB_2 := GetProcOrNil&(GetPixelFormatAttribfvARB_adr); + private ntv_GetPixelFormatAttribfvARB_1 := GetProcOrNil&(GetPixelFormatAttribfvARB_adr); + private ntv_GetPixelFormatAttribfvARB_2 := GetProcOrNil&(GetPixelFormatAttribfvARB_adr); private ntv_GetPixelFormatAttribfvARB_3 := GetProcOrNil&(GetPixelFormatAttribfvARB_adr); private ntv_GetPixelFormatAttribfvARB_4 := GetProcOrNil&(GetPixelFormatAttribfvARB_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of Int32; var pfValues: single): glBool32; - type PInt32 = ^Int32; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of wglPixelFormatAttribute; var pfValues: single): glBool32; + type PWglPixelFormatAttribute = ^wglPixelFormatAttribute; begin Result := if (piAttributes<>nil) and (piAttributes.Length<>0) then ntv_GetPixelFormatAttribfvARB_1(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes[0], pfValues) else - ntv_GetPixelFormatAttribfvARB_1(hdc, iPixelFormat, iLayerPlane, nAttributes, PInt32(nil)^, pfValues); + ntv_GetPixelFormatAttribfvARB_1(hdc, iPixelFormat, iLayerPlane, nAttributes, PWglPixelFormatAttribute(nil)^, pfValues); end; - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of Int32; pfValues: IntPtr): glBool32; - type PInt32 = ^Int32; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of wglPixelFormatAttribute; pfValues: IntPtr): glBool32; + type PWglPixelFormatAttribute = ^wglPixelFormatAttribute; begin Result := if (piAttributes<>nil) and (piAttributes.Length<>0) then ntv_GetPixelFormatAttribfvARB_2(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes[0], pfValues) else - ntv_GetPixelFormatAttribfvARB_2(hdc, iPixelFormat, iLayerPlane, nAttributes, PInt32(nil)^, pfValues); + ntv_GetPixelFormatAttribfvARB_2(hdc, iPixelFormat, iLayerPlane, nAttributes, PWglPixelFormatAttribute(nil)^, pfValues); end; - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; var pfValues: single): glBool32 := + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: wglPixelFormatAttribute; var pfValues: single): glBool32 := ntv_GetPixelFormatAttribfvARB_1(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; pfValues: IntPtr): glBool32 := + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: wglPixelFormatAttribute; pfValues: IntPtr): glBool32 := ntv_GetPixelFormatAttribfvARB_2(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues); public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: IntPtr; var pfValues: single): glBool32 := ntv_GetPixelFormatAttribfvARB_3(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues); @@ -72675,13 +72826,13 @@ gdi_pixel_format_descriptor = record public const _ExtStr = 'WGL_EXT_pixel_format'; private GetPixelFormatAttribivEXT_adr := GetProcAddress('wglGetPixelFormatAttribivEXT'); - private ntv_GetPixelFormatAttribivEXT_1 := GetProcOrNil&(GetPixelFormatAttribivEXT_adr); - private ntv_GetPixelFormatAttribivEXT_2 := GetProcOrNil&(GetPixelFormatAttribivEXT_adr); + private ntv_GetPixelFormatAttribivEXT_1 := GetProcOrNil&(GetPixelFormatAttribivEXT_adr); + private ntv_GetPixelFormatAttribivEXT_2 := GetProcOrNil&(GetPixelFormatAttribivEXT_adr); private ntv_GetPixelFormatAttribivEXT_3 := GetProcOrNil&(GetPixelFormatAttribivEXT_adr); private ntv_GetPixelFormatAttribivEXT_4 := GetProcOrNil&(GetPixelFormatAttribivEXT_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; var piValues: Int32): glBool32 := + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: wglPixelFormatAttribute; var piValues: Int32): glBool32 := ntv_GetPixelFormatAttribivEXT_1(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; piValues: IntPtr): glBool32 := + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: wglPixelFormatAttribute; piValues: IntPtr): glBool32 := ntv_GetPixelFormatAttribivEXT_2(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: IntPtr; var piValues: Int32): glBool32 := ntv_GetPixelFormatAttribivEXT_3(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); @@ -72689,13 +72840,13 @@ gdi_pixel_format_descriptor = record ntv_GetPixelFormatAttribivEXT_4(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); private GetPixelFormatAttribfvEXT_adr := GetProcAddress('wglGetPixelFormatAttribfvEXT'); - private ntv_GetPixelFormatAttribfvEXT_1 := GetProcOrNil&(GetPixelFormatAttribfvEXT_adr); - private ntv_GetPixelFormatAttribfvEXT_2 := GetProcOrNil&(GetPixelFormatAttribfvEXT_adr); + private ntv_GetPixelFormatAttribfvEXT_1 := GetProcOrNil&(GetPixelFormatAttribfvEXT_adr); + private ntv_GetPixelFormatAttribfvEXT_2 := GetProcOrNil&(GetPixelFormatAttribfvEXT_adr); private ntv_GetPixelFormatAttribfvEXT_3 := GetProcOrNil&(GetPixelFormatAttribfvEXT_adr); private ntv_GetPixelFormatAttribfvEXT_4 := GetProcOrNil&(GetPixelFormatAttribfvEXT_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; var pfValues: single): glBool32 := + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: wglPixelFormatAttribute; var pfValues: single): glBool32 := ntv_GetPixelFormatAttribfvEXT_1(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; pfValues: IntPtr): glBool32 := + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: wglPixelFormatAttribute; pfValues: IntPtr): glBool32 := ntv_GetPixelFormatAttribfvEXT_2(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues); public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: IntPtr; var pfValues: single): glBool32 := ntv_GetPixelFormatAttribfvEXT_3(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues); @@ -73089,8 +73240,8 @@ gdi_pixel_format_descriptor = record public const _ExtStr = 'WGL_I3D_image_buffer'; private CreateImageBufferI3D_adr := GetProcAddress('wglCreateImageBufferI3D'); - private ntv_CreateImageBufferI3D_1 := GetProcOrNil&(CreateImageBufferI3D_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateImageBufferI3D(hDC: gdi_device_context; dwSize: UInt32; uFlags: wglWGLImageBufferMask): IntPtr := + private ntv_CreateImageBufferI3D_1 := GetProcOrNil&(CreateImageBufferI3D_adr); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateImageBufferI3D(hDC: gdi_device_context; dwSize: UInt32; uFlags: wglImageBufferMask): IntPtr := ntv_CreateImageBufferI3D_1(hDC, dwSize, uFlags); private DestroyImageBufferI3D_adr := GetProcAddress('wglDestroyImageBufferI3D'); @@ -73349,8 +73500,8 @@ gdi_pixel_format_descriptor = record ntv_DXCloseDeviceNV_1(hDevice); private DXRegisterObjectNV_adr := GetProcAddress('wglDXRegisterObjectNV'); - private ntv_DXRegisterObjectNV_1 := GetProcOrNil&(DXRegisterObjectNV_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DXRegisterObjectNV(hDevice: IntPtr; dxObject: IntPtr; name: UInt32; &type: wglObjectTypeDX; access: wglWGLDXInteropMask): IntPtr := + private ntv_DXRegisterObjectNV_1 := GetProcOrNil&(DXRegisterObjectNV_adr); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DXRegisterObjectNV(hDevice: IntPtr; dxObject: IntPtr; name: UInt32; &type: wglObjectTypeDX; access: wglDXInteropMask): IntPtr := ntv_DXRegisterObjectNV_1(hDevice, dxObject, name, &type, access); private DXUnregisterObjectNV_adr := GetProcAddress('wglDXUnregisterObjectNV'); @@ -73359,8 +73510,8 @@ gdi_pixel_format_descriptor = record ntv_DXUnregisterObjectNV_1(hDevice, hObject); private DXObjectAccessNV_adr := GetProcAddress('wglDXObjectAccessNV'); - private ntv_DXObjectAccessNV_1 := GetProcOrNil&(DXObjectAccessNV_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DXObjectAccessNV(hObject: IntPtr; access: wglWGLDXInteropMask): glBool32 := + private ntv_DXObjectAccessNV_1 := GetProcOrNil&(DXObjectAccessNV_adr); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DXObjectAccessNV(hObject: IntPtr; access: wglDXInteropMask): glBool32 := ntv_DXObjectAccessNV_1(hObject, access); private DXLockObjectsNV_adr := GetProcAddress('wglDXLockObjectsNV'); @@ -73850,8 +74001,8 @@ gdi_pixel_format_descriptor = record ntv_SwapBuffersMscOML_1(hdc, target_msc, divisor, remainder); private SwapLayerBuffersMscOML_adr := GetProcAddress('wglSwapLayerBuffersMscOML'); - private ntv_SwapLayerBuffersMscOML_1 := GetProcOrNil&(SwapLayerBuffersMscOML_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SwapLayerBuffersMscOML(hdc: gdi_device_context; fuPlanes: wglWGLLayerPlaneMask; target_msc: Int64; divisor: Int64; remainder: Int64): Int64 := + private ntv_SwapLayerBuffersMscOML_1 := GetProcOrNil&(SwapLayerBuffersMscOML_adr); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SwapLayerBuffersMscOML(hdc: gdi_device_context; fuPlanes: wglLayerPlaneMask; target_msc: Int64; divisor: Int64; remainder: Int64): Int64 := ntv_SwapLayerBuffersMscOML_1(hdc, fuPlanes, target_msc, divisor, remainder); private WaitForMscOML_adr := GetProcAddress('wglWaitForMscOML'); diff --git a/Packing/Descriptions/OpenCL.predoc b/Packing/Descriptions/OpenCL.predoc index a73fdda1..750b3fd8 100644 --- a/Packing/Descriptions/OpenCL.predoc +++ b/Packing/Descriptions/OpenCL.predoc @@ -1793,6 +1793,7 @@ type public static property DEVICE_SEMAPHORE_IMPORT_HANDLE_TYPES: clDeviceInfo read new clDeviceInfo($204D); public static property DEVICE_SEMAPHORE_EXPORT_HANDLE_TYPES: clDeviceInfo read new clDeviceInfo($204E); public static property DEVICE_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES: clDeviceInfo read new clDeviceInfo($204F); + public static property DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES: clDeviceInfo read new clDeviceInfo($2052); public static property DEVICE_COMPUTE_CAPABILITY_MAJOR: clDeviceInfo read new clDeviceInfo($4000); public static property DEVICE_COMPUTE_CAPABILITY_MINOR: clDeviceInfo read new clDeviceInfo($4001); public static property DEVICE_REGISTERS_PER_BLOCK: clDeviceInfo read new clDeviceInfo($4002); @@ -2124,6 +2125,8 @@ type Result := 'DEVICE_SEMAPHORE_EXPORT_HANDLE_TYPES' else if DEVICE_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES = self then Result := 'DEVICE_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES' else + if DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES = self then + Result := 'DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES' else if DEVICE_COMPUTE_CAPABILITY_MAJOR = self then Result := 'DEVICE_COMPUTE_CAPABILITY_MAJOR' else if DEVICE_COMPUTE_CAPABILITY_MINOR = self then @@ -10939,6 +10942,25 @@ type var param_value_sz := new UIntPtr(param_value_count*Marshal.SizeOf&); Result := GetDeviceInfo(device, clDeviceInfo.DEVICE_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES, param_value_sz,param_value,IntPtr.Zero); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function GetDeviceInfo_DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES(device: cl_device_id; var param_value: array of clExternalMemoryHandleType): clErrorCode; + begin + var param_value_sz: UIntPtr; + Result := ntv_GetDeviceInfo_3(device, clDeviceInfo.DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES, UIntPtr.Zero,nil,param_value_sz); + if Result.IS_ERROR then exit; + if param_value_sz = UIntPtr.Zero then + begin + param_value := nil; + exit; + end; + var param_value_temp_res := new clExternalMemoryHandleType[param_value_sz.ToUInt64 div Marshal.SizeOf&]; + Result := GetDeviceInfo(device, clDeviceInfo.DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES, param_value_sz,param_value_temp_res[0],IntPtr.Zero); + param_value := param_value_temp_res; + end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function GetDeviceInfo_DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES(device: cl_device_id; param_value_count: UInt32; var param_value: clExternalMemoryHandleType): clErrorCode; + begin + var param_value_sz := new UIntPtr(param_value_count*Marshal.SizeOf&); + Result := GetDeviceInfo(device, clDeviceInfo.DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES, param_value_sz,param_value,IntPtr.Zero); + end; public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function GetDeviceInfo_DEVICE_COMPUTE_CAPABILITY_MAJOR(device: cl_device_id; var param_value: UInt32; param_value_validate_size: boolean := false): clErrorCode; begin var param_value_sz := new UIntPtr(Marshal.SizeOf&); @@ -16552,6 +16574,112 @@ type public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandNDRangeKernelKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; properties: IntPtr; kernel: cl_kernel; work_dim: UInt32; global_work_offset: IntPtr; global_work_size: IntPtr; local_work_size: IntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; var sync_point: UInt32; mutable_handle: IntPtr): clErrorCode := ntv_CommandNDRangeKernelKHR_8(command_buffer, command_queue, properties, kernel, work_dim, global_work_offset, global_work_size, local_work_size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + private static function ntv_CommandSVMMemcpyKHR_1(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; var sync_point: UInt32; var mutable_handle: cl_mutable_command): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemcpyKHR'; + private static function ntv_CommandSVMMemcpyKHR_2(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; var sync_point: UInt32; mutable_handle: IntPtr): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemcpyKHR'; + private static function ntv_CommandSVMMemcpyKHR_3(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; sync_point: IntPtr; var mutable_handle: cl_mutable_command): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemcpyKHR'; + private static function ntv_CommandSVMMemcpyKHR_4(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; sync_point: IntPtr; mutable_handle: IntPtr): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemcpyKHR'; + private static function ntv_CommandSVMMemcpyKHR_5(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; var sync_point: UInt32; var mutable_handle: cl_mutable_command): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemcpyKHR'; + private static function ntv_CommandSVMMemcpyKHR_6(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; var sync_point: UInt32; mutable_handle: IntPtr): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemcpyKHR'; + private static function ntv_CommandSVMMemcpyKHR_7(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; sync_point: IntPtr; var mutable_handle: cl_mutable_command): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemcpyKHR'; + private static function ntv_CommandSVMMemcpyKHR_8(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; sync_point: IntPtr; mutable_handle: IntPtr): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemcpyKHR'; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemcpyKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: array of UInt32; sync_point: array of UInt32; mutable_handle: array of cl_mutable_command): clErrorCode; + type PUInt32 = ^UInt32; + type PCl_mutable_command = ^cl_mutable_command; + begin + Result := if (mutable_handle<>nil) and (mutable_handle.Length<>0) then + if (sync_point_wait_list<>nil) and (sync_point_wait_list.Length<>0) then + if (sync_point<>nil) and (sync_point.Length<>0) then + ntv_CommandSVMMemcpyKHR_1(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list[0], sync_point[0], mutable_handle[0]) else + ntv_CommandSVMMemcpyKHR_1(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list[0], PUInt32(nil)^, mutable_handle[0]) else + if (sync_point<>nil) and (sync_point.Length<>0) then + ntv_CommandSVMMemcpyKHR_1(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, PUInt32(nil)^, sync_point[0], mutable_handle[0]) else + ntv_CommandSVMMemcpyKHR_1(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, PUInt32(nil)^, PUInt32(nil)^, mutable_handle[0]) else + if (sync_point_wait_list<>nil) and (sync_point_wait_list.Length<>0) then + if (sync_point<>nil) and (sync_point.Length<>0) then + ntv_CommandSVMMemcpyKHR_1(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list[0], sync_point[0], PCl_mutable_command(nil)^) else + ntv_CommandSVMMemcpyKHR_1(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list[0], PUInt32(nil)^, PCl_mutable_command(nil)^) else + if (sync_point<>nil) and (sync_point.Length<>0) then + ntv_CommandSVMMemcpyKHR_1(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, PUInt32(nil)^, sync_point[0], PCl_mutable_command(nil)^) else + ntv_CommandSVMMemcpyKHR_1(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, PUInt32(nil)^, PUInt32(nil)^, PCl_mutable_command(nil)^); + end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemcpyKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; var sync_point: UInt32; var mutable_handle: cl_mutable_command): clErrorCode := + ntv_CommandSVMMemcpyKHR_1(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemcpyKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; var sync_point: UInt32; mutable_handle: IntPtr): clErrorCode := + ntv_CommandSVMMemcpyKHR_2(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemcpyKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; sync_point: IntPtr; var mutable_handle: cl_mutable_command): clErrorCode := + ntv_CommandSVMMemcpyKHR_3(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemcpyKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; sync_point: IntPtr; mutable_handle: IntPtr): clErrorCode := + ntv_CommandSVMMemcpyKHR_4(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemcpyKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; var sync_point: UInt32; var mutable_handle: cl_mutable_command): clErrorCode := + ntv_CommandSVMMemcpyKHR_5(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemcpyKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; var sync_point: UInt32; mutable_handle: IntPtr): clErrorCode := + ntv_CommandSVMMemcpyKHR_6(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemcpyKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; sync_point: IntPtr; var mutable_handle: cl_mutable_command): clErrorCode := + ntv_CommandSVMMemcpyKHR_7(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemcpyKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; sync_point: IntPtr; mutable_handle: IntPtr): clErrorCode := + ntv_CommandSVMMemcpyKHR_8(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + + private static function ntv_CommandSVMMemFillKHR_1(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; var sync_point: UInt32; var mutable_handle: cl_mutable_command): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemFillKHR'; + private static function ntv_CommandSVMMemFillKHR_2(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; var sync_point: UInt32; mutable_handle: IntPtr): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemFillKHR'; + private static function ntv_CommandSVMMemFillKHR_3(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; sync_point: IntPtr; var mutable_handle: cl_mutable_command): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemFillKHR'; + private static function ntv_CommandSVMMemFillKHR_4(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; sync_point: IntPtr; mutable_handle: IntPtr): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemFillKHR'; + private static function ntv_CommandSVMMemFillKHR_5(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; var sync_point: UInt32; var mutable_handle: cl_mutable_command): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemFillKHR'; + private static function ntv_CommandSVMMemFillKHR_6(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; var sync_point: UInt32; mutable_handle: IntPtr): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemFillKHR'; + private static function ntv_CommandSVMMemFillKHR_7(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; sync_point: IntPtr; var mutable_handle: cl_mutable_command): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemFillKHR'; + private static function ntv_CommandSVMMemFillKHR_8(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; sync_point: IntPtr; mutable_handle: IntPtr): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemFillKHR'; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemFillKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: array of UInt32; sync_point: array of UInt32; mutable_handle: array of cl_mutable_command): clErrorCode; + type PUInt32 = ^UInt32; + type PCl_mutable_command = ^cl_mutable_command; + begin + Result := if (mutable_handle<>nil) and (mutable_handle.Length<>0) then + if (sync_point_wait_list<>nil) and (sync_point_wait_list.Length<>0) then + if (sync_point<>nil) and (sync_point.Length<>0) then + ntv_CommandSVMMemFillKHR_1(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list[0], sync_point[0], mutable_handle[0]) else + ntv_CommandSVMMemFillKHR_1(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list[0], PUInt32(nil)^, mutable_handle[0]) else + if (sync_point<>nil) and (sync_point.Length<>0) then + ntv_CommandSVMMemFillKHR_1(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, PUInt32(nil)^, sync_point[0], mutable_handle[0]) else + ntv_CommandSVMMemFillKHR_1(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, PUInt32(nil)^, PUInt32(nil)^, mutable_handle[0]) else + if (sync_point_wait_list<>nil) and (sync_point_wait_list.Length<>0) then + if (sync_point<>nil) and (sync_point.Length<>0) then + ntv_CommandSVMMemFillKHR_1(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list[0], sync_point[0], PCl_mutable_command(nil)^) else + ntv_CommandSVMMemFillKHR_1(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list[0], PUInt32(nil)^, PCl_mutable_command(nil)^) else + if (sync_point<>nil) and (sync_point.Length<>0) then + ntv_CommandSVMMemFillKHR_1(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, PUInt32(nil)^, sync_point[0], PCl_mutable_command(nil)^) else + ntv_CommandSVMMemFillKHR_1(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, PUInt32(nil)^, PUInt32(nil)^, PCl_mutable_command(nil)^); + end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemFillKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; var sync_point: UInt32; var mutable_handle: cl_mutable_command): clErrorCode := + ntv_CommandSVMMemFillKHR_1(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemFillKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; var sync_point: UInt32; mutable_handle: IntPtr): clErrorCode := + ntv_CommandSVMMemFillKHR_2(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemFillKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; sync_point: IntPtr; var mutable_handle: cl_mutable_command): clErrorCode := + ntv_CommandSVMMemFillKHR_3(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemFillKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; sync_point: IntPtr; mutable_handle: IntPtr): clErrorCode := + ntv_CommandSVMMemFillKHR_4(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemFillKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; var sync_point: UInt32; var mutable_handle: cl_mutable_command): clErrorCode := + ntv_CommandSVMMemFillKHR_5(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemFillKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; var sync_point: UInt32; mutable_handle: IntPtr): clErrorCode := + ntv_CommandSVMMemFillKHR_6(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemFillKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; sync_point: IntPtr; var mutable_handle: cl_mutable_command): clErrorCode := + ntv_CommandSVMMemFillKHR_7(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemFillKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; sync_point: IntPtr; mutable_handle: IntPtr): clErrorCode := + ntv_CommandSVMMemFillKHR_8(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + private static function ntv_GetCommandBufferInfoKHR_1(command_buffer: cl_command_buffer; param_name: clCommandBufferInfo; param_value_size: UIntPtr; var param_value: Byte; var param_value_size_ret: UIntPtr): clErrorCode; external 'OpenCL' name 'clGetCommandBufferInfoKHR'; private static function ntv_GetCommandBufferInfoKHR_2(command_buffer: cl_command_buffer; param_name: clCommandBufferInfo; param_value_size: UIntPtr; var param_value: Byte; param_value_size_ret: IntPtr): clErrorCode; diff --git a/Packing/Descriptions/OpenCLABC.predoc b/Packing/Descriptions/OpenCLABC.predoc index 03622e23..58626497 100644 --- a/Packing/Descriptions/OpenCLABC.predoc +++ b/Packing/Descriptions/OpenCLABC.predoc @@ -1892,6 +1892,10 @@ type begin cl.GetDeviceInfo_DEVICE_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES(self.ntv, Result).RaiseIfError; end; + private function GetExternalMemoryImportAssumeLinearImagesHandleTypes: array of clExternalMemoryHandleType; + begin + cl.GetDeviceInfo_DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES(self.ntv, Result).RaiseIfError; + end; private function GetComputeCapabilityMajor: UInt32; begin cl.GetDeviceInfo_DEVICE_COMPUTE_CAPABILITY_MAJOR(self.ntv, Result).RaiseIfError; @@ -2210,6 +2214,7 @@ type public property SemaphoreImportHandleTypes: array of clExternalSemaphoreHandleType read GetSemaphoreImportHandleTypes; public property SemaphoreExportHandleTypes: array of clExternalSemaphoreHandleType read GetSemaphoreExportHandleTypes; public property ExternalMemoryImportHandleTypes: array of clExternalMemoryHandleType read GetExternalMemoryImportHandleTypes; + public property ExternalMemoryImportAssumeLinearImagesHandleTypes: array of clExternalMemoryHandleType read GetExternalMemoryImportAssumeLinearImagesHandleTypes; public property ComputeCapabilityMajor: UInt32 read GetComputeCapabilityMajor; public property ComputeCapabilityMinor: UInt32 read GetComputeCapabilityMinor; public property RegistersPerBlock: UInt32 read GetRegistersPerBlock; @@ -2396,6 +2401,7 @@ type res += 'SemaphoreImportHandleTypes = '; AddProp(res, GetSemaphoreImportHandleTypes ); res += #10; res += 'SemaphoreExportHandleTypes = '; AddProp(res, GetSemaphoreExportHandleTypes ); res += #10; res += 'ExternalMemoryImportHandleTypes = '; AddProp(res, GetExternalMemoryImportHandleTypes ); res += #10; + res += 'ExternalMemoryImportAssumeLinearImagesHandleTypes = '; AddProp(res, GetExternalMemoryImportAssumeLinearImagesHandleTypes ); res += #10; res += 'ComputeCapabilityMajor = '; AddProp(res, GetComputeCapabilityMajor ); res += #10; res += 'ComputeCapabilityMinor = '; AddProp(res, GetComputeCapabilityMinor ); res += #10; res += 'RegistersPerBlock = '; AddProp(res, GetRegistersPerBlock ); res += #10; diff --git a/Packing/Descriptions/OpenGL.predoc b/Packing/Descriptions/OpenGL.predoc index 7c6dbd76..b79d826d 100644 --- a/Packing/Descriptions/OpenGL.predoc +++ b/Packing/Descriptions/OpenGL.predoc @@ -21608,18 +21608,33 @@ type public val: UInt32; public constructor(val: UInt32) := self.val := val; + public static property BYTE: glScalarType read new glScalarType($1400); public static property UNSIGNED_BYTE: glScalarType read new glScalarType($1401); + public static property SHORT: glScalarType read new glScalarType($1402); public static property UNSIGNED_SHORT: glScalarType read new glScalarType($1403); + public static property INT: glScalarType read new glScalarType($1404); public static property UNSIGNED_INT: glScalarType read new glScalarType($1405); + public static property FLOAT: glScalarType read new glScalarType($1406); + public static property DOUBLE: glScalarType read new glScalarType($140A); public function ToString: string; override; begin + if BYTE = self then + Result := 'BYTE' else if UNSIGNED_BYTE = self then Result := 'UNSIGNED_BYTE' else + if SHORT = self then + Result := 'SHORT' else if UNSIGNED_SHORT = self then Result := 'UNSIGNED_SHORT' else + if INT = self then + Result := 'INT' else if UNSIGNED_INT = self then Result := 'UNSIGNED_INT' else + if FLOAT = self then + Result := 'FLOAT' else + if DOUBLE = self then + Result := 'DOUBLE' else Result := $'glScalarType[{self.val}]'; end; @@ -23830,17 +23845,14 @@ type public val: UInt32; public constructor(val: UInt32) := self.val := val; - public static property LINEAR_MIPMAP_LINEAR: glTextureWrapMode read new glTextureWrapMode($2703); - public static property CLAMP: glTextureWrapMode read new glTextureWrapMode($2900); - public static property &REPEAT: glTextureWrapMode read new glTextureWrapMode($2901); - public static property CLAMP_TO_BORDER: glTextureWrapMode read new glTextureWrapMode($812D); - public static property CLAMP_TO_EDGE: glTextureWrapMode read new glTextureWrapMode($812F); - public static property MIRRORED_REPEAT: glTextureWrapMode read new glTextureWrapMode($8370); + public static property CLAMP: glTextureWrapMode read new glTextureWrapMode($2900); + public static property &REPEAT: glTextureWrapMode read new glTextureWrapMode($2901); + public static property CLAMP_TO_BORDER: glTextureWrapMode read new glTextureWrapMode($812D); + public static property CLAMP_TO_EDGE: glTextureWrapMode read new glTextureWrapMode($812F); + public static property MIRRORED_REPEAT: glTextureWrapMode read new glTextureWrapMode($8370); public function ToString: string; override; begin - if LINEAR_MIPMAP_LINEAR = self then - Result := 'LINEAR_MIPMAP_LINEAR' else if CLAMP = self then Result := 'CLAMP' else if &REPEAT = self then @@ -25580,6 +25592,64 @@ type end; + /// + wglColorBufferMask = record + public val: UInt32; + public constructor(val: UInt32) := self.val := val; + + public static property FRONT_COLOR_BUFFER_BIT: wglColorBufferMask read new wglColorBufferMask(1 shl 0); + public static property BACK_COLOR_BUFFER_BIT: wglColorBufferMask read new wglColorBufferMask(1 shl 1); + public static property DEPTH_BUFFER_BIT: wglColorBufferMask read new wglColorBufferMask(1 shl 2); + public static property STENCIL_BUFFER_BIT: wglColorBufferMask read new wglColorBufferMask(1 shl 3); + + public static function operator+(v1, v2: wglColorBufferMask) := new wglColorBufferMask(v1.val or v2.val); + public static function operator or(v1, v2: wglColorBufferMask) := new wglColorBufferMask(v1.val or v2.val); + + public static procedure operator+=(var v1: wglColorBufferMask; v2: wglColorBufferMask) := v1 := v1+v2; + + public static function operator in(v1, v2: wglColorBufferMask) := v1.val and v2.val = v1.val; + + public function ToString: string; override; + begin + var res := new StringBuilder; + var left_val := self.val; + if left_val=0 then + begin + Result := 'wglColorBufferMask[0]'; + exit; + end; + if FRONT_COLOR_BUFFER_BIT in self then + begin + res += 'FRONT_COLOR_BUFFER_BIT+'; + left_val := left_val and not FRONT_COLOR_BUFFER_BIT.val; + end; + if BACK_COLOR_BUFFER_BIT in self then + begin + res += 'BACK_COLOR_BUFFER_BIT+'; + left_val := left_val and not BACK_COLOR_BUFFER_BIT.val; + end; + if DEPTH_BUFFER_BIT in self then + begin + res += 'DEPTH_BUFFER_BIT+'; + left_val := left_val and not DEPTH_BUFFER_BIT.val; + end; + if STENCIL_BUFFER_BIT in self then + begin + res += 'STENCIL_BUFFER_BIT+'; + left_val := left_val and not STENCIL_BUFFER_BIT.val; + end; + if left_val<>0 then + begin + res += 'wglColorBufferMask['; + res += self.val.ToString; + res += ']+'; + end; + res.Length -= 1; + Result := res.ToString; + end; + + end; + /// wglContextAttribute = record public val: Int32; @@ -25624,6 +25694,55 @@ type end; + /// + wglDXInteropMask = record + public val: UInt32; + public constructor(val: UInt32) := self.val := val; + + public static property ACCESS_READ_ONLY: wglDXInteropMask read new wglDXInteropMask(0); + public static property ACCESS_READ_WRITE: wglDXInteropMask read new wglDXInteropMask(1 shl 0); + public static property ACCESS_WRITE_DISCARD: wglDXInteropMask read new wglDXInteropMask(1 shl 1); + + public property ANY_FLAGS: boolean read self.val<>0; + + public static function operator+(v1, v2: wglDXInteropMask) := new wglDXInteropMask(v1.val or v2.val); + public static function operator or(v1, v2: wglDXInteropMask) := new wglDXInteropMask(v1.val or v2.val); + + public static procedure operator+=(var v1: wglDXInteropMask; v2: wglDXInteropMask) := v1 := v1+v2; + + public static function operator in(v1, v2: wglDXInteropMask) := v1.val and v2.val = v1.val; + + public function ToString: string; override; + begin + var res := new StringBuilder; + var left_val := self.val; + if left_val=0 then + begin + Result := 'ACCESS_READ_ONLY'; + exit; + end; + if ACCESS_READ_WRITE in self then + begin + res += 'ACCESS_READ_WRITE+'; + left_val := left_val and not ACCESS_READ_WRITE.val; + end; + if ACCESS_WRITE_DISCARD in self then + begin + res += 'ACCESS_WRITE_DISCARD+'; + left_val := left_val and not ACCESS_WRITE_DISCARD.val; + end; + if left_val<>0 then + begin + res += 'wglDXInteropMask['; + res += self.val.ToString; + res += ']+'; + end; + res.Length -= 1; + Result := res.ToString; + end; + + end; + /// wglFontFormat = record public val: Int32; @@ -25703,186 +25822,19 @@ type end; /// - wglObjectTypeDX = record - public val: UInt32; - public constructor(val: UInt32) := self.val := val; - - public static property gl_NONE: wglObjectTypeDX read new wglObjectTypeDX(0); - public static property gl_TEXTURE_2D: wglObjectTypeDX read new wglObjectTypeDX($0DE1); - public static property gl_TEXTURE_3D: wglObjectTypeDX read new wglObjectTypeDX($806F); - public static property gl_TEXTURE_RECTANGLE: wglObjectTypeDX read new wglObjectTypeDX($84F5); - public static property gl_TEXTURE_CUBE_MAP: wglObjectTypeDX read new wglObjectTypeDX($8513); - public static property gl_RENDERBUFFER: wglObjectTypeDX read new wglObjectTypeDX($8D41); - - public function ToString: string; override; - begin - if gl_NONE = self then - Result := 'gl_NONE' else - if gl_TEXTURE_2D = self then - Result := 'gl_TEXTURE_2D' else - if gl_TEXTURE_3D = self then - Result := 'gl_TEXTURE_3D' else - if gl_TEXTURE_RECTANGLE = self then - Result := 'gl_TEXTURE_RECTANGLE' else - if gl_TEXTURE_CUBE_MAP = self then - Result := 'gl_TEXTURE_CUBE_MAP' else - if gl_RENDERBUFFER = self then - Result := 'gl_RENDERBUFFER' else - Result := $'wglObjectTypeDX[{self.val}]'; - end; - - end; - - /// - wglPBufferAttribute = record - public val: Int32; - public constructor(val: Int32) := self.val := val; - - public static property PBUFFER_WIDTH: wglPBufferAttribute read new wglPBufferAttribute($2034); - public static property PBUFFER_HEIGHT: wglPBufferAttribute read new wglPBufferAttribute($2035); - public static property PBUFFER_LOST: wglPBufferAttribute read new wglPBufferAttribute($2036); - public static property TEXTURE_FORMAT: wglPBufferAttribute read new wglPBufferAttribute($2072); - public static property TEXTURE_TARGET: wglPBufferAttribute read new wglPBufferAttribute($2073); - public static property MIPMAP_TEXTURE: wglPBufferAttribute read new wglPBufferAttribute($2074); - public static property MIPMAP_LEVEL: wglPBufferAttribute read new wglPBufferAttribute($207B); - public static property CUBE_MAP_FACE: wglPBufferAttribute read new wglPBufferAttribute($207C); - - public function ToString: string; override; - begin - if PBUFFER_WIDTH = self then - Result := 'PBUFFER_WIDTH' else - if PBUFFER_HEIGHT = self then - Result := 'PBUFFER_HEIGHT' else - if PBUFFER_LOST = self then - Result := 'PBUFFER_LOST' else - if TEXTURE_FORMAT = self then - Result := 'TEXTURE_FORMAT' else - if TEXTURE_TARGET = self then - Result := 'TEXTURE_TARGET' else - if MIPMAP_TEXTURE = self then - Result := 'MIPMAP_TEXTURE' else - if MIPMAP_LEVEL = self then - Result := 'MIPMAP_LEVEL' else - if CUBE_MAP_FACE = self then - Result := 'CUBE_MAP_FACE' else - Result := $'wglPBufferAttribute[{self.val}]'; - end; - - end; - - /// - wglStereoEmitterState = record + wglImageBufferMask = record public val: UInt32; public constructor(val: UInt32) := self.val := val; - public static property STEREO_EMITTER_ENABLE: wglStereoEmitterState read new wglStereoEmitterState($2055); - public static property STEREO_EMITTER_DISABLE: wglStereoEmitterState read new wglStereoEmitterState($2056); - public static property STEREO_POLARITY_NORMAL: wglStereoEmitterState read new wglStereoEmitterState($2057); - public static property STEREO_POLARITY_INVERT: wglStereoEmitterState read new wglStereoEmitterState($2058); + public static property IMAGE_BUFFER_MIN_ACCESS: wglImageBufferMask read new wglImageBufferMask(1 shl 0); + public static property IMAGE_BUFFER_LOCK: wglImageBufferMask read new wglImageBufferMask(1 shl 1); - public function ToString: string; override; - begin - if STEREO_EMITTER_ENABLE = self then - Result := 'STEREO_EMITTER_ENABLE' else - if STEREO_EMITTER_DISABLE = self then - Result := 'STEREO_EMITTER_DISABLE' else - if STEREO_POLARITY_NORMAL = self then - Result := 'STEREO_POLARITY_NORMAL' else - if STEREO_POLARITY_INVERT = self then - Result := 'STEREO_POLARITY_INVERT' else - Result := $'wglStereoEmitterState[{self.val}]'; - end; + public static function operator+(v1, v2: wglImageBufferMask) := new wglImageBufferMask(v1.val or v2.val); + public static function operator or(v1, v2: wglImageBufferMask) := new wglImageBufferMask(v1.val or v2.val); - end; - - /// - wglVideoCaptureDeviceAttribute = record - public val: Int32; - public constructor(val: Int32) := self.val := val; + public static procedure operator+=(var v1: wglImageBufferMask; v2: wglImageBufferMask) := v1 := v1+v2; - public static property UNIQUE_ID: wglVideoCaptureDeviceAttribute read new wglVideoCaptureDeviceAttribute($20CE); - - public function ToString: string; override; - begin - if UNIQUE_ID = self then - Result := 'UNIQUE_ID' else - Result := $'wglVideoCaptureDeviceAttribute[{self.val}]'; - end; - - end; - - /// - wglVideoOutputBuffer = record - public val: Int32; - public constructor(val: Int32) := self.val := val; - - public static property VIDEO_OUT_COLOR: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C3); - public static property VIDEO_OUT_ALPHA: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C4); - public static property VIDEO_OUT_DEPTH: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C5); - public static property VIDEO_OUT_COLOR_AND_ALPHA: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C6); - public static property VIDEO_OUT_COLOR_AND_DEPTH: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C7); - - public function ToString: string; override; - begin - if VIDEO_OUT_COLOR = self then - Result := 'VIDEO_OUT_COLOR' else - if VIDEO_OUT_ALPHA = self then - Result := 'VIDEO_OUT_ALPHA' else - if VIDEO_OUT_DEPTH = self then - Result := 'VIDEO_OUT_DEPTH' else - if VIDEO_OUT_COLOR_AND_ALPHA = self then - Result := 'VIDEO_OUT_COLOR_AND_ALPHA' else - if VIDEO_OUT_COLOR_AND_DEPTH = self then - Result := 'VIDEO_OUT_COLOR_AND_DEPTH' else - Result := $'wglVideoOutputBuffer[{self.val}]'; - end; - - end; - - /// - wglVideoOutputBufferType = record - public val: Int32; - public constructor(val: Int32) := self.val := val; - - public static property VIDEO_OUT_FRAME: wglVideoOutputBufferType read new wglVideoOutputBufferType($20C8); - public static property VIDEO_OUT_FIELD_1: wglVideoOutputBufferType read new wglVideoOutputBufferType($20C9); - public static property VIDEO_OUT_FIELD_2: wglVideoOutputBufferType read new wglVideoOutputBufferType($20CA); - public static property VIDEO_OUT_STACKED_FIELDS_1_2: wglVideoOutputBufferType read new wglVideoOutputBufferType($20CB); - public static property VIDEO_OUT_STACKED_FIELDS_2_1: wglVideoOutputBufferType read new wglVideoOutputBufferType($20CC); - - public function ToString: string; override; - begin - if VIDEO_OUT_FRAME = self then - Result := 'VIDEO_OUT_FRAME' else - if VIDEO_OUT_FIELD_1 = self then - Result := 'VIDEO_OUT_FIELD_1' else - if VIDEO_OUT_FIELD_2 = self then - Result := 'VIDEO_OUT_FIELD_2' else - if VIDEO_OUT_STACKED_FIELDS_1_2 = self then - Result := 'VIDEO_OUT_STACKED_FIELDS_1_2' else - if VIDEO_OUT_STACKED_FIELDS_2_1 = self then - Result := 'VIDEO_OUT_STACKED_FIELDS_2_1' else - Result := $'wglVideoOutputBufferType[{self.val}]'; - end; - - end; - - /// - wglWGLColorBufferMask = record - public val: UInt32; - public constructor(val: UInt32) := self.val := val; - - public static property FRONT_COLOR_BUFFER_BIT: wglWGLColorBufferMask read new wglWGLColorBufferMask(1 shl 0); - public static property BACK_COLOR_BUFFER_BIT: wglWGLColorBufferMask read new wglWGLColorBufferMask(1 shl 1); - public static property DEPTH_BUFFER_BIT: wglWGLColorBufferMask read new wglWGLColorBufferMask(1 shl 2); - public static property STENCIL_BUFFER_BIT: wglWGLColorBufferMask read new wglWGLColorBufferMask(1 shl 3); - - public static function operator+(v1, v2: wglWGLColorBufferMask) := new wglWGLColorBufferMask(v1.val or v2.val); - public static function operator or(v1, v2: wglWGLColorBufferMask) := new wglWGLColorBufferMask(v1.val or v2.val); - - public static procedure operator+=(var v1: wglWGLColorBufferMask; v2: wglWGLColorBufferMask) := v1 := v1+v2; - - public static function operator in(v1, v2: wglWGLColorBufferMask) := v1.val and v2.val = v1.val; + public static function operator in(v1, v2: wglImageBufferMask) := v1.val and v2.val = v1.val; public function ToString: string; override; begin @@ -25890,112 +25842,7 @@ type var left_val := self.val; if left_val=0 then begin - Result := 'wglWGLColorBufferMask[0]'; - exit; - end; - if FRONT_COLOR_BUFFER_BIT in self then - begin - res += 'FRONT_COLOR_BUFFER_BIT+'; - left_val := left_val and not FRONT_COLOR_BUFFER_BIT.val; - end; - if BACK_COLOR_BUFFER_BIT in self then - begin - res += 'BACK_COLOR_BUFFER_BIT+'; - left_val := left_val and not BACK_COLOR_BUFFER_BIT.val; - end; - if DEPTH_BUFFER_BIT in self then - begin - res += 'DEPTH_BUFFER_BIT+'; - left_val := left_val and not DEPTH_BUFFER_BIT.val; - end; - if STENCIL_BUFFER_BIT in self then - begin - res += 'STENCIL_BUFFER_BIT+'; - left_val := left_val and not STENCIL_BUFFER_BIT.val; - end; - if left_val<>0 then - begin - res += 'wglWGLColorBufferMask['; - res += self.val.ToString; - res += ']+'; - end; - res.Length -= 1; - Result := res.ToString; - end; - - end; - - /// - wglWGLDXInteropMask = record - public val: UInt32; - public constructor(val: UInt32) := self.val := val; - - public static property ACCESS_READ_ONLY: wglWGLDXInteropMask read new wglWGLDXInteropMask(0); - public static property ACCESS_READ_WRITE: wglWGLDXInteropMask read new wglWGLDXInteropMask(1 shl 0); - public static property ACCESS_WRITE_DISCARD: wglWGLDXInteropMask read new wglWGLDXInteropMask(1 shl 1); - - public property ANY_FLAGS: boolean read self.val<>0; - - public static function operator+(v1, v2: wglWGLDXInteropMask) := new wglWGLDXInteropMask(v1.val or v2.val); - public static function operator or(v1, v2: wglWGLDXInteropMask) := new wglWGLDXInteropMask(v1.val or v2.val); - - public static procedure operator+=(var v1: wglWGLDXInteropMask; v2: wglWGLDXInteropMask) := v1 := v1+v2; - - public static function operator in(v1, v2: wglWGLDXInteropMask) := v1.val and v2.val = v1.val; - - public function ToString: string; override; - begin - var res := new StringBuilder; - var left_val := self.val; - if left_val=0 then - begin - Result := 'ACCESS_READ_ONLY'; - exit; - end; - if ACCESS_READ_WRITE in self then - begin - res += 'ACCESS_READ_WRITE+'; - left_val := left_val and not ACCESS_READ_WRITE.val; - end; - if ACCESS_WRITE_DISCARD in self then - begin - res += 'ACCESS_WRITE_DISCARD+'; - left_val := left_val and not ACCESS_WRITE_DISCARD.val; - end; - if left_val<>0 then - begin - res += 'wglWGLDXInteropMask['; - res += self.val.ToString; - res += ']+'; - end; - res.Length -= 1; - Result := res.ToString; - end; - - end; - - /// - wglWGLImageBufferMask = record - public val: UInt32; - public constructor(val: UInt32) := self.val := val; - - public static property IMAGE_BUFFER_MIN_ACCESS: wglWGLImageBufferMask read new wglWGLImageBufferMask(1 shl 0); - public static property IMAGE_BUFFER_LOCK: wglWGLImageBufferMask read new wglWGLImageBufferMask(1 shl 1); - - public static function operator+(v1, v2: wglWGLImageBufferMask) := new wglWGLImageBufferMask(v1.val or v2.val); - public static function operator or(v1, v2: wglWGLImageBufferMask) := new wglWGLImageBufferMask(v1.val or v2.val); - - public static procedure operator+=(var v1: wglWGLImageBufferMask; v2: wglWGLImageBufferMask) := v1 := v1+v2; - - public static function operator in(v1, v2: wglWGLImageBufferMask) := v1.val and v2.val = v1.val; - - public function ToString: string; override; - begin - var res := new StringBuilder; - var left_val := self.val; - if left_val=0 then - begin - Result := 'wglWGLImageBufferMask[0]'; + Result := 'wglImageBufferMask[0]'; exit; end; if IMAGE_BUFFER_MIN_ACCESS in self then @@ -26010,7 +25857,7 @@ type end; if left_val<>0 then begin - res += 'wglWGLImageBufferMask['; + res += 'wglImageBufferMask['; res += self.val.ToString; res += ']+'; end; @@ -26021,48 +25868,48 @@ type end; /// - wglWGLLayerPlaneMask = record + wglLayerPlaneMask = record public val: Int32; public constructor(val: Int32) := self.val := val; - public static property SWAP_MAIN_PLANE: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 0); - public static property SWAP_OVERLAY1: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 1); - public static property SWAP_OVERLAY2: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 2); - public static property SWAP_OVERLAY3: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 3); - public static property SWAP_OVERLAY4: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 4); - public static property SWAP_OVERLAY5: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 5); - public static property SWAP_OVERLAY6: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 6); - public static property SWAP_OVERLAY7: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 7); - public static property SWAP_OVERLAY8: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 8); - public static property SWAP_OVERLAY9: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 9); - public static property SWAP_OVERLAY10: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 10); - public static property SWAP_OVERLAY11: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 11); - public static property SWAP_OVERLAY12: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 12); - public static property SWAP_OVERLAY13: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 13); - public static property SWAP_OVERLAY14: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 14); - public static property SWAP_OVERLAY15: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 15); - public static property SWAP_UNDERLAY1: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 16); - public static property SWAP_UNDERLAY2: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 17); - public static property SWAP_UNDERLAY3: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 18); - public static property SWAP_UNDERLAY4: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 19); - public static property SWAP_UNDERLAY5: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 20); - public static property SWAP_UNDERLAY6: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 21); - public static property SWAP_UNDERLAY7: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 22); - public static property SWAP_UNDERLAY8: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 23); - public static property SWAP_UNDERLAY9: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 24); - public static property SWAP_UNDERLAY10: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 25); - public static property SWAP_UNDERLAY11: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 26); - public static property SWAP_UNDERLAY12: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 27); - public static property SWAP_UNDERLAY13: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 28); - public static property SWAP_UNDERLAY14: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 29); - public static property SWAP_UNDERLAY15: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 30); - - public static function operator+(v1, v2: wglWGLLayerPlaneMask) := new wglWGLLayerPlaneMask(v1.val or v2.val); - public static function operator or(v1, v2: wglWGLLayerPlaneMask) := new wglWGLLayerPlaneMask(v1.val or v2.val); - - public static procedure operator+=(var v1: wglWGLLayerPlaneMask; v2: wglWGLLayerPlaneMask) := v1 := v1+v2; - - public static function operator in(v1, v2: wglWGLLayerPlaneMask) := v1.val and v2.val = v1.val; + public static property SWAP_MAIN_PLANE: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 0); + public static property SWAP_OVERLAY1: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 1); + public static property SWAP_OVERLAY2: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 2); + public static property SWAP_OVERLAY3: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 3); + public static property SWAP_OVERLAY4: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 4); + public static property SWAP_OVERLAY5: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 5); + public static property SWAP_OVERLAY6: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 6); + public static property SWAP_OVERLAY7: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 7); + public static property SWAP_OVERLAY8: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 8); + public static property SWAP_OVERLAY9: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 9); + public static property SWAP_OVERLAY10: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 10); + public static property SWAP_OVERLAY11: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 11); + public static property SWAP_OVERLAY12: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 12); + public static property SWAP_OVERLAY13: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 13); + public static property SWAP_OVERLAY14: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 14); + public static property SWAP_OVERLAY15: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 15); + public static property SWAP_UNDERLAY1: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 16); + public static property SWAP_UNDERLAY2: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 17); + public static property SWAP_UNDERLAY3: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 18); + public static property SWAP_UNDERLAY4: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 19); + public static property SWAP_UNDERLAY5: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 20); + public static property SWAP_UNDERLAY6: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 21); + public static property SWAP_UNDERLAY7: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 22); + public static property SWAP_UNDERLAY8: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 23); + public static property SWAP_UNDERLAY9: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 24); + public static property SWAP_UNDERLAY10: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 25); + public static property SWAP_UNDERLAY11: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 26); + public static property SWAP_UNDERLAY12: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 27); + public static property SWAP_UNDERLAY13: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 28); + public static property SWAP_UNDERLAY14: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 29); + public static property SWAP_UNDERLAY15: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 30); + + public static function operator+(v1, v2: wglLayerPlaneMask) := new wglLayerPlaneMask(v1.val or v2.val); + public static function operator or(v1, v2: wglLayerPlaneMask) := new wglLayerPlaneMask(v1.val or v2.val); + + public static procedure operator+=(var v1: wglLayerPlaneMask; v2: wglLayerPlaneMask) := v1 := v1+v2; + + public static function operator in(v1, v2: wglLayerPlaneMask) := v1.val and v2.val = v1.val; public function ToString: string; override; begin @@ -26070,7 +25917,7 @@ type var left_val := self.val; if left_val=0 then begin - Result := 'wglWGLLayerPlaneMask[0]'; + Result := 'wglLayerPlaneMask[0]'; exit; end; if SWAP_MAIN_PLANE in self then @@ -26230,7 +26077,7 @@ type end; if left_val<>0 then begin - res += 'wglWGLLayerPlaneMask['; + res += 'wglLayerPlaneMask['; res += self.val.ToString; res += ']+'; end; @@ -26240,6 +26087,310 @@ type end; + /// + wglObjectTypeDX = record + public val: UInt32; + public constructor(val: UInt32) := self.val := val; + + public static property gl_NONE: wglObjectTypeDX read new wglObjectTypeDX(0); + public static property gl_TEXTURE_2D: wglObjectTypeDX read new wglObjectTypeDX($0DE1); + public static property gl_TEXTURE_3D: wglObjectTypeDX read new wglObjectTypeDX($806F); + public static property gl_TEXTURE_RECTANGLE: wglObjectTypeDX read new wglObjectTypeDX($84F5); + public static property gl_TEXTURE_CUBE_MAP: wglObjectTypeDX read new wglObjectTypeDX($8513); + public static property gl_RENDERBUFFER: wglObjectTypeDX read new wglObjectTypeDX($8D41); + + public function ToString: string; override; + begin + if gl_NONE = self then + Result := 'gl_NONE' else + if gl_TEXTURE_2D = self then + Result := 'gl_TEXTURE_2D' else + if gl_TEXTURE_3D = self then + Result := 'gl_TEXTURE_3D' else + if gl_TEXTURE_RECTANGLE = self then + Result := 'gl_TEXTURE_RECTANGLE' else + if gl_TEXTURE_CUBE_MAP = self then + Result := 'gl_TEXTURE_CUBE_MAP' else + if gl_RENDERBUFFER = self then + Result := 'gl_RENDERBUFFER' else + Result := $'wglObjectTypeDX[{self.val}]'; + end; + + end; + + /// + wglPBufferAttribute = record + public val: Int32; + public constructor(val: Int32) := self.val := val; + + public static property PBUFFER_WIDTH: wglPBufferAttribute read new wglPBufferAttribute($2034); + public static property PBUFFER_HEIGHT: wglPBufferAttribute read new wglPBufferAttribute($2035); + public static property PBUFFER_LOST: wglPBufferAttribute read new wglPBufferAttribute($2036); + public static property TEXTURE_FORMAT: wglPBufferAttribute read new wglPBufferAttribute($2072); + public static property TEXTURE_TARGET: wglPBufferAttribute read new wglPBufferAttribute($2073); + public static property MIPMAP_TEXTURE: wglPBufferAttribute read new wglPBufferAttribute($2074); + public static property MIPMAP_LEVEL: wglPBufferAttribute read new wglPBufferAttribute($207B); + public static property CUBE_MAP_FACE: wglPBufferAttribute read new wglPBufferAttribute($207C); + + public function ToString: string; override; + begin + if PBUFFER_WIDTH = self then + Result := 'PBUFFER_WIDTH' else + if PBUFFER_HEIGHT = self then + Result := 'PBUFFER_HEIGHT' else + if PBUFFER_LOST = self then + Result := 'PBUFFER_LOST' else + if TEXTURE_FORMAT = self then + Result := 'TEXTURE_FORMAT' else + if TEXTURE_TARGET = self then + Result := 'TEXTURE_TARGET' else + if MIPMAP_TEXTURE = self then + Result := 'MIPMAP_TEXTURE' else + if MIPMAP_LEVEL = self then + Result := 'MIPMAP_LEVEL' else + if CUBE_MAP_FACE = self then + Result := 'CUBE_MAP_FACE' else + Result := $'wglPBufferAttribute[{self.val}]'; + end; + + end; + + /// + wglPixelFormatAttribute = record + public val: Int32; + public constructor(val: Int32) := self.val := val; + + public static property NUMBER_PIXEL_FORMATS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2000); + public static property DRAW_TO_WINDOW: wglPixelFormatAttribute read new wglPixelFormatAttribute($2001); + public static property DRAW_TO_BITMAP: wglPixelFormatAttribute read new wglPixelFormatAttribute($2002); + public static property ACCELERATION: wglPixelFormatAttribute read new wglPixelFormatAttribute($2003); + public static property NEED_PALETTE: wglPixelFormatAttribute read new wglPixelFormatAttribute($2004); + public static property NEED_SYSTEM_PALETTE: wglPixelFormatAttribute read new wglPixelFormatAttribute($2005); + public static property SWAP_LAYER_BUFFERS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2006); + public static property SWAP_METHOD: wglPixelFormatAttribute read new wglPixelFormatAttribute($2007); + public static property NUMBER_OVERLAYS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2008); + public static property NUMBER_UNDERLAYS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2009); + public static property TRANSPARENT: wglPixelFormatAttribute read new wglPixelFormatAttribute($200A); + public static property SHARE_DEPTH: wglPixelFormatAttribute read new wglPixelFormatAttribute($200C); + public static property SHARE_STENCIL: wglPixelFormatAttribute read new wglPixelFormatAttribute($200D); + public static property SHARE_ACCUM: wglPixelFormatAttribute read new wglPixelFormatAttribute($200E); + public static property SUPPORT_GDI: wglPixelFormatAttribute read new wglPixelFormatAttribute($200F); + public static property SUPPORT_OPENGL: wglPixelFormatAttribute read new wglPixelFormatAttribute($2010); + public static property DOUBLE_BUFFER: wglPixelFormatAttribute read new wglPixelFormatAttribute($2011); + public static property STEREO: wglPixelFormatAttribute read new wglPixelFormatAttribute($2012); + public static property PIXEL_TYPE: wglPixelFormatAttribute read new wglPixelFormatAttribute($2013); + public static property COLOR_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2014); + public static property RED_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2015); + public static property RED_SHIFT: wglPixelFormatAttribute read new wglPixelFormatAttribute($2016); + public static property GREEN_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2017); + public static property GREEN_SHIFT: wglPixelFormatAttribute read new wglPixelFormatAttribute($2018); + public static property BLUE_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2019); + public static property BLUE_SHIFT: wglPixelFormatAttribute read new wglPixelFormatAttribute($201A); + public static property ALPHA_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($201B); + public static property ALPHA_SHIFT: wglPixelFormatAttribute read new wglPixelFormatAttribute($201C); + public static property ACCUM_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($201D); + public static property ACCUM_RED_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($201E); + public static property ACCUM_GREEN_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($201F); + public static property ACCUM_BLUE_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2020); + public static property ACCUM_ALPHA_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2021); + public static property DEPTH_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2022); + public static property STENCIL_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2023); + public static property AUX_BUFFERS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2024); + public static property DRAW_TO_PBUFFER: wglPixelFormatAttribute read new wglPixelFormatAttribute($202D); + public static property TRANSPARENT_RED_VALUE: wglPixelFormatAttribute read new wglPixelFormatAttribute($2037); + public static property TRANSPARENT_GREEN_VALUE: wglPixelFormatAttribute read new wglPixelFormatAttribute($2038); + public static property TRANSPARENT_BLUE_VALUE: wglPixelFormatAttribute read new wglPixelFormatAttribute($2039); + public static property TRANSPARENT_ALPHA_VALUE: wglPixelFormatAttribute read new wglPixelFormatAttribute($203A); + public static property TRANSPARENT_INDEX_VALUE: wglPixelFormatAttribute read new wglPixelFormatAttribute($203B); + + public function ToString: string; override; + begin + if NUMBER_PIXEL_FORMATS = self then + Result := 'NUMBER_PIXEL_FORMATS' else + if DRAW_TO_WINDOW = self then + Result := 'DRAW_TO_WINDOW' else + if DRAW_TO_BITMAP = self then + Result := 'DRAW_TO_BITMAP' else + if ACCELERATION = self then + Result := 'ACCELERATION' else + if NEED_PALETTE = self then + Result := 'NEED_PALETTE' else + if NEED_SYSTEM_PALETTE = self then + Result := 'NEED_SYSTEM_PALETTE' else + if SWAP_LAYER_BUFFERS = self then + Result := 'SWAP_LAYER_BUFFERS' else + if SWAP_METHOD = self then + Result := 'SWAP_METHOD' else + if NUMBER_OVERLAYS = self then + Result := 'NUMBER_OVERLAYS' else + if NUMBER_UNDERLAYS = self then + Result := 'NUMBER_UNDERLAYS' else + if TRANSPARENT = self then + Result := 'TRANSPARENT' else + if SHARE_DEPTH = self then + Result := 'SHARE_DEPTH' else + if SHARE_STENCIL = self then + Result := 'SHARE_STENCIL' else + if SHARE_ACCUM = self then + Result := 'SHARE_ACCUM' else + if SUPPORT_GDI = self then + Result := 'SUPPORT_GDI' else + if SUPPORT_OPENGL = self then + Result := 'SUPPORT_OPENGL' else + if DOUBLE_BUFFER = self then + Result := 'DOUBLE_BUFFER' else + if STEREO = self then + Result := 'STEREO' else + if PIXEL_TYPE = self then + Result := 'PIXEL_TYPE' else + if COLOR_BITS = self then + Result := 'COLOR_BITS' else + if RED_BITS = self then + Result := 'RED_BITS' else + if RED_SHIFT = self then + Result := 'RED_SHIFT' else + if GREEN_BITS = self then + Result := 'GREEN_BITS' else + if GREEN_SHIFT = self then + Result := 'GREEN_SHIFT' else + if BLUE_BITS = self then + Result := 'BLUE_BITS' else + if BLUE_SHIFT = self then + Result := 'BLUE_SHIFT' else + if ALPHA_BITS = self then + Result := 'ALPHA_BITS' else + if ALPHA_SHIFT = self then + Result := 'ALPHA_SHIFT' else + if ACCUM_BITS = self then + Result := 'ACCUM_BITS' else + if ACCUM_RED_BITS = self then + Result := 'ACCUM_RED_BITS' else + if ACCUM_GREEN_BITS = self then + Result := 'ACCUM_GREEN_BITS' else + if ACCUM_BLUE_BITS = self then + Result := 'ACCUM_BLUE_BITS' else + if ACCUM_ALPHA_BITS = self then + Result := 'ACCUM_ALPHA_BITS' else + if DEPTH_BITS = self then + Result := 'DEPTH_BITS' else + if STENCIL_BITS = self then + Result := 'STENCIL_BITS' else + if AUX_BUFFERS = self then + Result := 'AUX_BUFFERS' else + if DRAW_TO_PBUFFER = self then + Result := 'DRAW_TO_PBUFFER' else + if TRANSPARENT_RED_VALUE = self then + Result := 'TRANSPARENT_RED_VALUE' else + if TRANSPARENT_GREEN_VALUE = self then + Result := 'TRANSPARENT_GREEN_VALUE' else + if TRANSPARENT_BLUE_VALUE = self then + Result := 'TRANSPARENT_BLUE_VALUE' else + if TRANSPARENT_ALPHA_VALUE = self then + Result := 'TRANSPARENT_ALPHA_VALUE' else + if TRANSPARENT_INDEX_VALUE = self then + Result := 'TRANSPARENT_INDEX_VALUE' else + Result := $'wglPixelFormatAttribute[{self.val}]'; + end; + + end; + + /// + wglStereoEmitterState = record + public val: UInt32; + public constructor(val: UInt32) := self.val := val; + + public static property STEREO_EMITTER_ENABLE: wglStereoEmitterState read new wglStereoEmitterState($2055); + public static property STEREO_EMITTER_DISABLE: wglStereoEmitterState read new wglStereoEmitterState($2056); + public static property STEREO_POLARITY_NORMAL: wglStereoEmitterState read new wglStereoEmitterState($2057); + public static property STEREO_POLARITY_INVERT: wglStereoEmitterState read new wglStereoEmitterState($2058); + + public function ToString: string; override; + begin + if STEREO_EMITTER_ENABLE = self then + Result := 'STEREO_EMITTER_ENABLE' else + if STEREO_EMITTER_DISABLE = self then + Result := 'STEREO_EMITTER_DISABLE' else + if STEREO_POLARITY_NORMAL = self then + Result := 'STEREO_POLARITY_NORMAL' else + if STEREO_POLARITY_INVERT = self then + Result := 'STEREO_POLARITY_INVERT' else + Result := $'wglStereoEmitterState[{self.val}]'; + end; + + end; + + /// + wglVideoCaptureDeviceAttribute = record + public val: Int32; + public constructor(val: Int32) := self.val := val; + + public static property UNIQUE_ID: wglVideoCaptureDeviceAttribute read new wglVideoCaptureDeviceAttribute($20CE); + + public function ToString: string; override; + begin + if UNIQUE_ID = self then + Result := 'UNIQUE_ID' else + Result := $'wglVideoCaptureDeviceAttribute[{self.val}]'; + end; + + end; + + /// + wglVideoOutputBuffer = record + public val: Int32; + public constructor(val: Int32) := self.val := val; + + public static property VIDEO_OUT_COLOR: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C3); + public static property VIDEO_OUT_ALPHA: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C4); + public static property VIDEO_OUT_DEPTH: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C5); + public static property VIDEO_OUT_COLOR_AND_ALPHA: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C6); + public static property VIDEO_OUT_COLOR_AND_DEPTH: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C7); + + public function ToString: string; override; + begin + if VIDEO_OUT_COLOR = self then + Result := 'VIDEO_OUT_COLOR' else + if VIDEO_OUT_ALPHA = self then + Result := 'VIDEO_OUT_ALPHA' else + if VIDEO_OUT_DEPTH = self then + Result := 'VIDEO_OUT_DEPTH' else + if VIDEO_OUT_COLOR_AND_ALPHA = self then + Result := 'VIDEO_OUT_COLOR_AND_ALPHA' else + if VIDEO_OUT_COLOR_AND_DEPTH = self then + Result := 'VIDEO_OUT_COLOR_AND_DEPTH' else + Result := $'wglVideoOutputBuffer[{self.val}]'; + end; + + end; + + /// + wglVideoOutputBufferType = record + public val: Int32; + public constructor(val: Int32) := self.val := val; + + public static property VIDEO_OUT_FRAME: wglVideoOutputBufferType read new wglVideoOutputBufferType($20C8); + public static property VIDEO_OUT_FIELD_1: wglVideoOutputBufferType read new wglVideoOutputBufferType($20C9); + public static property VIDEO_OUT_FIELD_2: wglVideoOutputBufferType read new wglVideoOutputBufferType($20CA); + public static property VIDEO_OUT_STACKED_FIELDS_1_2: wglVideoOutputBufferType read new wglVideoOutputBufferType($20CB); + public static property VIDEO_OUT_STACKED_FIELDS_2_1: wglVideoOutputBufferType read new wglVideoOutputBufferType($20CC); + + public function ToString: string; override; + begin + if VIDEO_OUT_FRAME = self then + Result := 'VIDEO_OUT_FRAME' else + if VIDEO_OUT_FIELD_1 = self then + Result := 'VIDEO_OUT_FIELD_1' else + if VIDEO_OUT_FIELD_2 = self then + Result := 'VIDEO_OUT_FIELD_2' else + if VIDEO_OUT_STACKED_FIELDS_1_2 = self then + Result := 'VIDEO_OUT_STACKED_FIELDS_1_2' else + if VIDEO_OUT_STACKED_FIELDS_2_1 = self then + Result := 'VIDEO_OUT_STACKED_FIELDS_2_1' else + Result := $'wglVideoOutputBufferType[{self.val}]'; + end; + + end; + ///%x_color_map% x_color_map = record public val: IntPtr; @@ -39593,9 +39744,9 @@ type ntv_ShareLists_1(hrcSrvShare, hrcSrvSource); // added in wgl1.0 - private static function ntv_SwapLayerBuffers_1(hdc: gdi_device_context; fuFlags: wglWGLLayerPlaneMask): glBool32; + private static function ntv_SwapLayerBuffers_1(hdc: gdi_device_context; fuFlags: wglLayerPlaneMask): glBool32; external 'opengl32.dll' name 'wglSwapLayerBuffers'; - public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function SwapLayerBuffers(hdc: gdi_device_context; fuFlags: wglWGLLayerPlaneMask): glBool32 := + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function SwapLayerBuffers(hdc: gdi_device_context; fuFlags: wglLayerPlaneMask): glBool32 := ntv_SwapLayerBuffers_1(hdc, fuFlags); // added in wgl1.0 @@ -72032,8 +72183,8 @@ type ntv_GetGPUIDsAMD_2(maxCount, ids); private GetGPUInfoAMD_adr := GetProcAddress('wglGetGPUInfoAMD'); - private ntv_GetGPUInfoAMD_1 := GetProcOrNil&(GetGPUInfoAMD_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGPUInfoAMD(id: UInt32; &property: wglGPUProperty; dataType: DummyEnum; size: UInt32; data: IntPtr): Int32 := + private ntv_GetGPUInfoAMD_1 := GetProcOrNil&(GetGPUInfoAMD_adr); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGPUInfoAMD(id: UInt32; &property: wglGPUProperty; dataType: glScalarType; size: UInt32; data: IntPtr): Int32 := ntv_GetGPUInfoAMD_1(id, &property, dataType, size, data); private GetContextGPUIDAMD_adr := GetProcAddress('wglGetContextGPUIDAMD'); @@ -72094,8 +72245,8 @@ type public const _ExtStr = 'WGL_ARB_buffer_region'; private CreateBufferRegionARB_adr := GetProcAddress('wglCreateBufferRegionARB'); - private ntv_CreateBufferRegionARB_1 := GetProcOrNil&(CreateBufferRegionARB_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateBufferRegionARB(hDC: gdi_device_context; iLayerPlane: Int32; uType: wglWGLColorBufferMask): IntPtr := + private ntv_CreateBufferRegionARB_1 := GetProcOrNil&(CreateBufferRegionARB_adr); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateBufferRegionARB(hDC: gdi_device_context; iLayerPlane: Int32; uType: wglColorBufferMask): IntPtr := ntv_CreateBufferRegionARB_1(hDC, iLayerPlane, uType); private DeleteBufferRegionARB_adr := GetProcAddress('wglDeleteBufferRegionARB'); @@ -72279,27 +72430,27 @@ type public const _ExtStr = 'WGL_ARB_pixel_format'; private GetPixelFormatAttribivARB_adr := GetProcAddress('wglGetPixelFormatAttribivARB'); - private ntv_GetPixelFormatAttribivARB_1 := GetProcOrNil&(GetPixelFormatAttribivARB_adr); - private ntv_GetPixelFormatAttribivARB_2 := GetProcOrNil&(GetPixelFormatAttribivARB_adr); + private ntv_GetPixelFormatAttribivARB_1 := GetProcOrNil&(GetPixelFormatAttribivARB_adr); + private ntv_GetPixelFormatAttribivARB_2 := GetProcOrNil&(GetPixelFormatAttribivARB_adr); private ntv_GetPixelFormatAttribivARB_3 := GetProcOrNil&(GetPixelFormatAttribivARB_adr); private ntv_GetPixelFormatAttribivARB_4 := GetProcOrNil&(GetPixelFormatAttribivARB_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of Int32; var piValues: Int32): glBool32; - type PInt32 = ^Int32; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of wglPixelFormatAttribute; var piValues: Int32): glBool32; + type PWglPixelFormatAttribute = ^wglPixelFormatAttribute; begin Result := if (piAttributes<>nil) and (piAttributes.Length<>0) then ntv_GetPixelFormatAttribivARB_1(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes[0], piValues) else - ntv_GetPixelFormatAttribivARB_1(hdc, iPixelFormat, iLayerPlane, nAttributes, PInt32(nil)^, piValues); + ntv_GetPixelFormatAttribivARB_1(hdc, iPixelFormat, iLayerPlane, nAttributes, PWglPixelFormatAttribute(nil)^, piValues); end; - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of Int32; piValues: IntPtr): glBool32; - type PInt32 = ^Int32; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of wglPixelFormatAttribute; piValues: IntPtr): glBool32; + type PWglPixelFormatAttribute = ^wglPixelFormatAttribute; begin Result := if (piAttributes<>nil) and (piAttributes.Length<>0) then ntv_GetPixelFormatAttribivARB_2(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes[0], piValues) else - ntv_GetPixelFormatAttribivARB_2(hdc, iPixelFormat, iLayerPlane, nAttributes, PInt32(nil)^, piValues); + ntv_GetPixelFormatAttribivARB_2(hdc, iPixelFormat, iLayerPlane, nAttributes, PWglPixelFormatAttribute(nil)^, piValues); end; - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; var piValues: Int32): glBool32 := + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: wglPixelFormatAttribute; var piValues: Int32): glBool32 := ntv_GetPixelFormatAttribivARB_1(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; piValues: IntPtr): glBool32 := + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: wglPixelFormatAttribute; piValues: IntPtr): glBool32 := ntv_GetPixelFormatAttribivARB_2(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: IntPtr; var piValues: Int32): glBool32 := ntv_GetPixelFormatAttribivARB_3(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); @@ -72307,27 +72458,27 @@ type ntv_GetPixelFormatAttribivARB_4(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); private GetPixelFormatAttribfvARB_adr := GetProcAddress('wglGetPixelFormatAttribfvARB'); - private ntv_GetPixelFormatAttribfvARB_1 := GetProcOrNil&(GetPixelFormatAttribfvARB_adr); - private ntv_GetPixelFormatAttribfvARB_2 := GetProcOrNil&(GetPixelFormatAttribfvARB_adr); + private ntv_GetPixelFormatAttribfvARB_1 := GetProcOrNil&(GetPixelFormatAttribfvARB_adr); + private ntv_GetPixelFormatAttribfvARB_2 := GetProcOrNil&(GetPixelFormatAttribfvARB_adr); private ntv_GetPixelFormatAttribfvARB_3 := GetProcOrNil&(GetPixelFormatAttribfvARB_adr); private ntv_GetPixelFormatAttribfvARB_4 := GetProcOrNil&(GetPixelFormatAttribfvARB_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of Int32; var pfValues: single): glBool32; - type PInt32 = ^Int32; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of wglPixelFormatAttribute; var pfValues: single): glBool32; + type PWglPixelFormatAttribute = ^wglPixelFormatAttribute; begin Result := if (piAttributes<>nil) and (piAttributes.Length<>0) then ntv_GetPixelFormatAttribfvARB_1(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes[0], pfValues) else - ntv_GetPixelFormatAttribfvARB_1(hdc, iPixelFormat, iLayerPlane, nAttributes, PInt32(nil)^, pfValues); + ntv_GetPixelFormatAttribfvARB_1(hdc, iPixelFormat, iLayerPlane, nAttributes, PWglPixelFormatAttribute(nil)^, pfValues); end; - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of Int32; pfValues: IntPtr): glBool32; - type PInt32 = ^Int32; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of wglPixelFormatAttribute; pfValues: IntPtr): glBool32; + type PWglPixelFormatAttribute = ^wglPixelFormatAttribute; begin Result := if (piAttributes<>nil) and (piAttributes.Length<>0) then ntv_GetPixelFormatAttribfvARB_2(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes[0], pfValues) else - ntv_GetPixelFormatAttribfvARB_2(hdc, iPixelFormat, iLayerPlane, nAttributes, PInt32(nil)^, pfValues); + ntv_GetPixelFormatAttribfvARB_2(hdc, iPixelFormat, iLayerPlane, nAttributes, PWglPixelFormatAttribute(nil)^, pfValues); end; - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; var pfValues: single): glBool32 := + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: wglPixelFormatAttribute; var pfValues: single): glBool32 := ntv_GetPixelFormatAttribfvARB_1(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; pfValues: IntPtr): glBool32 := + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: wglPixelFormatAttribute; pfValues: IntPtr): glBool32 := ntv_GetPixelFormatAttribfvARB_2(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues); public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: IntPtr; var pfValues: single): glBool32 := ntv_GetPixelFormatAttribfvARB_3(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues); @@ -72664,13 +72815,13 @@ type public const _ExtStr = 'WGL_EXT_pixel_format'; private GetPixelFormatAttribivEXT_adr := GetProcAddress('wglGetPixelFormatAttribivEXT'); - private ntv_GetPixelFormatAttribivEXT_1 := GetProcOrNil&(GetPixelFormatAttribivEXT_adr); - private ntv_GetPixelFormatAttribivEXT_2 := GetProcOrNil&(GetPixelFormatAttribivEXT_adr); + private ntv_GetPixelFormatAttribivEXT_1 := GetProcOrNil&(GetPixelFormatAttribivEXT_adr); + private ntv_GetPixelFormatAttribivEXT_2 := GetProcOrNil&(GetPixelFormatAttribivEXT_adr); private ntv_GetPixelFormatAttribivEXT_3 := GetProcOrNil&(GetPixelFormatAttribivEXT_adr); private ntv_GetPixelFormatAttribivEXT_4 := GetProcOrNil&(GetPixelFormatAttribivEXT_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; var piValues: Int32): glBool32 := + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: wglPixelFormatAttribute; var piValues: Int32): glBool32 := ntv_GetPixelFormatAttribivEXT_1(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; piValues: IntPtr): glBool32 := + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: wglPixelFormatAttribute; piValues: IntPtr): glBool32 := ntv_GetPixelFormatAttribivEXT_2(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: IntPtr; var piValues: Int32): glBool32 := ntv_GetPixelFormatAttribivEXT_3(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); @@ -72678,13 +72829,13 @@ type ntv_GetPixelFormatAttribivEXT_4(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); private GetPixelFormatAttribfvEXT_adr := GetProcAddress('wglGetPixelFormatAttribfvEXT'); - private ntv_GetPixelFormatAttribfvEXT_1 := GetProcOrNil&(GetPixelFormatAttribfvEXT_adr); - private ntv_GetPixelFormatAttribfvEXT_2 := GetProcOrNil&(GetPixelFormatAttribfvEXT_adr); + private ntv_GetPixelFormatAttribfvEXT_1 := GetProcOrNil&(GetPixelFormatAttribfvEXT_adr); + private ntv_GetPixelFormatAttribfvEXT_2 := GetProcOrNil&(GetPixelFormatAttribfvEXT_adr); private ntv_GetPixelFormatAttribfvEXT_3 := GetProcOrNil&(GetPixelFormatAttribfvEXT_adr); private ntv_GetPixelFormatAttribfvEXT_4 := GetProcOrNil&(GetPixelFormatAttribfvEXT_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; var pfValues: single): glBool32 := + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: wglPixelFormatAttribute; var pfValues: single): glBool32 := ntv_GetPixelFormatAttribfvEXT_1(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; pfValues: IntPtr): glBool32 := + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: wglPixelFormatAttribute; pfValues: IntPtr): glBool32 := ntv_GetPixelFormatAttribfvEXT_2(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues); public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: IntPtr; var pfValues: single): glBool32 := ntv_GetPixelFormatAttribfvEXT_3(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues); @@ -73078,8 +73229,8 @@ type public const _ExtStr = 'WGL_I3D_image_buffer'; private CreateImageBufferI3D_adr := GetProcAddress('wglCreateImageBufferI3D'); - private ntv_CreateImageBufferI3D_1 := GetProcOrNil&(CreateImageBufferI3D_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateImageBufferI3D(hDC: gdi_device_context; dwSize: UInt32; uFlags: wglWGLImageBufferMask): IntPtr := + private ntv_CreateImageBufferI3D_1 := GetProcOrNil&(CreateImageBufferI3D_adr); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateImageBufferI3D(hDC: gdi_device_context; dwSize: UInt32; uFlags: wglImageBufferMask): IntPtr := ntv_CreateImageBufferI3D_1(hDC, dwSize, uFlags); private DestroyImageBufferI3D_adr := GetProcAddress('wglDestroyImageBufferI3D'); @@ -73338,8 +73489,8 @@ type ntv_DXCloseDeviceNV_1(hDevice); private DXRegisterObjectNV_adr := GetProcAddress('wglDXRegisterObjectNV'); - private ntv_DXRegisterObjectNV_1 := GetProcOrNil&(DXRegisterObjectNV_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DXRegisterObjectNV(hDevice: IntPtr; dxObject: IntPtr; name: UInt32; &type: wglObjectTypeDX; access: wglWGLDXInteropMask): IntPtr := + private ntv_DXRegisterObjectNV_1 := GetProcOrNil&(DXRegisterObjectNV_adr); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DXRegisterObjectNV(hDevice: IntPtr; dxObject: IntPtr; name: UInt32; &type: wglObjectTypeDX; access: wglDXInteropMask): IntPtr := ntv_DXRegisterObjectNV_1(hDevice, dxObject, name, &type, access); private DXUnregisterObjectNV_adr := GetProcAddress('wglDXUnregisterObjectNV'); @@ -73348,8 +73499,8 @@ type ntv_DXUnregisterObjectNV_1(hDevice, hObject); private DXObjectAccessNV_adr := GetProcAddress('wglDXObjectAccessNV'); - private ntv_DXObjectAccessNV_1 := GetProcOrNil&(DXObjectAccessNV_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DXObjectAccessNV(hObject: IntPtr; access: wglWGLDXInteropMask): glBool32 := + private ntv_DXObjectAccessNV_1 := GetProcOrNil&(DXObjectAccessNV_adr); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DXObjectAccessNV(hObject: IntPtr; access: wglDXInteropMask): glBool32 := ntv_DXObjectAccessNV_1(hObject, access); private DXLockObjectsNV_adr := GetProcAddress('wglDXLockObjectsNV'); @@ -73839,8 +73990,8 @@ type ntv_SwapBuffersMscOML_1(hdc, target_msc, divisor, remainder); private SwapLayerBuffersMscOML_adr := GetProcAddress('wglSwapLayerBuffersMscOML'); - private ntv_SwapLayerBuffersMscOML_1 := GetProcOrNil&(SwapLayerBuffersMscOML_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SwapLayerBuffersMscOML(hdc: gdi_device_context; fuPlanes: wglWGLLayerPlaneMask; target_msc: Int64; divisor: Int64; remainder: Int64): Int64 := + private ntv_SwapLayerBuffersMscOML_1 := GetProcOrNil&(SwapLayerBuffersMscOML_adr); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SwapLayerBuffersMscOML(hdc: gdi_device_context; fuPlanes: wglLayerPlaneMask; target_msc: Int64; divisor: Int64; remainder: Int64): Int64 := ntv_SwapLayerBuffersMscOML_1(hdc, fuPlanes, target_msc, divisor, remainder); private WaitForMscOML_adr := GetProcAddress('wglWaitForMscOML'); diff --git a/Packing/Template/HighLvl/OpenCLABC/!Def/WrapperProperties/02#CLDevice.dat b/Packing/Template/HighLvl/OpenCLABC/!Def/WrapperProperties/02#CLDevice.dat index 7642c037..6644b1ef 100644 --- a/Packing/Template/HighLvl/OpenCLABC/!Def/WrapperProperties/02#CLDevice.dat +++ b/Packing/Template/HighLvl/OpenCLABC/!Def/WrapperProperties/02#CLDevice.dat @@ -133,6 +133,7 @@ cl.GetDeviceInfo # SEMAPHORE_IMPORT_HANDLE_TYPES # SEMAPHORE_EXPORT_HANDLE_TYPES # EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES +# EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES # COMPUTE_CAPABILITY_MAJOR # COMPUTE_CAPABILITY_MINOR # REGISTERS_PER_BLOCK diff --git a/Packing/Template/HighLvl/OpenCLABC/WrapperProperties.template b/Packing/Template/HighLvl/OpenCLABC/WrapperProperties.template index 65f4407b..315eb635 100644 --- a/Packing/Template/HighLvl/OpenCLABC/WrapperProperties.template +++ b/Packing/Template/HighLvl/OpenCLABC/WrapperProperties.template @@ -642,6 +642,10 @@ begin cl.GetDeviceInfo_DEVICE_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES(self.ntv, Result).RaiseIfError; end; + private function GetExternalMemoryImportAssumeLinearImagesHandleTypes: array of clExternalMemoryHandleType; + begin + cl.GetDeviceInfo_DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES(self.ntv, Result).RaiseIfError; + end; private function GetComputeCapabilityMajor: UInt32; begin cl.GetDeviceInfo_DEVICE_COMPUTE_CAPABILITY_MAJOR(self.ntv, Result).RaiseIfError; @@ -960,6 +964,7 @@ public property SemaphoreImportHandleTypes: array of clExternalSemaphoreHandleType read GetSemaphoreImportHandleTypes; public property SemaphoreExportHandleTypes: array of clExternalSemaphoreHandleType read GetSemaphoreExportHandleTypes; public property ExternalMemoryImportHandleTypes: array of clExternalMemoryHandleType read GetExternalMemoryImportHandleTypes; + public property ExternalMemoryImportAssumeLinearImagesHandleTypes: array of clExternalMemoryHandleType read GetExternalMemoryImportAssumeLinearImagesHandleTypes; public property ComputeCapabilityMajor: UInt32 read GetComputeCapabilityMajor; public property ComputeCapabilityMinor: UInt32 read GetComputeCapabilityMinor; public property RegistersPerBlock: UInt32 read GetRegistersPerBlock; @@ -1146,6 +1151,7 @@ res += 'SemaphoreImportHandleTypes = '; AddProp(res, GetSemaphoreImportHandleTypes ); res += #10; res += 'SemaphoreExportHandleTypes = '; AddProp(res, GetSemaphoreExportHandleTypes ); res += #10; res += 'ExternalMemoryImportHandleTypes = '; AddProp(res, GetExternalMemoryImportHandleTypes ); res += #10; + res += 'ExternalMemoryImportAssumeLinearImagesHandleTypes = '; AddProp(res, GetExternalMemoryImportAssumeLinearImagesHandleTypes ); res += #10; res += 'ComputeCapabilityMajor = '; AddProp(res, GetComputeCapabilityMajor ); res += #10; res += 'ComputeCapabilityMinor = '; AddProp(res, GetComputeCapabilityMinor ); res += #10; res += 'RegistersPerBlock = '; AddProp(res, GetRegistersPerBlock ); res += #10; diff --git a/Packing/Template/LowLvl/OpenCL/Extension.Interface.template b/Packing/Template/LowLvl/OpenCL/Extension.Interface.template index 339f9a9d..0ff19cb9 100644 --- a/Packing/Template/LowLvl/OpenCL/Extension.Interface.template +++ b/Packing/Template/LowLvl/OpenCL/Extension.Interface.template @@ -3120,6 +3120,112 @@ public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandNDRangeKernelKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; properties: IntPtr; kernel: cl_kernel; work_dim: UInt32; global_work_offset: IntPtr; global_work_size: IntPtr; local_work_size: IntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; var sync_point: UInt32; mutable_handle: IntPtr): clErrorCode := ntv_CommandNDRangeKernelKHR_8(command_buffer, command_queue, properties, kernel, work_dim, global_work_offset, global_work_size, local_work_size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + private static function ntv_CommandSVMMemcpyKHR_1(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; var sync_point: UInt32; var mutable_handle: cl_mutable_command): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemcpyKHR'; + private static function ntv_CommandSVMMemcpyKHR_2(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; var sync_point: UInt32; mutable_handle: IntPtr): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemcpyKHR'; + private static function ntv_CommandSVMMemcpyKHR_3(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; sync_point: IntPtr; var mutable_handle: cl_mutable_command): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemcpyKHR'; + private static function ntv_CommandSVMMemcpyKHR_4(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; sync_point: IntPtr; mutable_handle: IntPtr): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemcpyKHR'; + private static function ntv_CommandSVMMemcpyKHR_5(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; var sync_point: UInt32; var mutable_handle: cl_mutable_command): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemcpyKHR'; + private static function ntv_CommandSVMMemcpyKHR_6(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; var sync_point: UInt32; mutable_handle: IntPtr): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemcpyKHR'; + private static function ntv_CommandSVMMemcpyKHR_7(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; sync_point: IntPtr; var mutable_handle: cl_mutable_command): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemcpyKHR'; + private static function ntv_CommandSVMMemcpyKHR_8(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; sync_point: IntPtr; mutable_handle: IntPtr): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemcpyKHR'; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemcpyKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: array of UInt32; sync_point: array of UInt32; mutable_handle: array of cl_mutable_command): clErrorCode; + type PUInt32 = ^UInt32; + type PCl_mutable_command = ^cl_mutable_command; + begin + Result := if (mutable_handle<>nil) and (mutable_handle.Length<>0) then + if (sync_point_wait_list<>nil) and (sync_point_wait_list.Length<>0) then + if (sync_point<>nil) and (sync_point.Length<>0) then + ntv_CommandSVMMemcpyKHR_1(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list[0], sync_point[0], mutable_handle[0]) else + ntv_CommandSVMMemcpyKHR_1(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list[0], PUInt32(nil)^, mutable_handle[0]) else + if (sync_point<>nil) and (sync_point.Length<>0) then + ntv_CommandSVMMemcpyKHR_1(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, PUInt32(nil)^, sync_point[0], mutable_handle[0]) else + ntv_CommandSVMMemcpyKHR_1(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, PUInt32(nil)^, PUInt32(nil)^, mutable_handle[0]) else + if (sync_point_wait_list<>nil) and (sync_point_wait_list.Length<>0) then + if (sync_point<>nil) and (sync_point.Length<>0) then + ntv_CommandSVMMemcpyKHR_1(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list[0], sync_point[0], PCl_mutable_command(nil)^) else + ntv_CommandSVMMemcpyKHR_1(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list[0], PUInt32(nil)^, PCl_mutable_command(nil)^) else + if (sync_point<>nil) and (sync_point.Length<>0) then + ntv_CommandSVMMemcpyKHR_1(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, PUInt32(nil)^, sync_point[0], PCl_mutable_command(nil)^) else + ntv_CommandSVMMemcpyKHR_1(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, PUInt32(nil)^, PUInt32(nil)^, PCl_mutable_command(nil)^); + end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemcpyKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; var sync_point: UInt32; var mutable_handle: cl_mutable_command): clErrorCode := + ntv_CommandSVMMemcpyKHR_1(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemcpyKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; var sync_point: UInt32; mutable_handle: IntPtr): clErrorCode := + ntv_CommandSVMMemcpyKHR_2(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemcpyKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; sync_point: IntPtr; var mutable_handle: cl_mutable_command): clErrorCode := + ntv_CommandSVMMemcpyKHR_3(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemcpyKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; sync_point: IntPtr; mutable_handle: IntPtr): clErrorCode := + ntv_CommandSVMMemcpyKHR_4(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemcpyKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; var sync_point: UInt32; var mutable_handle: cl_mutable_command): clErrorCode := + ntv_CommandSVMMemcpyKHR_5(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemcpyKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; var sync_point: UInt32; mutable_handle: IntPtr): clErrorCode := + ntv_CommandSVMMemcpyKHR_6(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemcpyKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; sync_point: IntPtr; var mutable_handle: cl_mutable_command): clErrorCode := + ntv_CommandSVMMemcpyKHR_7(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemcpyKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; dst_ptr: IntPtr; src_ptr: IntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; sync_point: IntPtr; mutable_handle: IntPtr): clErrorCode := + ntv_CommandSVMMemcpyKHR_8(command_buffer, command_queue, dst_ptr, src_ptr, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + + private static function ntv_CommandSVMMemFillKHR_1(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; var sync_point: UInt32; var mutable_handle: cl_mutable_command): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemFillKHR'; + private static function ntv_CommandSVMMemFillKHR_2(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; var sync_point: UInt32; mutable_handle: IntPtr): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemFillKHR'; + private static function ntv_CommandSVMMemFillKHR_3(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; sync_point: IntPtr; var mutable_handle: cl_mutable_command): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemFillKHR'; + private static function ntv_CommandSVMMemFillKHR_4(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; sync_point: IntPtr; mutable_handle: IntPtr): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemFillKHR'; + private static function ntv_CommandSVMMemFillKHR_5(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; var sync_point: UInt32; var mutable_handle: cl_mutable_command): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemFillKHR'; + private static function ntv_CommandSVMMemFillKHR_6(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; var sync_point: UInt32; mutable_handle: IntPtr): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemFillKHR'; + private static function ntv_CommandSVMMemFillKHR_7(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; sync_point: IntPtr; var mutable_handle: cl_mutable_command): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemFillKHR'; + private static function ntv_CommandSVMMemFillKHR_8(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; sync_point: IntPtr; mutable_handle: IntPtr): clErrorCode; + external 'OpenCL' name 'clCommandSVMMemFillKHR'; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemFillKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: array of UInt32; sync_point: array of UInt32; mutable_handle: array of cl_mutable_command): clErrorCode; + type PUInt32 = ^UInt32; + type PCl_mutable_command = ^cl_mutable_command; + begin + Result := if (mutable_handle<>nil) and (mutable_handle.Length<>0) then + if (sync_point_wait_list<>nil) and (sync_point_wait_list.Length<>0) then + if (sync_point<>nil) and (sync_point.Length<>0) then + ntv_CommandSVMMemFillKHR_1(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list[0], sync_point[0], mutable_handle[0]) else + ntv_CommandSVMMemFillKHR_1(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list[0], PUInt32(nil)^, mutable_handle[0]) else + if (sync_point<>nil) and (sync_point.Length<>0) then + ntv_CommandSVMMemFillKHR_1(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, PUInt32(nil)^, sync_point[0], mutable_handle[0]) else + ntv_CommandSVMMemFillKHR_1(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, PUInt32(nil)^, PUInt32(nil)^, mutable_handle[0]) else + if (sync_point_wait_list<>nil) and (sync_point_wait_list.Length<>0) then + if (sync_point<>nil) and (sync_point.Length<>0) then + ntv_CommandSVMMemFillKHR_1(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list[0], sync_point[0], PCl_mutable_command(nil)^) else + ntv_CommandSVMMemFillKHR_1(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list[0], PUInt32(nil)^, PCl_mutable_command(nil)^) else + if (sync_point<>nil) and (sync_point.Length<>0) then + ntv_CommandSVMMemFillKHR_1(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, PUInt32(nil)^, sync_point[0], PCl_mutable_command(nil)^) else + ntv_CommandSVMMemFillKHR_1(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, PUInt32(nil)^, PUInt32(nil)^, PCl_mutable_command(nil)^); + end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemFillKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; var sync_point: UInt32; var mutable_handle: cl_mutable_command): clErrorCode := + ntv_CommandSVMMemFillKHR_1(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemFillKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; var sync_point: UInt32; mutable_handle: IntPtr): clErrorCode := + ntv_CommandSVMMemFillKHR_2(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemFillKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; sync_point: IntPtr; var mutable_handle: cl_mutable_command): clErrorCode := + ntv_CommandSVMMemFillKHR_3(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemFillKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; var sync_point_wait_list: UInt32; sync_point: IntPtr; mutable_handle: IntPtr): clErrorCode := + ntv_CommandSVMMemFillKHR_4(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemFillKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; var sync_point: UInt32; var mutable_handle: cl_mutable_command): clErrorCode := + ntv_CommandSVMMemFillKHR_5(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemFillKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; var sync_point: UInt32; mutable_handle: IntPtr): clErrorCode := + ntv_CommandSVMMemFillKHR_6(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemFillKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; sync_point: IntPtr; var mutable_handle: cl_mutable_command): clErrorCode := + ntv_CommandSVMMemFillKHR_7(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function CommandSVMMemFillKHR(command_buffer: cl_command_buffer; command_queue: cl_command_queue; svm_ptr: IntPtr; pattern: IntPtr; pattern_size: UIntPtr; size: UIntPtr; num_sync_points_in_wait_list: UInt32; sync_point_wait_list: IntPtr; sync_point: IntPtr; mutable_handle: IntPtr): clErrorCode := + ntv_CommandSVMMemFillKHR_8(command_buffer, command_queue, svm_ptr, pattern, pattern_size, size, num_sync_points_in_wait_list, sync_point_wait_list, sync_point, mutable_handle); + private static function ntv_GetCommandBufferInfoKHR_1(command_buffer: cl_command_buffer; param_name: clCommandBufferInfo; param_value_size: UIntPtr; var param_value: Byte; var param_value_size_ret: UIntPtr): clErrorCode; external 'OpenCL' name 'clGetCommandBufferInfoKHR'; private static function ntv_GetCommandBufferInfoKHR_2(command_buffer: cl_command_buffer; param_name: clCommandBufferInfo; param_value_size: UIntPtr; var param_value: Byte; param_value_size_ret: IntPtr): clErrorCode; diff --git a/Packing/Template/LowLvl/OpenCL/Feature.Interface.template b/Packing/Template/LowLvl/OpenCL/Feature.Interface.template index 10df50c4..ffcb7a5a 100644 --- a/Packing/Template/LowLvl/OpenCL/Feature.Interface.template +++ b/Packing/Template/LowLvl/OpenCL/Feature.Interface.template @@ -4761,6 +4761,25 @@ var param_value_sz := new UIntPtr(param_value_count*Marshal.SizeOf&); Result := GetDeviceInfo(device, clDeviceInfo.DEVICE_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES, param_value_sz,param_value,IntPtr.Zero); end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function GetDeviceInfo_DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES(device: cl_device_id; var param_value: array of clExternalMemoryHandleType): clErrorCode; + begin + var param_value_sz: UIntPtr; + Result := ntv_GetDeviceInfo_3(device, clDeviceInfo.DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES, UIntPtr.Zero,nil,param_value_sz); + if Result.IS_ERROR then exit; + if param_value_sz = UIntPtr.Zero then + begin + param_value := nil; + exit; + end; + var param_value_temp_res := new clExternalMemoryHandleType[param_value_sz.ToUInt64 div Marshal.SizeOf&]; + Result := GetDeviceInfo(device, clDeviceInfo.DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES, param_value_sz,param_value_temp_res[0],IntPtr.Zero); + param_value := param_value_temp_res; + end; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function GetDeviceInfo_DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES(device: cl_device_id; param_value_count: UInt32; var param_value: clExternalMemoryHandleType): clErrorCode; + begin + var param_value_sz := new UIntPtr(param_value_count*Marshal.SizeOf&); + Result := GetDeviceInfo(device, clDeviceInfo.DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES, param_value_sz,param_value,IntPtr.Zero); + end; public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function GetDeviceInfo_DEVICE_COMPUTE_CAPABILITY_MAJOR(device: cl_device_id; var param_value: UInt32; param_value_validate_size: boolean := false): clErrorCode; begin var param_value_sz := new UIntPtr(Marshal.SizeOf&); diff --git a/Packing/Template/LowLvl/OpenCL/Log/All EnumToTypeBinding's.log b/Packing/Template/LowLvl/OpenCL/Log/All EnumToTypeBinding's.log index 9d93cdd5..4400d077 100644 --- a/Packing/Template/LowLvl/OpenCL/Log/All EnumToTypeBinding's.log +++ b/Packing/Template/LowLvl/OpenCL/Log/All EnumToTypeBinding's.log @@ -459,6 +459,9 @@ array of clExternalSemaphoreHandleType --- DEVICE_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES !output array of clExternalMemoryHandleType +--- DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES +!output +array of clExternalMemoryHandleType --- DEVICE_COMPUTE_CAPABILITY_MAJOR !output UInt32 diff --git a/Packing/Template/LowLvl/OpenCL/Log/All Extension's.log b/Packing/Template/LowLvl/OpenCL/Log/All Extension's.log index fd9f353d..b10694b7 100644 --- a/Packing/Template/LowLvl/OpenCL/Log/All Extension's.log +++ b/Packing/Template/LowLvl/OpenCL/Log/All Extension's.log @@ -243,7 +243,6 @@ Enum [cl::ME_CHROMA_PREDICTOR_MODE_DC] Enum [cl::ME_VERSION_ADVANCED_VER_1] Enum [cl::ME_CHROMA_INTRA_PREDICT_ENABLED] - Enum [cl::ME_SKIP_BLOCK_TYPE_8x8] Enum [cl::ME_COST_PENALTY_LOW] Enum [cl::ME_COST_PRECISION_HPEL] Enum [cl::ME_LUMA_PREDICTOR_MODE_HORIZONTAL] @@ -261,6 +260,7 @@ Enum [cl::ME_LUMA_PREDICTOR_MODE_DIAGONAL_DOWN_LEFT] Enum [cl::ME_CHROMA_PREDICTOR_MODE_PLANE] Enum [cl::ME_BIDIRECTION_INPUT_MODE] + Enum [cl::ME_SKIP_BLOCK_TYPE_8x8] Enum [cl::ME_LUMA_PREDICTOR_MODE_DIAGONAL_DOWN_RIGHT] Enum [cl::ME_LUMA_PREDICTOR_MODE_PLANE] Enum [cl::ME_LUMA_PREDICTOR_MODE_VERTICAL_RIGHT] @@ -631,6 +631,8 @@ Func [cl::CommandFillBuffer + KHR] Func [cl::CommandFillImage + KHR] Func [cl::CommandNDRangeKernel + KHR] + Func [cl::CommandSVMMemcpy + KHR] + Func [cl::CommandSVMMemFill + KHR] Func [cl::GetCommandBufferInfo + KHR] # clCommandBufferMultiDeviceKHR (cl_khr_command_buffer_multi_device) @@ -784,6 +786,7 @@ Enum [cl::COMMAND_RELEASE_EXTERNAL_MEM_OBJECTS] Enum [cl::DEVICE_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES] Enum [cl::MEM_DEVICE_HANDLE_LIST] + Enum [cl::DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES] Func [cl::EnqueueAcquireExternalMemObjects + KHR] Func [cl::EnqueueReleaseExternalMemObjects + KHR] diff --git a/Packing/Template/LowLvl/OpenCL/Log/All Func's.log b/Packing/Template/LowLvl/OpenCL/Log/All Func's.log index 193cf65e..22d8530d 100644 --- a/Packing/Template/LowLvl/OpenCL/Log/All Func's.log +++ b/Packing/Template/LowLvl/OpenCL/Log/All Func's.log @@ -1551,7 +1551,7 @@ param_value_size: UIntPtr param_value: pointer param_value_size_ret: var UIntPtr / IntPtr !ffo -202 +204 clErrorCode | cl_device_id | clDeviceInfo | UIntPtr | var T | var UIntPtr | clErrorCode | cl_device_id | clDeviceInfo | UIntPtr | var T | IntPtr | clErrorCode | cl_device_id | clDeviceInfo | UIntPtr | pointer | var UIntPtr | @@ -1702,6 +1702,8 @@ param_value_size_ret: var UIntPtr / IntPtr clErrorCode | cl_device_id | clDeviceInfo.DEVICE_SEMAPHORE_EXPORT_HANDLE_TYPES | UInt32 | var clExternalSemaphoreHandleType | * | clErrorCode | cl_device_id | clDeviceInfo.DEVICE_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES | * | var array of clExternalMemoryHandleType | * | clErrorCode | cl_device_id | clDeviceInfo.DEVICE_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES | UInt32 | var clExternalMemoryHandleType | * | + clErrorCode | cl_device_id | clDeviceInfo.DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES | * | var array of clExternalMemoryHandleType | * | + clErrorCode | cl_device_id | clDeviceInfo.DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES | UInt32 | var clExternalMemoryHandleType | * | clErrorCode | cl_device_id | clDeviceInfo.DEVICE_COMPUTE_CAPABILITY_MAJOR | * | var UInt32 | * | clErrorCode | cl_device_id | clDeviceInfo.DEVICE_COMPUTE_CAPABILITY_MINOR | * | var UInt32 | * | clErrorCode | cl_device_id | clDeviceInfo.DEVICE_REGISTERS_PER_BLOCK | * | var UInt32 | * | @@ -4000,6 +4002,59 @@ mutable_handle: var cl_mutable_command / IntPtr ----------- | ----------------- | ---------------- | ------------------------------------------ | --------- | -------- | ------------------ | ----------------- | ----------------- | ---------------------------- | -------------------- | ---------- | ---------------------- | | command_buffer | command_queue | properties | kernel | work_dim | global_work_offset | global_work_size | local_work_size | num_sync_points_in_wait_list | sync_point_wait_list | sync_point | mutable_handle | +# cl::CommandSVMMemcpy + KHR +!ppt +Result: clErrorCode +command_buffer: cl_command_buffer +command_queue: cl_command_queue +dst_ptr: IntPtr +src_ptr: IntPtr const +size: UIntPtr +num_sync_points_in_wait_list: UInt32 +sync_point_wait_list: array of UInt32 const / var UInt32 const / IntPtr const +sync_point: array of UInt32 / var UInt32 / IntPtr +mutable_handle: array of cl_mutable_command / var cl_mutable_command / IntPtr +!ffo +9 + clErrorCode | cl_command_buffer | cl_command_queue | IntPtr | IntPtr const | UIntPtr | UInt32 | array of UInt32 const | array of UInt32 | array of cl_mutable_command | + clErrorCode | cl_command_buffer | cl_command_queue | IntPtr | IntPtr const | UIntPtr | UInt32 | var UInt32 const | var UInt32 | var cl_mutable_command | + clErrorCode | cl_command_buffer | cl_command_queue | IntPtr | IntPtr const | UIntPtr | UInt32 | var UInt32 const | var UInt32 | IntPtr | + clErrorCode | cl_command_buffer | cl_command_queue | IntPtr | IntPtr const | UIntPtr | UInt32 | var UInt32 const | IntPtr | var cl_mutable_command | + clErrorCode | cl_command_buffer | cl_command_queue | IntPtr | IntPtr const | UIntPtr | UInt32 | var UInt32 const | IntPtr | IntPtr | + clErrorCode | cl_command_buffer | cl_command_queue | IntPtr | IntPtr const | UIntPtr | UInt32 | IntPtr const | var UInt32 | var cl_mutable_command | + clErrorCode | cl_command_buffer | cl_command_queue | IntPtr | IntPtr const | UIntPtr | UInt32 | IntPtr const | var UInt32 | IntPtr | + clErrorCode | cl_command_buffer | cl_command_queue | IntPtr | IntPtr const | UIntPtr | UInt32 | IntPtr const | IntPtr | var cl_mutable_command | + clErrorCode | cl_command_buffer | cl_command_queue | IntPtr | IntPtr const | UIntPtr | UInt32 | IntPtr const | IntPtr | IntPtr | + ----------- | ----------------- | ---------------- | ------- | ------------ | ------- | ---------------------------- | --------------------- | --------------- | --------------------------- | + | command_buffer | command_queue | dst_ptr | src_ptr | size | num_sync_points_in_wait_list | sync_point_wait_list | sync_point | mutable_handle | + +# cl::CommandSVMMemFill + KHR +!ppt +Result: clErrorCode +command_buffer: cl_command_buffer +command_queue: cl_command_queue +svm_ptr: IntPtr +pattern: IntPtr const +pattern_size: UIntPtr +size: UIntPtr +num_sync_points_in_wait_list: UInt32 +sync_point_wait_list: array of UInt32 const / var UInt32 const / IntPtr const +sync_point: array of UInt32 / var UInt32 / IntPtr +mutable_handle: array of cl_mutable_command / var cl_mutable_command / IntPtr +!ffo +9 + clErrorCode | cl_command_buffer | cl_command_queue | IntPtr | IntPtr const | UIntPtr | UIntPtr | UInt32 | array of UInt32 const | array of UInt32 | array of cl_mutable_command | + clErrorCode | cl_command_buffer | cl_command_queue | IntPtr | IntPtr const | UIntPtr | UIntPtr | UInt32 | var UInt32 const | var UInt32 | var cl_mutable_command | + clErrorCode | cl_command_buffer | cl_command_queue | IntPtr | IntPtr const | UIntPtr | UIntPtr | UInt32 | var UInt32 const | var UInt32 | IntPtr | + clErrorCode | cl_command_buffer | cl_command_queue | IntPtr | IntPtr const | UIntPtr | UIntPtr | UInt32 | var UInt32 const | IntPtr | var cl_mutable_command | + clErrorCode | cl_command_buffer | cl_command_queue | IntPtr | IntPtr const | UIntPtr | UIntPtr | UInt32 | var UInt32 const | IntPtr | IntPtr | + clErrorCode | cl_command_buffer | cl_command_queue | IntPtr | IntPtr const | UIntPtr | UIntPtr | UInt32 | IntPtr const | var UInt32 | var cl_mutable_command | + clErrorCode | cl_command_buffer | cl_command_queue | IntPtr | IntPtr const | UIntPtr | UIntPtr | UInt32 | IntPtr const | var UInt32 | IntPtr | + clErrorCode | cl_command_buffer | cl_command_queue | IntPtr | IntPtr const | UIntPtr | UIntPtr | UInt32 | IntPtr const | IntPtr | var cl_mutable_command | + clErrorCode | cl_command_buffer | cl_command_queue | IntPtr | IntPtr const | UIntPtr | UIntPtr | UInt32 | IntPtr const | IntPtr | IntPtr | + ----------- | ----------------- | ---------------- | ------- | ------------ | ------------ | ------- | ---------------------------- | --------------------- | --------------- | --------------------------- | + | command_buffer | command_queue | svm_ptr | pattern | pattern_size | size | num_sync_points_in_wait_list | sync_point_wait_list | sync_point | mutable_handle | + # cl::CreateCommandBuffer + KHR !ppt Result: cl_command_buffer diff --git a/Packing/Template/LowLvl/OpenCL/Log/All Group's.log b/Packing/Template/LowLvl/OpenCL/Log/All Group's.log index 418c2536..9bc81000 100644 --- a/Packing/Template/LowLvl/OpenCL/Log/All Group's.log +++ b/Packing/Template/LowLvl/OpenCL/Log/All Group's.log @@ -484,6 +484,7 @@ DEVICE_SEMAPHORE_IMPORT_HANDLE_TYPES[$204D] DEVICE_SEMAPHORE_EXPORT_HANDLE_TYPES[$204E] DEVICE_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES[$204F] + DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES[$2052] DEVICE_COMPUTE_CAPABILITY_MAJOR[$4000] DEVICE_COMPUTE_CAPABILITY_MINOR[$4001] DEVICE_REGISTERS_PER_BLOCK[$4002] diff --git a/Packing/Template/LowLvl/OpenCL/Log/Essentials.log b/Packing/Template/LowLvl/OpenCL/Log/Essentials.log index 3b8dca9e..5ba28e12 100644 --- a/Packing/Template/LowLvl/OpenCL/Log/Essentials.log +++ b/Packing/Template/LowLvl/OpenCL/Log/Essentials.log @@ -107,7 +107,7 @@ Group: Packed 111 items IdClass: Packed 28 items Struct: Packed 17 items Delegate: Packed 7 items -Func: Packed 237 items +Func: Packed 239 items Feature: Packed 1 items Extension: Packed 104 items Cleanup diff --git a/Packing/Template/LowLvl/OpenCL/Types.Interface.template b/Packing/Template/LowLvl/OpenCL/Types.Interface.template index 08da7cab..784d3b6e 100644 --- a/Packing/Template/LowLvl/OpenCL/Types.Interface.template +++ b/Packing/Template/LowLvl/OpenCL/Types.Interface.template @@ -1759,6 +1759,7 @@ public static property DEVICE_SEMAPHORE_IMPORT_HANDLE_TYPES: clDeviceInfo read new clDeviceInfo($204D); public static property DEVICE_SEMAPHORE_EXPORT_HANDLE_TYPES: clDeviceInfo read new clDeviceInfo($204E); public static property DEVICE_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES: clDeviceInfo read new clDeviceInfo($204F); + public static property DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES: clDeviceInfo read new clDeviceInfo($2052); public static property DEVICE_COMPUTE_CAPABILITY_MAJOR: clDeviceInfo read new clDeviceInfo($4000); public static property DEVICE_COMPUTE_CAPABILITY_MINOR: clDeviceInfo read new clDeviceInfo($4001); public static property DEVICE_REGISTERS_PER_BLOCK: clDeviceInfo read new clDeviceInfo($4002); @@ -2090,6 +2091,8 @@ Result := 'DEVICE_SEMAPHORE_EXPORT_HANDLE_TYPES' else if DEVICE_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES = self then Result := 'DEVICE_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES' else + if DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES = self then + Result := 'DEVICE_EXTERNAL_MEMORY_IMPORT_ASSUME_LINEAR_IMAGES_HANDLE_TYPES' else if DEVICE_COMPUTE_CAPABILITY_MAJOR = self then Result := 'DEVICE_COMPUTE_CAPABILITY_MAJOR' else if DEVICE_COMPUTE_CAPABILITY_MINOR = self then diff --git a/Packing/Template/LowLvl/OpenGL/Extension.Interface.template b/Packing/Template/LowLvl/OpenGL/Extension.Interface.template index 05a10f11..9d07be42 100644 --- a/Packing/Template/LowLvl/OpenGL/Extension.Interface.template +++ b/Packing/Template/LowLvl/OpenGL/Extension.Interface.template @@ -32360,8 +32360,8 @@ ntv_GetGPUIDsAMD_2(maxCount, ids); private GetGPUInfoAMD_adr := GetProcAddress('wglGetGPUInfoAMD'); - private ntv_GetGPUInfoAMD_1 := GetProcOrNil&(GetGPUInfoAMD_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGPUInfoAMD(id: UInt32; &property: wglGPUProperty; dataType: DummyEnum; size: UInt32; data: IntPtr): Int32 := + private ntv_GetGPUInfoAMD_1 := GetProcOrNil&(GetGPUInfoAMD_adr); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetGPUInfoAMD(id: UInt32; &property: wglGPUProperty; dataType: glScalarType; size: UInt32; data: IntPtr): Int32 := ntv_GetGPUInfoAMD_1(id, &property, dataType, size, data); private GetContextGPUIDAMD_adr := GetProcAddress('wglGetContextGPUIDAMD'); @@ -32422,8 +32422,8 @@ public const _ExtStr = 'WGL_ARB_buffer_region'; private CreateBufferRegionARB_adr := GetProcAddress('wglCreateBufferRegionARB'); - private ntv_CreateBufferRegionARB_1 := GetProcOrNil&(CreateBufferRegionARB_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateBufferRegionARB(hDC: gdi_device_context; iLayerPlane: Int32; uType: wglWGLColorBufferMask): IntPtr := + private ntv_CreateBufferRegionARB_1 := GetProcOrNil&(CreateBufferRegionARB_adr); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateBufferRegionARB(hDC: gdi_device_context; iLayerPlane: Int32; uType: wglColorBufferMask): IntPtr := ntv_CreateBufferRegionARB_1(hDC, iLayerPlane, uType); private DeleteBufferRegionARB_adr := GetProcAddress('wglDeleteBufferRegionARB'); @@ -32607,27 +32607,27 @@ public const _ExtStr = 'WGL_ARB_pixel_format'; private GetPixelFormatAttribivARB_adr := GetProcAddress('wglGetPixelFormatAttribivARB'); - private ntv_GetPixelFormatAttribivARB_1 := GetProcOrNil&(GetPixelFormatAttribivARB_adr); - private ntv_GetPixelFormatAttribivARB_2 := GetProcOrNil&(GetPixelFormatAttribivARB_adr); + private ntv_GetPixelFormatAttribivARB_1 := GetProcOrNil&(GetPixelFormatAttribivARB_adr); + private ntv_GetPixelFormatAttribivARB_2 := GetProcOrNil&(GetPixelFormatAttribivARB_adr); private ntv_GetPixelFormatAttribivARB_3 := GetProcOrNil&(GetPixelFormatAttribivARB_adr); private ntv_GetPixelFormatAttribivARB_4 := GetProcOrNil&(GetPixelFormatAttribivARB_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of Int32; var piValues: Int32): glBool32; - type PInt32 = ^Int32; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of wglPixelFormatAttribute; var piValues: Int32): glBool32; + type PWglPixelFormatAttribute = ^wglPixelFormatAttribute; begin Result := if (piAttributes<>nil) and (piAttributes.Length<>0) then ntv_GetPixelFormatAttribivARB_1(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes[0], piValues) else - ntv_GetPixelFormatAttribivARB_1(hdc, iPixelFormat, iLayerPlane, nAttributes, PInt32(nil)^, piValues); + ntv_GetPixelFormatAttribivARB_1(hdc, iPixelFormat, iLayerPlane, nAttributes, PWglPixelFormatAttribute(nil)^, piValues); end; - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of Int32; piValues: IntPtr): glBool32; - type PInt32 = ^Int32; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of wglPixelFormatAttribute; piValues: IntPtr): glBool32; + type PWglPixelFormatAttribute = ^wglPixelFormatAttribute; begin Result := if (piAttributes<>nil) and (piAttributes.Length<>0) then ntv_GetPixelFormatAttribivARB_2(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes[0], piValues) else - ntv_GetPixelFormatAttribivARB_2(hdc, iPixelFormat, iLayerPlane, nAttributes, PInt32(nil)^, piValues); + ntv_GetPixelFormatAttribivARB_2(hdc, iPixelFormat, iLayerPlane, nAttributes, PWglPixelFormatAttribute(nil)^, piValues); end; - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; var piValues: Int32): glBool32 := + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: wglPixelFormatAttribute; var piValues: Int32): glBool32 := ntv_GetPixelFormatAttribivARB_1(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; piValues: IntPtr): glBool32 := + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: wglPixelFormatAttribute; piValues: IntPtr): glBool32 := ntv_GetPixelFormatAttribivARB_2(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: IntPtr; var piValues: Int32): glBool32 := ntv_GetPixelFormatAttribivARB_3(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); @@ -32635,27 +32635,27 @@ ntv_GetPixelFormatAttribivARB_4(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); private GetPixelFormatAttribfvARB_adr := GetProcAddress('wglGetPixelFormatAttribfvARB'); - private ntv_GetPixelFormatAttribfvARB_1 := GetProcOrNil&(GetPixelFormatAttribfvARB_adr); - private ntv_GetPixelFormatAttribfvARB_2 := GetProcOrNil&(GetPixelFormatAttribfvARB_adr); + private ntv_GetPixelFormatAttribfvARB_1 := GetProcOrNil&(GetPixelFormatAttribfvARB_adr); + private ntv_GetPixelFormatAttribfvARB_2 := GetProcOrNil&(GetPixelFormatAttribfvARB_adr); private ntv_GetPixelFormatAttribfvARB_3 := GetProcOrNil&(GetPixelFormatAttribfvARB_adr); private ntv_GetPixelFormatAttribfvARB_4 := GetProcOrNil&(GetPixelFormatAttribfvARB_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of Int32; var pfValues: single): glBool32; - type PInt32 = ^Int32; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of wglPixelFormatAttribute; var pfValues: single): glBool32; + type PWglPixelFormatAttribute = ^wglPixelFormatAttribute; begin Result := if (piAttributes<>nil) and (piAttributes.Length<>0) then ntv_GetPixelFormatAttribfvARB_1(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes[0], pfValues) else - ntv_GetPixelFormatAttribfvARB_1(hdc, iPixelFormat, iLayerPlane, nAttributes, PInt32(nil)^, pfValues); + ntv_GetPixelFormatAttribfvARB_1(hdc, iPixelFormat, iLayerPlane, nAttributes, PWglPixelFormatAttribute(nil)^, pfValues); end; - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of Int32; pfValues: IntPtr): glBool32; - type PInt32 = ^Int32; + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: array of wglPixelFormatAttribute; pfValues: IntPtr): glBool32; + type PWglPixelFormatAttribute = ^wglPixelFormatAttribute; begin Result := if (piAttributes<>nil) and (piAttributes.Length<>0) then ntv_GetPixelFormatAttribfvARB_2(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes[0], pfValues) else - ntv_GetPixelFormatAttribfvARB_2(hdc, iPixelFormat, iLayerPlane, nAttributes, PInt32(nil)^, pfValues); + ntv_GetPixelFormatAttribfvARB_2(hdc, iPixelFormat, iLayerPlane, nAttributes, PWglPixelFormatAttribute(nil)^, pfValues); end; - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; var pfValues: single): glBool32 := + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: wglPixelFormatAttribute; var pfValues: single): glBool32 := ntv_GetPixelFormatAttribfvARB_1(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; pfValues: IntPtr): glBool32 := + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: wglPixelFormatAttribute; pfValues: IntPtr): glBool32 := ntv_GetPixelFormatAttribfvARB_2(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues); public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvARB(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: IntPtr; var pfValues: single): glBool32 := ntv_GetPixelFormatAttribfvARB_3(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues); @@ -32992,13 +32992,13 @@ public const _ExtStr = 'WGL_EXT_pixel_format'; private GetPixelFormatAttribivEXT_adr := GetProcAddress('wglGetPixelFormatAttribivEXT'); - private ntv_GetPixelFormatAttribivEXT_1 := GetProcOrNil&(GetPixelFormatAttribivEXT_adr); - private ntv_GetPixelFormatAttribivEXT_2 := GetProcOrNil&(GetPixelFormatAttribivEXT_adr); + private ntv_GetPixelFormatAttribivEXT_1 := GetProcOrNil&(GetPixelFormatAttribivEXT_adr); + private ntv_GetPixelFormatAttribivEXT_2 := GetProcOrNil&(GetPixelFormatAttribivEXT_adr); private ntv_GetPixelFormatAttribivEXT_3 := GetProcOrNil&(GetPixelFormatAttribivEXT_adr); private ntv_GetPixelFormatAttribivEXT_4 := GetProcOrNil&(GetPixelFormatAttribivEXT_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; var piValues: Int32): glBool32 := + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: wglPixelFormatAttribute; var piValues: Int32): glBool32 := ntv_GetPixelFormatAttribivEXT_1(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; piValues: IntPtr): glBool32 := + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: wglPixelFormatAttribute; piValues: IntPtr): glBool32 := ntv_GetPixelFormatAttribivEXT_2(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribivEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: IntPtr; var piValues: Int32): glBool32 := ntv_GetPixelFormatAttribivEXT_3(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); @@ -33006,13 +33006,13 @@ ntv_GetPixelFormatAttribivEXT_4(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues); private GetPixelFormatAttribfvEXT_adr := GetProcAddress('wglGetPixelFormatAttribfvEXT'); - private ntv_GetPixelFormatAttribfvEXT_1 := GetProcOrNil&(GetPixelFormatAttribfvEXT_adr); - private ntv_GetPixelFormatAttribfvEXT_2 := GetProcOrNil&(GetPixelFormatAttribfvEXT_adr); + private ntv_GetPixelFormatAttribfvEXT_1 := GetProcOrNil&(GetPixelFormatAttribfvEXT_adr); + private ntv_GetPixelFormatAttribfvEXT_2 := GetProcOrNil&(GetPixelFormatAttribfvEXT_adr); private ntv_GetPixelFormatAttribfvEXT_3 := GetProcOrNil&(GetPixelFormatAttribfvEXT_adr); private ntv_GetPixelFormatAttribfvEXT_4 := GetProcOrNil&(GetPixelFormatAttribfvEXT_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; var pfValues: single): glBool32 := + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: wglPixelFormatAttribute; var pfValues: single): glBool32 := ntv_GetPixelFormatAttribfvEXT_1(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: Int32; pfValues: IntPtr): glBool32 := + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; var piAttributes: wglPixelFormatAttribute; pfValues: IntPtr): glBool32 := ntv_GetPixelFormatAttribfvEXT_2(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues); public [MethodImpl(MethodImplOptions.AggressiveInlining)] function GetPixelFormatAttribfvEXT(hdc: gdi_device_context; iPixelFormat: Int32; iLayerPlane: Int32; nAttributes: UInt32; piAttributes: IntPtr; var pfValues: single): glBool32 := ntv_GetPixelFormatAttribfvEXT_3(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues); @@ -33406,8 +33406,8 @@ public const _ExtStr = 'WGL_I3D_image_buffer'; private CreateImageBufferI3D_adr := GetProcAddress('wglCreateImageBufferI3D'); - private ntv_CreateImageBufferI3D_1 := GetProcOrNil&(CreateImageBufferI3D_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateImageBufferI3D(hDC: gdi_device_context; dwSize: UInt32; uFlags: wglWGLImageBufferMask): IntPtr := + private ntv_CreateImageBufferI3D_1 := GetProcOrNil&(CreateImageBufferI3D_adr); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function CreateImageBufferI3D(hDC: gdi_device_context; dwSize: UInt32; uFlags: wglImageBufferMask): IntPtr := ntv_CreateImageBufferI3D_1(hDC, dwSize, uFlags); private DestroyImageBufferI3D_adr := GetProcAddress('wglDestroyImageBufferI3D'); @@ -33666,8 +33666,8 @@ ntv_DXCloseDeviceNV_1(hDevice); private DXRegisterObjectNV_adr := GetProcAddress('wglDXRegisterObjectNV'); - private ntv_DXRegisterObjectNV_1 := GetProcOrNil&(DXRegisterObjectNV_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DXRegisterObjectNV(hDevice: IntPtr; dxObject: IntPtr; name: UInt32; &type: wglObjectTypeDX; access: wglWGLDXInteropMask): IntPtr := + private ntv_DXRegisterObjectNV_1 := GetProcOrNil&(DXRegisterObjectNV_adr); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DXRegisterObjectNV(hDevice: IntPtr; dxObject: IntPtr; name: UInt32; &type: wglObjectTypeDX; access: wglDXInteropMask): IntPtr := ntv_DXRegisterObjectNV_1(hDevice, dxObject, name, &type, access); private DXUnregisterObjectNV_adr := GetProcAddress('wglDXUnregisterObjectNV'); @@ -33676,8 +33676,8 @@ ntv_DXUnregisterObjectNV_1(hDevice, hObject); private DXObjectAccessNV_adr := GetProcAddress('wglDXObjectAccessNV'); - private ntv_DXObjectAccessNV_1 := GetProcOrNil&(DXObjectAccessNV_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DXObjectAccessNV(hObject: IntPtr; access: wglWGLDXInteropMask): glBool32 := + private ntv_DXObjectAccessNV_1 := GetProcOrNil&(DXObjectAccessNV_adr); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function DXObjectAccessNV(hObject: IntPtr; access: wglDXInteropMask): glBool32 := ntv_DXObjectAccessNV_1(hObject, access); private DXLockObjectsNV_adr := GetProcAddress('wglDXLockObjectsNV'); @@ -34167,8 +34167,8 @@ ntv_SwapBuffersMscOML_1(hdc, target_msc, divisor, remainder); private SwapLayerBuffersMscOML_adr := GetProcAddress('wglSwapLayerBuffersMscOML'); - private ntv_SwapLayerBuffersMscOML_1 := GetProcOrNil&(SwapLayerBuffersMscOML_adr); - public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SwapLayerBuffersMscOML(hdc: gdi_device_context; fuPlanes: wglWGLLayerPlaneMask; target_msc: Int64; divisor: Int64; remainder: Int64): Int64 := + private ntv_SwapLayerBuffersMscOML_1 := GetProcOrNil&(SwapLayerBuffersMscOML_adr); + public [MethodImpl(MethodImplOptions.AggressiveInlining)] function SwapLayerBuffersMscOML(hdc: gdi_device_context; fuPlanes: wglLayerPlaneMask; target_msc: Int64; divisor: Int64; remainder: Int64): Int64 := ntv_SwapLayerBuffersMscOML_1(hdc, fuPlanes, target_msc, divisor, remainder); private WaitForMscOML_adr := GetProcAddress('wglWaitForMscOML'); diff --git a/Packing/Template/LowLvl/OpenGL/Feature.Interface.template b/Packing/Template/LowLvl/OpenGL/Feature.Interface.template index 3c8e8b53..82acff09 100644 --- a/Packing/Template/LowLvl/OpenGL/Feature.Interface.template +++ b/Packing/Template/LowLvl/OpenGL/Feature.Interface.template @@ -12260,9 +12260,9 @@ ntv_ShareLists_1(hrcSrvShare, hrcSrvSource); // added in wgl1.0 - private static function ntv_SwapLayerBuffers_1(hdc: gdi_device_context; fuFlags: wglWGLLayerPlaneMask): glBool32; + private static function ntv_SwapLayerBuffers_1(hdc: gdi_device_context; fuFlags: wglLayerPlaneMask): glBool32; external 'opengl32.dll' name 'wglSwapLayerBuffers'; - public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function SwapLayerBuffers(hdc: gdi_device_context; fuFlags: wglWGLLayerPlaneMask): glBool32 := + public [MethodImpl(MethodImplOptions.AggressiveInlining)] static function SwapLayerBuffers(hdc: gdi_device_context; fuFlags: wglLayerPlaneMask): glBool32 := ntv_SwapLayerBuffers_1(hdc, fuFlags); // added in wgl1.0 diff --git a/Packing/Template/LowLvl/OpenGL/Log/All Extension's.log b/Packing/Template/LowLvl/OpenGL/Log/All Extension's.log index 37ba890c..b4d6e47c 100644 --- a/Packing/Template/LowLvl/OpenGL/Log/All Extension's.log +++ b/Packing/Template/LowLvl/OpenGL/Log/All Extension's.log @@ -12248,6 +12248,8 @@ # gles2RenderSharedExponentQCOM (GL_QCOM_render_shared_exponent) +# gles2RenderSRGBR8RG8QCOM (GL_QCOM_render_sRGB_R8_RG8) + # gles2ShaderFramebufferFetchNoncoherentQCOM (GL_QCOM_shader_framebuffer_fetch_noncoherent) Enum [gl::FRAMEBUFFER_FETCH_NONCOHERENT] Func [gl::FramebufferFetchBarrier + QCOM] @@ -12282,6 +12284,9 @@ # gles2TextureFoveated2QCOM (GL_QCOM_texture_foveated2) Enum [gl::TEXTURE_FOVEATED_CUTOFF_DENSITY] +# gles2TextureLodBiasQCOM (GL_QCOM_texture_lod_bias) + Enum [gl::TEXTURE_LOD_BIAS + QCOM] + # gles2TiledRenderingQCOM (GL_QCOM_tiled_rendering) Enum [gl::COLOR_BUFFER_BIT0] Enum [gl::COLOR_BUFFER_BIT1] diff --git a/Packing/Template/LowLvl/OpenGL/Log/All Func's.log b/Packing/Template/LowLvl/OpenGL/Log/All Func's.log index bd653daf..0e7b029e 100644 --- a/Packing/Template/LowLvl/OpenGL/Log/All Func's.log +++ b/Packing/Template/LowLvl/OpenGL/Log/All Func's.log @@ -42532,12 +42532,12 @@ hrcSrvSource: gdi_rendering_context !ppt Result: glBool32 hdc: gdi_device_context -fuFlags: wglWGLLayerPlaneMask +fuFlags: wglLayerPlaneMask !ffo 1 - glBool32 | gdi_device_context | wglWGLLayerPlaneMask | - -------- | ------------------ | -------------------- | - | hdc | fuFlags | + glBool32 | gdi_device_context | wglLayerPlaneMask | + -------- | ------------------ | ----------------- | + | hdc | fuFlags | # wgl::UseFontBitmaps !ppt @@ -42733,14 +42733,14 @@ ids: var UInt32 / IntPtr Result: Int32 id: UInt32 property: wglGPUProperty -dataType: DummyEnum +dataType: glScalarType size: UInt32 data: IntPtr !ffo 1 - Int32 | UInt32 | wglGPUProperty | DummyEnum | UInt32 | IntPtr | - ----- | ------ | -------------- | --------- | ------ | ------ | - | id | property | dataType | size | data | + Int32 | UInt32 | wglGPUProperty | glScalarType | UInt32 | IntPtr | + ----- | ------ | -------------- | ------------ | ------ | ------ | + | id | property | dataType | size | data | # wgl::MakeAssociatedContextCurrent + AMD !ppt @@ -42799,12 +42799,12 @@ nNumFormats: array of UInt32 / var UInt32 / IntPtr Result: IntPtr hDC: gdi_device_context iLayerPlane: Int32 -uType: wglWGLColorBufferMask +uType: wglColorBufferMask !ffo 1 - IntPtr | gdi_device_context | Int32 | wglWGLColorBufferMask | - ------ | ------------------ | ----------- | --------------------- | - | hDC | iLayerPlane | uType | + IntPtr | gdi_device_context | Int32 | wglColorBufferMask | + ------ | ------------------ | ----------- | ------------------ | + | hDC | iLayerPlane | uType | # wgl::CreateContextAttribs + ARB !ppt @@ -42889,18 +42889,18 @@ hdc: gdi_device_context iPixelFormat: Int32 iLayerPlane: Int32 nAttributes: UInt32 -piAttributes: array of Int32 const / var Int32 const / IntPtr const +piAttributes: array of wglPixelFormatAttribute const / var wglPixelFormatAttribute const / IntPtr const pfValues: var single / IntPtr !ffo 6 - glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | array of Int32 const | var single | - glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | array of Int32 const | IntPtr | - glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | var Int32 const | var single | - glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | var Int32 const | IntPtr | - glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | IntPtr const | var single | - glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | IntPtr const | IntPtr | - -------- | ------------------ | ------------ | ----------- | ----------- | -------------------- | ---------- | - | hdc | iPixelFormat | iLayerPlane | nAttributes | piAttributes | pfValues | + glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | array of wglPixelFormatAttribute const | var single | + glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | array of wglPixelFormatAttribute const | IntPtr | + glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | var wglPixelFormatAttribute const | var single | + glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | var wglPixelFormatAttribute const | IntPtr | + glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | IntPtr const | var single | + glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | IntPtr const | IntPtr | + -------- | ------------------ | ------------ | ----------- | ----------- | -------------------------------------- | ---------- | + | hdc | iPixelFormat | iLayerPlane | nAttributes | piAttributes | pfValues | # wgl::GetPixelFormatAttribiv + ARB !ppt @@ -42909,18 +42909,18 @@ hdc: gdi_device_context iPixelFormat: Int32 iLayerPlane: Int32 nAttributes: UInt32 -piAttributes: array of Int32 const / var Int32 const / IntPtr const +piAttributes: array of wglPixelFormatAttribute const / var wglPixelFormatAttribute const / IntPtr const piValues: var Int32 / IntPtr !ffo 6 - glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | array of Int32 const | var Int32 | - glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | array of Int32 const | IntPtr | - glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | var Int32 const | var Int32 | - glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | var Int32 const | IntPtr | - glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | IntPtr const | var Int32 | - glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | IntPtr const | IntPtr | - -------- | ------------------ | ------------ | ----------- | ----------- | -------------------- | --------- | - | hdc | iPixelFormat | iLayerPlane | nAttributes | piAttributes | piValues | + glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | array of wglPixelFormatAttribute const | var Int32 | + glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | array of wglPixelFormatAttribute const | IntPtr | + glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | var wglPixelFormatAttribute const | var Int32 | + glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | var wglPixelFormatAttribute const | IntPtr | + glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | IntPtr const | var Int32 | + glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | IntPtr const | IntPtr | + -------- | ------------------ | ------------ | ----------- | ----------- | -------------------------------------- | --------- | + | hdc | iPixelFormat | iLayerPlane | nAttributes | piAttributes | piValues | # wgl::MakeContextCurrent + ARB !ppt @@ -43130,16 +43130,16 @@ hdc: gdi_device_context iPixelFormat: Int32 iLayerPlane: Int32 nAttributes: UInt32 -piAttributes: var Int32 / IntPtr +piAttributes: var wglPixelFormatAttribute / IntPtr pfValues: var single / IntPtr !ffo 4 - glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | var Int32 | var single | - glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | var Int32 | IntPtr | - glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | IntPtr | var single | - glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | IntPtr | IntPtr | - -------- | ------------------ | ------------ | ----------- | ----------- | ------------ | ---------- | - | hdc | iPixelFormat | iLayerPlane | nAttributes | piAttributes | pfValues | + glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | var wglPixelFormatAttribute | var single | + glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | var wglPixelFormatAttribute | IntPtr | + glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | IntPtr | var single | + glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | IntPtr | IntPtr | + -------- | ------------------ | ------------ | ----------- | ----------- | --------------------------- | ---------- | + | hdc | iPixelFormat | iLayerPlane | nAttributes | piAttributes | pfValues | # wgl::GetPixelFormatAttribiv + EXT !ppt @@ -43148,16 +43148,16 @@ hdc: gdi_device_context iPixelFormat: Int32 iLayerPlane: Int32 nAttributes: UInt32 -piAttributes: var Int32 / IntPtr +piAttributes: var wglPixelFormatAttribute / IntPtr piValues: var Int32 / IntPtr !ffo 4 - glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | var Int32 | var Int32 | - glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | var Int32 | IntPtr | - glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | IntPtr | var Int32 | - glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | IntPtr | IntPtr | - -------- | ------------------ | ------------ | ----------- | ----------- | ------------ | --------- | - | hdc | iPixelFormat | iLayerPlane | nAttributes | piAttributes | piValues | + glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | var wglPixelFormatAttribute | var Int32 | + glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | var wglPixelFormatAttribute | IntPtr | + glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | IntPtr | var Int32 | + glBool32 | gdi_device_context | Int32 | Int32 | UInt32 | IntPtr | IntPtr | + -------- | ------------------ | ------------ | ----------- | ----------- | --------------------------- | --------- | + | hdc | iPixelFormat | iLayerPlane | nAttributes | piAttributes | piValues | # wgl::GetSwapInterval + EXT !ppt @@ -43260,12 +43260,12 @@ Result: glBool32 Result: IntPtr hDC: gdi_device_context dwSize: UInt32 -uFlags: wglWGLImageBufferMask +uFlags: wglImageBufferMask !ffo 1 - IntPtr | gdi_device_context | UInt32 | wglWGLImageBufferMask | - ------ | ------------------ | ------ | --------------------- | - | hDC | dwSize | uFlags | + IntPtr | gdi_device_context | UInt32 | wglImageBufferMask | + ------ | ------------------ | ------ | ------------------ | + | hDC | dwSize | uFlags | # wgl::DestroyImageBuffer + I3D !ppt @@ -43755,12 +43755,12 @@ hObjects: array of IntPtr / var IntPtr / pointer !ppt Result: glBool32 hObject: IntPtr -access: wglWGLDXInteropMask +access: wglDXInteropMask !ffo 1 - glBool32 | IntPtr | wglWGLDXInteropMask | - -------- | ------- | ------------------- | - | hObject | access | + glBool32 | IntPtr | wglDXInteropMask | + -------- | ------- | ---------------- | + | hObject | access | # wgl::DXOpenDevice + NV !ppt @@ -43779,12 +43779,12 @@ hDevice: IntPtr dxObject: IntPtr name: UInt32 type: wglObjectTypeDX -access: wglWGLDXInteropMask +access: wglDXInteropMask !ffo 1 - IntPtr | IntPtr | IntPtr | UInt32 | wglObjectTypeDX | wglWGLDXInteropMask | - ------ | ------- | -------- | ------ | --------------- | ------------------- | - | hDevice | dxObject | name | type | access | + IntPtr | IntPtr | IntPtr | UInt32 | wglObjectTypeDX | wglDXInteropMask | + ------ | ------- | -------- | ------ | --------------- | ---------------- | + | hDevice | dxObject | name | type | access | # wgl::DXSetResourceShareHandle + NV !ppt @@ -44130,15 +44130,15 @@ remainder: Int64 !ppt Result: Int64 hdc: gdi_device_context -fuPlanes: wglWGLLayerPlaneMask +fuPlanes: wglLayerPlaneMask target_msc: Int64 divisor: Int64 remainder: Int64 !ffo 1 - Int64 | gdi_device_context | wglWGLLayerPlaneMask | Int64 | Int64 | Int64 | - ----- | ------------------ | -------------------- | ---------- | ------- | --------- | - | hdc | fuPlanes | target_msc | divisor | remainder | + Int64 | gdi_device_context | wglLayerPlaneMask | Int64 | Int64 | Int64 | + ----- | ------------------ | ----------------- | ---------- | ------- | --------- | + | hdc | fuPlanes | target_msc | divisor | remainder | # wgl::WaitForMsc + OML !ppt diff --git a/Packing/Template/LowLvl/OpenGL/Log/All Group's.log b/Packing/Template/LowLvl/OpenGL/Log/All Group's.log index fdb9ec07..3b058136 100644 --- a/Packing/Template/LowLvl/OpenGL/Log/All Group's.log +++ b/Packing/Template/LowLvl/OpenGL/Log/All Group's.log @@ -3391,9 +3391,14 @@ TEXTURE_UNNORMALIZED_COORDINATES[$8F6A] # glScalarType (gl::ScalarType) : UInt32 + BYTE[$1400] UNSIGNED_BYTE[$1401] + SHORT[$1402] UNSIGNED_SHORT[$1403] + INT[$1404] UNSIGNED_INT[$1405] + FLOAT[$1406] + DOUBLE[$140A] # glSecondaryColorPointerType (gl::SecondaryColorPointerType) : UInt32 SHORT[$1402] @@ -4044,7 +4049,6 @@ TEXTURE31[$84DF] # glTextureWrapMode (gl::TextureWrapMode) : UInt32 - LINEAR_MIPMAP_LINEAR[$2703] CLAMP[$2900] REPEAT[$2901] CLAMP_TO_BORDER[$812D] @@ -4473,16 +4477,39 @@ AUX8[$208F] AUX9[$2090] +# wglColorBufferMask (wgl::ColorBufferMask) : UInt32 (Bitfield) + FRONT_COLOR_BUFFER_BIT[1 shl 0] + BACK_COLOR_BUFFER_BIT[1 shl 1] + DEPTH_BUFFER_BIT[1 shl 2] + STENCIL_BUFFER_BIT[1 shl 3] + # wglContextAttribute (wgl::ContextAttribute) : Int32 NUM_VIDEO_CAPTURE_SLOTS[$20CF] NUM_VIDEO_SLOTS[$20F0] +# wglContextFlagsMask (wgl::ContextFlagsMask) : (Bitfield) + CONTEXT_DEBUG_BIT[1 shl 0] + CONTEXT_FORWARD_COMPATIBLE_BIT[1 shl 1] + CONTEXT_ROBUST_ACCESS_BIT[1 shl 2] + CONTEXT_RESET_ISOLATION_BIT[1 shl 3] + +# wglContextProfileMask (wgl::ContextProfileMask) : (Bitfield) + CONTEXT_CORE_PROFILE_BIT[1 shl 0] + CONTEXT_COMPATIBILITY_PROFILE_BIT[1 shl 1] + CONTEXT_ES_PROFILE_BIT[1 shl 2] + CONTEXT_ES2_PROFILE_BIT[1 shl 2] + # wglDigitalVideoAttribute (wgl::DigitalVideoAttribute) : Int32 DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER[$2050] DIGITAL_VIDEO_CURSOR_ALPHA_VALUE[$2051] DIGITAL_VIDEO_CURSOR_INCLUDED[$2052] DIGITAL_VIDEO_GAMMA_CORRECTED[$2053] +# wglDXInteropMask (wgl::DXInteropMask) : UInt32 (Bitfield) + ACCESS_READ_ONLY[0] + ACCESS_READ_WRITE[1 shl 0] + ACCESS_WRITE_DISCARD[1 shl 1] + # wglFontFormat (wgl::FontFormat) : Int32 FONT_LINES[0] FONT_POLYGONS[$0001] @@ -4502,6 +4529,43 @@ GPU_NUM_RB[$21A7] GPU_NUM_SPI[$21A8] +# wglImageBufferMask (wgl::ImageBufferMask) : UInt32 (Bitfield) + IMAGE_BUFFER_MIN_ACCESS[1 shl 0] + IMAGE_BUFFER_LOCK[1 shl 1] + +# wglLayerPlaneMask (wgl::LayerPlaneMask) : Int32 (Bitfield) + SWAP_MAIN_PLANE[1 shl 0] + SWAP_OVERLAY1[1 shl 1] + SWAP_OVERLAY2[1 shl 2] + SWAP_OVERLAY3[1 shl 3] + SWAP_OVERLAY4[1 shl 4] + SWAP_OVERLAY5[1 shl 5] + SWAP_OVERLAY6[1 shl 6] + SWAP_OVERLAY7[1 shl 7] + SWAP_OVERLAY8[1 shl 8] + SWAP_OVERLAY9[1 shl 9] + SWAP_OVERLAY10[1 shl 10] + SWAP_OVERLAY11[1 shl 11] + SWAP_OVERLAY12[1 shl 12] + SWAP_OVERLAY13[1 shl 13] + SWAP_OVERLAY14[1 shl 14] + SWAP_OVERLAY15[1 shl 15] + SWAP_UNDERLAY1[1 shl 16] + SWAP_UNDERLAY2[1 shl 17] + SWAP_UNDERLAY3[1 shl 18] + SWAP_UNDERLAY4[1 shl 19] + SWAP_UNDERLAY5[1 shl 20] + SWAP_UNDERLAY6[1 shl 21] + SWAP_UNDERLAY7[1 shl 22] + SWAP_UNDERLAY8[1 shl 23] + SWAP_UNDERLAY9[1 shl 24] + SWAP_UNDERLAY10[1 shl 25] + SWAP_UNDERLAY11[1 shl 26] + SWAP_UNDERLAY12[1 shl 27] + SWAP_UNDERLAY13[1 shl 28] + SWAP_UNDERLAY14[1 shl 29] + SWAP_UNDERLAY15[1 shl 30] + # wglObjectTypeDX (wgl::ObjectTypeDX) : UInt32 gl::NONE[0] gl::TEXTURE_2D[$0DE1] @@ -4539,7 +4603,7 @@ TEXTURE_1D[$2079] TEXTURE_2D[$207A] -# wglPixelFormatAttribute (wgl::PixelFormatAttribute) : +# wglPixelFormatAttribute (wgl::PixelFormatAttribute) : Int32 NUMBER_PIXEL_FORMATS[$2000] DRAW_TO_WINDOW[$2001] DRAW_TO_BITMAP[$2002] @@ -4615,64 +4679,4 @@ VIDEO_OUT_STACKED_FIELDS_1_2[$20CB] VIDEO_OUT_STACKED_FIELDS_2_1[$20CC] -# wglWGLColorBufferMask (wgl::WGLColorBufferMask) : UInt32 (Bitfield) - FRONT_COLOR_BUFFER_BIT[1 shl 0] - BACK_COLOR_BUFFER_BIT[1 shl 1] - DEPTH_BUFFER_BIT[1 shl 2] - STENCIL_BUFFER_BIT[1 shl 3] - -# wglWGLContextFlagsMask (wgl::WGLContextFlagsMask) : (Bitfield) - CONTEXT_DEBUG_BIT[1 shl 0] - CONTEXT_FORWARD_COMPATIBLE_BIT[1 shl 1] - CONTEXT_ROBUST_ACCESS_BIT[1 shl 2] - CONTEXT_RESET_ISOLATION_BIT[1 shl 3] - -# wglWGLContextProfileMask (wgl::WGLContextProfileMask) : (Bitfield) - CONTEXT_CORE_PROFILE_BIT[1 shl 0] - CONTEXT_COMPATIBILITY_PROFILE_BIT[1 shl 1] - CONTEXT_ES_PROFILE_BIT[1 shl 2] - CONTEXT_ES2_PROFILE_BIT[1 shl 2] - -# wglWGLDXInteropMask (wgl::WGLDXInteropMask) : UInt32 (Bitfield) - ACCESS_READ_ONLY[0] - ACCESS_READ_WRITE[1 shl 0] - ACCESS_WRITE_DISCARD[1 shl 1] - -# wglWGLImageBufferMask (wgl::WGLImageBufferMask) : UInt32 (Bitfield) - IMAGE_BUFFER_MIN_ACCESS[1 shl 0] - IMAGE_BUFFER_LOCK[1 shl 1] - -# wglWGLLayerPlaneMask (wgl::WGLLayerPlaneMask) : Int32 (Bitfield) - SWAP_MAIN_PLANE[1 shl 0] - SWAP_OVERLAY1[1 shl 1] - SWAP_OVERLAY2[1 shl 2] - SWAP_OVERLAY3[1 shl 3] - SWAP_OVERLAY4[1 shl 4] - SWAP_OVERLAY5[1 shl 5] - SWAP_OVERLAY6[1 shl 6] - SWAP_OVERLAY7[1 shl 7] - SWAP_OVERLAY8[1 shl 8] - SWAP_OVERLAY9[1 shl 9] - SWAP_OVERLAY10[1 shl 10] - SWAP_OVERLAY11[1 shl 11] - SWAP_OVERLAY12[1 shl 12] - SWAP_OVERLAY13[1 shl 13] - SWAP_OVERLAY14[1 shl 14] - SWAP_OVERLAY15[1 shl 15] - SWAP_UNDERLAY1[1 shl 16] - SWAP_UNDERLAY2[1 shl 17] - SWAP_UNDERLAY3[1 shl 18] - SWAP_UNDERLAY4[1 shl 19] - SWAP_UNDERLAY5[1 shl 20] - SWAP_UNDERLAY6[1 shl 21] - SWAP_UNDERLAY7[1 shl 22] - SWAP_UNDERLAY8[1 shl 23] - SWAP_UNDERLAY9[1 shl 24] - SWAP_UNDERLAY10[1 shl 25] - SWAP_UNDERLAY11[1 shl 26] - SWAP_UNDERLAY12[1 shl 27] - SWAP_UNDERLAY13[1 shl 28] - SWAP_UNDERLAY14[1 shl 29] - SWAP_UNDERLAY15[1 shl 30] - diff --git a/Packing/Template/LowLvl/OpenGL/Log/Essentials.log b/Packing/Template/LowLvl/OpenGL/Log/Essentials.log index 7df834ae..4bd25bb8 100644 --- a/Packing/Template/LowLvl/OpenGL/Log/Essentials.log +++ b/Packing/Template/LowLvl/OpenGL/Log/Essentials.log @@ -93,7 +93,7 @@ Dumping IdClass items Dumping Struct items Dumping Delegate items PascalBasicType: Packed 17 items -Group: Packed 313 items +Group: Packed 314 items IdClass: Packed 51 items Struct: Packed 4 items Delegate: Packed 4 items diff --git a/Packing/Template/LowLvl/OpenGL/Log/Unused.log b/Packing/Template/LowLvl/OpenGL/Log/Unused.log index b2459919..e43dd779 100644 --- a/Packing/Template/LowLvl/OpenGL/Log/Unused.log +++ b/Packing/Template/LowLvl/OpenGL/Log/Unused.log @@ -1743,6 +1743,7 @@ Enum [gl::RESAMPLE_ZERO_FILL + OML] was not grouped Enum [gl::TEXTURE_DEPTH + QCOM] was not grouped Enum [gl::TEXTURE_HEIGHT + QCOM] was not grouped Enum [gl::TEXTURE_INTERNAL_FORMAT + QCOM] was not grouped +Enum [gl::TEXTURE_LOD_BIAS + QCOM] was not grouped Enum [gl::TEXTURE_TARGET + QCOM] was not grouped Enum [gl::TEXTURE_WIDTH + QCOM] was not grouped Enum [gl::RGB + S3TC] was not grouped @@ -2088,12 +2089,11 @@ LoadedBasicType [Screen] was not referenced LoadedBasicType [XID] was not referenced Group [gl::TraceMask] was not referenced Group [wgl::AccelerationType] was not referenced +Group [wgl::ContextFlagsMask] was not referenced +Group [wgl::ContextProfileMask] was not referenced Group [wgl::PBufferCubeMapFace] was not referenced Group [wgl::PBufferTextureFormat] was not referenced Group [wgl::PBufferTextureTarget] was not referenced -Group [wgl::PixelFormatAttribute] was not referenced Group [wgl::PixelType] was not referenced Group [wgl::SwapMethod] was not referenced -Group [wgl::WGLContextFlagsMask] was not referenced -Group [wgl::WGLContextProfileMask] was not referenced Func [wgl::GetDefaultProcAddress] was not referenced diff --git a/Packing/Template/LowLvl/OpenGL/Types.Interface.template b/Packing/Template/LowLvl/OpenGL/Types.Interface.template index ba4e6567..812378e2 100644 --- a/Packing/Template/LowLvl/OpenGL/Types.Interface.template +++ b/Packing/Template/LowLvl/OpenGL/Types.Interface.template @@ -21572,18 +21572,33 @@ public val: UInt32; public constructor(val: UInt32) := self.val := val; + public static property BYTE: glScalarType read new glScalarType($1400); public static property UNSIGNED_BYTE: glScalarType read new glScalarType($1401); + public static property SHORT: glScalarType read new glScalarType($1402); public static property UNSIGNED_SHORT: glScalarType read new glScalarType($1403); + public static property INT: glScalarType read new glScalarType($1404); public static property UNSIGNED_INT: glScalarType read new glScalarType($1405); + public static property FLOAT: glScalarType read new glScalarType($1406); + public static property DOUBLE: glScalarType read new glScalarType($140A); public function ToString: string; override; begin + if BYTE = self then + Result := 'BYTE' else if UNSIGNED_BYTE = self then Result := 'UNSIGNED_BYTE' else + if SHORT = self then + Result := 'SHORT' else if UNSIGNED_SHORT = self then Result := 'UNSIGNED_SHORT' else + if INT = self then + Result := 'INT' else if UNSIGNED_INT = self then Result := 'UNSIGNED_INT' else + if FLOAT = self then + Result := 'FLOAT' else + if DOUBLE = self then + Result := 'DOUBLE' else Result := $'glScalarType[{self.val}]'; end; @@ -23794,17 +23809,14 @@ public val: UInt32; public constructor(val: UInt32) := self.val := val; - public static property LINEAR_MIPMAP_LINEAR: glTextureWrapMode read new glTextureWrapMode($2703); - public static property CLAMP: glTextureWrapMode read new glTextureWrapMode($2900); - public static property &REPEAT: glTextureWrapMode read new glTextureWrapMode($2901); - public static property CLAMP_TO_BORDER: glTextureWrapMode read new glTextureWrapMode($812D); - public static property CLAMP_TO_EDGE: glTextureWrapMode read new glTextureWrapMode($812F); - public static property MIRRORED_REPEAT: glTextureWrapMode read new glTextureWrapMode($8370); + public static property CLAMP: glTextureWrapMode read new glTextureWrapMode($2900); + public static property &REPEAT: glTextureWrapMode read new glTextureWrapMode($2901); + public static property CLAMP_TO_BORDER: glTextureWrapMode read new glTextureWrapMode($812D); + public static property CLAMP_TO_EDGE: glTextureWrapMode read new glTextureWrapMode($812F); + public static property MIRRORED_REPEAT: glTextureWrapMode read new glTextureWrapMode($8370); public function ToString: string; override; begin - if LINEAR_MIPMAP_LINEAR = self then - Result := 'LINEAR_MIPMAP_LINEAR' else if CLAMP = self then Result := 'CLAMP' else if &REPEAT = self then @@ -25544,6 +25556,64 @@ end; + /// + wglColorBufferMask = record + public val: UInt32; + public constructor(val: UInt32) := self.val := val; + + public static property FRONT_COLOR_BUFFER_BIT: wglColorBufferMask read new wglColorBufferMask(1 shl 0); + public static property BACK_COLOR_BUFFER_BIT: wglColorBufferMask read new wglColorBufferMask(1 shl 1); + public static property DEPTH_BUFFER_BIT: wglColorBufferMask read new wglColorBufferMask(1 shl 2); + public static property STENCIL_BUFFER_BIT: wglColorBufferMask read new wglColorBufferMask(1 shl 3); + + public static function operator+(v1, v2: wglColorBufferMask) := new wglColorBufferMask(v1.val or v2.val); + public static function operator or(v1, v2: wglColorBufferMask) := new wglColorBufferMask(v1.val or v2.val); + + public static procedure operator+=(var v1: wglColorBufferMask; v2: wglColorBufferMask) := v1 := v1+v2; + + public static function operator in(v1, v2: wglColorBufferMask) := v1.val and v2.val = v1.val; + + public function ToString: string; override; + begin + var res := new StringBuilder; + var left_val := self.val; + if left_val=0 then + begin + Result := 'wglColorBufferMask[0]'; + exit; + end; + if FRONT_COLOR_BUFFER_BIT in self then + begin + res += 'FRONT_COLOR_BUFFER_BIT+'; + left_val := left_val and not FRONT_COLOR_BUFFER_BIT.val; + end; + if BACK_COLOR_BUFFER_BIT in self then + begin + res += 'BACK_COLOR_BUFFER_BIT+'; + left_val := left_val and not BACK_COLOR_BUFFER_BIT.val; + end; + if DEPTH_BUFFER_BIT in self then + begin + res += 'DEPTH_BUFFER_BIT+'; + left_val := left_val and not DEPTH_BUFFER_BIT.val; + end; + if STENCIL_BUFFER_BIT in self then + begin + res += 'STENCIL_BUFFER_BIT+'; + left_val := left_val and not STENCIL_BUFFER_BIT.val; + end; + if left_val<>0 then + begin + res += 'wglColorBufferMask['; + res += self.val.ToString; + res += ']+'; + end; + res.Length -= 1; + Result := res.ToString; + end; + + end; + /// wglContextAttribute = record public val: Int32; @@ -25588,6 +25658,55 @@ end; + /// + wglDXInteropMask = record + public val: UInt32; + public constructor(val: UInt32) := self.val := val; + + public static property ACCESS_READ_ONLY: wglDXInteropMask read new wglDXInteropMask(0); + public static property ACCESS_READ_WRITE: wglDXInteropMask read new wglDXInteropMask(1 shl 0); + public static property ACCESS_WRITE_DISCARD: wglDXInteropMask read new wglDXInteropMask(1 shl 1); + + public property ANY_FLAGS: boolean read self.val<>0; + + public static function operator+(v1, v2: wglDXInteropMask) := new wglDXInteropMask(v1.val or v2.val); + public static function operator or(v1, v2: wglDXInteropMask) := new wglDXInteropMask(v1.val or v2.val); + + public static procedure operator+=(var v1: wglDXInteropMask; v2: wglDXInteropMask) := v1 := v1+v2; + + public static function operator in(v1, v2: wglDXInteropMask) := v1.val and v2.val = v1.val; + + public function ToString: string; override; + begin + var res := new StringBuilder; + var left_val := self.val; + if left_val=0 then + begin + Result := 'ACCESS_READ_ONLY'; + exit; + end; + if ACCESS_READ_WRITE in self then + begin + res += 'ACCESS_READ_WRITE+'; + left_val := left_val and not ACCESS_READ_WRITE.val; + end; + if ACCESS_WRITE_DISCARD in self then + begin + res += 'ACCESS_WRITE_DISCARD+'; + left_val := left_val and not ACCESS_WRITE_DISCARD.val; + end; + if left_val<>0 then + begin + res += 'wglDXInteropMask['; + res += self.val.ToString; + res += ']+'; + end; + res.Length -= 1; + Result := res.ToString; + end; + + end; + /// wglFontFormat = record public val: Int32; @@ -25667,186 +25786,94 @@ end; /// - wglObjectTypeDX = record - public val: UInt32; - public constructor(val: UInt32) := self.val := val; - - public static property gl_NONE: wglObjectTypeDX read new wglObjectTypeDX(0); - public static property gl_TEXTURE_2D: wglObjectTypeDX read new wglObjectTypeDX($0DE1); - public static property gl_TEXTURE_3D: wglObjectTypeDX read new wglObjectTypeDX($806F); - public static property gl_TEXTURE_RECTANGLE: wglObjectTypeDX read new wglObjectTypeDX($84F5); - public static property gl_TEXTURE_CUBE_MAP: wglObjectTypeDX read new wglObjectTypeDX($8513); - public static property gl_RENDERBUFFER: wglObjectTypeDX read new wglObjectTypeDX($8D41); - - public function ToString: string; override; - begin - if gl_NONE = self then - Result := 'gl_NONE' else - if gl_TEXTURE_2D = self then - Result := 'gl_TEXTURE_2D' else - if gl_TEXTURE_3D = self then - Result := 'gl_TEXTURE_3D' else - if gl_TEXTURE_RECTANGLE = self then - Result := 'gl_TEXTURE_RECTANGLE' else - if gl_TEXTURE_CUBE_MAP = self then - Result := 'gl_TEXTURE_CUBE_MAP' else - if gl_RENDERBUFFER = self then - Result := 'gl_RENDERBUFFER' else - Result := $'wglObjectTypeDX[{self.val}]'; - end; - - end; - - /// - wglPBufferAttribute = record - public val: Int32; - public constructor(val: Int32) := self.val := val; - - public static property PBUFFER_WIDTH: wglPBufferAttribute read new wglPBufferAttribute($2034); - public static property PBUFFER_HEIGHT: wglPBufferAttribute read new wglPBufferAttribute($2035); - public static property PBUFFER_LOST: wglPBufferAttribute read new wglPBufferAttribute($2036); - public static property TEXTURE_FORMAT: wglPBufferAttribute read new wglPBufferAttribute($2072); - public static property TEXTURE_TARGET: wglPBufferAttribute read new wglPBufferAttribute($2073); - public static property MIPMAP_TEXTURE: wglPBufferAttribute read new wglPBufferAttribute($2074); - public static property MIPMAP_LEVEL: wglPBufferAttribute read new wglPBufferAttribute($207B); - public static property CUBE_MAP_FACE: wglPBufferAttribute read new wglPBufferAttribute($207C); - - public function ToString: string; override; - begin - if PBUFFER_WIDTH = self then - Result := 'PBUFFER_WIDTH' else - if PBUFFER_HEIGHT = self then - Result := 'PBUFFER_HEIGHT' else - if PBUFFER_LOST = self then - Result := 'PBUFFER_LOST' else - if TEXTURE_FORMAT = self then - Result := 'TEXTURE_FORMAT' else - if TEXTURE_TARGET = self then - Result := 'TEXTURE_TARGET' else - if MIPMAP_TEXTURE = self then - Result := 'MIPMAP_TEXTURE' else - if MIPMAP_LEVEL = self then - Result := 'MIPMAP_LEVEL' else - if CUBE_MAP_FACE = self then - Result := 'CUBE_MAP_FACE' else - Result := $'wglPBufferAttribute[{self.val}]'; - end; - - end; - - /// - wglStereoEmitterState = record + wglImageBufferMask = record public val: UInt32; public constructor(val: UInt32) := self.val := val; - public static property STEREO_EMITTER_ENABLE: wglStereoEmitterState read new wglStereoEmitterState($2055); - public static property STEREO_EMITTER_DISABLE: wglStereoEmitterState read new wglStereoEmitterState($2056); - public static property STEREO_POLARITY_NORMAL: wglStereoEmitterState read new wglStereoEmitterState($2057); - public static property STEREO_POLARITY_INVERT: wglStereoEmitterState read new wglStereoEmitterState($2058); - - public function ToString: string; override; - begin - if STEREO_EMITTER_ENABLE = self then - Result := 'STEREO_EMITTER_ENABLE' else - if STEREO_EMITTER_DISABLE = self then - Result := 'STEREO_EMITTER_DISABLE' else - if STEREO_POLARITY_NORMAL = self then - Result := 'STEREO_POLARITY_NORMAL' else - if STEREO_POLARITY_INVERT = self then - Result := 'STEREO_POLARITY_INVERT' else - Result := $'wglStereoEmitterState[{self.val}]'; - end; - - end; - - /// - wglVideoCaptureDeviceAttribute = record - public val: Int32; - public constructor(val: Int32) := self.val := val; - - public static property UNIQUE_ID: wglVideoCaptureDeviceAttribute read new wglVideoCaptureDeviceAttribute($20CE); + public static property IMAGE_BUFFER_MIN_ACCESS: wglImageBufferMask read new wglImageBufferMask(1 shl 0); + public static property IMAGE_BUFFER_LOCK: wglImageBufferMask read new wglImageBufferMask(1 shl 1); - public function ToString: string; override; - begin - if UNIQUE_ID = self then - Result := 'UNIQUE_ID' else - Result := $'wglVideoCaptureDeviceAttribute[{self.val}]'; - end; + public static function operator+(v1, v2: wglImageBufferMask) := new wglImageBufferMask(v1.val or v2.val); + public static function operator or(v1, v2: wglImageBufferMask) := new wglImageBufferMask(v1.val or v2.val); - end; - - /// - wglVideoOutputBuffer = record - public val: Int32; - public constructor(val: Int32) := self.val := val; + public static procedure operator+=(var v1: wglImageBufferMask; v2: wglImageBufferMask) := v1 := v1+v2; - public static property VIDEO_OUT_COLOR: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C3); - public static property VIDEO_OUT_ALPHA: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C4); - public static property VIDEO_OUT_DEPTH: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C5); - public static property VIDEO_OUT_COLOR_AND_ALPHA: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C6); - public static property VIDEO_OUT_COLOR_AND_DEPTH: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C7); + public static function operator in(v1, v2: wglImageBufferMask) := v1.val and v2.val = v1.val; public function ToString: string; override; begin - if VIDEO_OUT_COLOR = self then - Result := 'VIDEO_OUT_COLOR' else - if VIDEO_OUT_ALPHA = self then - Result := 'VIDEO_OUT_ALPHA' else - if VIDEO_OUT_DEPTH = self then - Result := 'VIDEO_OUT_DEPTH' else - if VIDEO_OUT_COLOR_AND_ALPHA = self then - Result := 'VIDEO_OUT_COLOR_AND_ALPHA' else - if VIDEO_OUT_COLOR_AND_DEPTH = self then - Result := 'VIDEO_OUT_COLOR_AND_DEPTH' else - Result := $'wglVideoOutputBuffer[{self.val}]'; + var res := new StringBuilder; + var left_val := self.val; + if left_val=0 then + begin + Result := 'wglImageBufferMask[0]'; + exit; + end; + if IMAGE_BUFFER_MIN_ACCESS in self then + begin + res += 'IMAGE_BUFFER_MIN_ACCESS+'; + left_val := left_val and not IMAGE_BUFFER_MIN_ACCESS.val; + end; + if IMAGE_BUFFER_LOCK in self then + begin + res += 'IMAGE_BUFFER_LOCK+'; + left_val := left_val and not IMAGE_BUFFER_LOCK.val; + end; + if left_val<>0 then + begin + res += 'wglImageBufferMask['; + res += self.val.ToString; + res += ']+'; + end; + res.Length -= 1; + Result := res.ToString; end; end; /// - wglVideoOutputBufferType = record + wglLayerPlaneMask = record public val: Int32; public constructor(val: Int32) := self.val := val; - public static property VIDEO_OUT_FRAME: wglVideoOutputBufferType read new wglVideoOutputBufferType($20C8); - public static property VIDEO_OUT_FIELD_1: wglVideoOutputBufferType read new wglVideoOutputBufferType($20C9); - public static property VIDEO_OUT_FIELD_2: wglVideoOutputBufferType read new wglVideoOutputBufferType($20CA); - public static property VIDEO_OUT_STACKED_FIELDS_1_2: wglVideoOutputBufferType read new wglVideoOutputBufferType($20CB); - public static property VIDEO_OUT_STACKED_FIELDS_2_1: wglVideoOutputBufferType read new wglVideoOutputBufferType($20CC); - - public function ToString: string; override; - begin - if VIDEO_OUT_FRAME = self then - Result := 'VIDEO_OUT_FRAME' else - if VIDEO_OUT_FIELD_1 = self then - Result := 'VIDEO_OUT_FIELD_1' else - if VIDEO_OUT_FIELD_2 = self then - Result := 'VIDEO_OUT_FIELD_2' else - if VIDEO_OUT_STACKED_FIELDS_1_2 = self then - Result := 'VIDEO_OUT_STACKED_FIELDS_1_2' else - if VIDEO_OUT_STACKED_FIELDS_2_1 = self then - Result := 'VIDEO_OUT_STACKED_FIELDS_2_1' else - Result := $'wglVideoOutputBufferType[{self.val}]'; - end; - - end; - - /// - wglWGLColorBufferMask = record - public val: UInt32; - public constructor(val: UInt32) := self.val := val; - - public static property FRONT_COLOR_BUFFER_BIT: wglWGLColorBufferMask read new wglWGLColorBufferMask(1 shl 0); - public static property BACK_COLOR_BUFFER_BIT: wglWGLColorBufferMask read new wglWGLColorBufferMask(1 shl 1); - public static property DEPTH_BUFFER_BIT: wglWGLColorBufferMask read new wglWGLColorBufferMask(1 shl 2); - public static property STENCIL_BUFFER_BIT: wglWGLColorBufferMask read new wglWGLColorBufferMask(1 shl 3); - - public static function operator+(v1, v2: wglWGLColorBufferMask) := new wglWGLColorBufferMask(v1.val or v2.val); - public static function operator or(v1, v2: wglWGLColorBufferMask) := new wglWGLColorBufferMask(v1.val or v2.val); - - public static procedure operator+=(var v1: wglWGLColorBufferMask; v2: wglWGLColorBufferMask) := v1 := v1+v2; - - public static function operator in(v1, v2: wglWGLColorBufferMask) := v1.val and v2.val = v1.val; + public static property SWAP_MAIN_PLANE: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 0); + public static property SWAP_OVERLAY1: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 1); + public static property SWAP_OVERLAY2: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 2); + public static property SWAP_OVERLAY3: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 3); + public static property SWAP_OVERLAY4: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 4); + public static property SWAP_OVERLAY5: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 5); + public static property SWAP_OVERLAY6: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 6); + public static property SWAP_OVERLAY7: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 7); + public static property SWAP_OVERLAY8: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 8); + public static property SWAP_OVERLAY9: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 9); + public static property SWAP_OVERLAY10: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 10); + public static property SWAP_OVERLAY11: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 11); + public static property SWAP_OVERLAY12: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 12); + public static property SWAP_OVERLAY13: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 13); + public static property SWAP_OVERLAY14: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 14); + public static property SWAP_OVERLAY15: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 15); + public static property SWAP_UNDERLAY1: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 16); + public static property SWAP_UNDERLAY2: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 17); + public static property SWAP_UNDERLAY3: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 18); + public static property SWAP_UNDERLAY4: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 19); + public static property SWAP_UNDERLAY5: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 20); + public static property SWAP_UNDERLAY6: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 21); + public static property SWAP_UNDERLAY7: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 22); + public static property SWAP_UNDERLAY8: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 23); + public static property SWAP_UNDERLAY9: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 24); + public static property SWAP_UNDERLAY10: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 25); + public static property SWAP_UNDERLAY11: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 26); + public static property SWAP_UNDERLAY12: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 27); + public static property SWAP_UNDERLAY13: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 28); + public static property SWAP_UNDERLAY14: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 29); + public static property SWAP_UNDERLAY15: wglLayerPlaneMask read new wglLayerPlaneMask(1 shl 30); + + public static function operator+(v1, v2: wglLayerPlaneMask) := new wglLayerPlaneMask(v1.val or v2.val); + public static function operator or(v1, v2: wglLayerPlaneMask) := new wglLayerPlaneMask(v1.val or v2.val); + + public static procedure operator+=(var v1: wglLayerPlaneMask; v2: wglLayerPlaneMask) := v1 := v1+v2; + + public static function operator in(v1, v2: wglLayerPlaneMask) := v1.val and v2.val = v1.val; public function ToString: string; override; begin @@ -25854,187 +25881,7 @@ var left_val := self.val; if left_val=0 then begin - Result := 'wglWGLColorBufferMask[0]'; - exit; - end; - if FRONT_COLOR_BUFFER_BIT in self then - begin - res += 'FRONT_COLOR_BUFFER_BIT+'; - left_val := left_val and not FRONT_COLOR_BUFFER_BIT.val; - end; - if BACK_COLOR_BUFFER_BIT in self then - begin - res += 'BACK_COLOR_BUFFER_BIT+'; - left_val := left_val and not BACK_COLOR_BUFFER_BIT.val; - end; - if DEPTH_BUFFER_BIT in self then - begin - res += 'DEPTH_BUFFER_BIT+'; - left_val := left_val and not DEPTH_BUFFER_BIT.val; - end; - if STENCIL_BUFFER_BIT in self then - begin - res += 'STENCIL_BUFFER_BIT+'; - left_val := left_val and not STENCIL_BUFFER_BIT.val; - end; - if left_val<>0 then - begin - res += 'wglWGLColorBufferMask['; - res += self.val.ToString; - res += ']+'; - end; - res.Length -= 1; - Result := res.ToString; - end; - - end; - - /// - wglWGLDXInteropMask = record - public val: UInt32; - public constructor(val: UInt32) := self.val := val; - - public static property ACCESS_READ_ONLY: wglWGLDXInteropMask read new wglWGLDXInteropMask(0); - public static property ACCESS_READ_WRITE: wglWGLDXInteropMask read new wglWGLDXInteropMask(1 shl 0); - public static property ACCESS_WRITE_DISCARD: wglWGLDXInteropMask read new wglWGLDXInteropMask(1 shl 1); - - public property ANY_FLAGS: boolean read self.val<>0; - - public static function operator+(v1, v2: wglWGLDXInteropMask) := new wglWGLDXInteropMask(v1.val or v2.val); - public static function operator or(v1, v2: wglWGLDXInteropMask) := new wglWGLDXInteropMask(v1.val or v2.val); - - public static procedure operator+=(var v1: wglWGLDXInteropMask; v2: wglWGLDXInteropMask) := v1 := v1+v2; - - public static function operator in(v1, v2: wglWGLDXInteropMask) := v1.val and v2.val = v1.val; - - public function ToString: string; override; - begin - var res := new StringBuilder; - var left_val := self.val; - if left_val=0 then - begin - Result := 'ACCESS_READ_ONLY'; - exit; - end; - if ACCESS_READ_WRITE in self then - begin - res += 'ACCESS_READ_WRITE+'; - left_val := left_val and not ACCESS_READ_WRITE.val; - end; - if ACCESS_WRITE_DISCARD in self then - begin - res += 'ACCESS_WRITE_DISCARD+'; - left_val := left_val and not ACCESS_WRITE_DISCARD.val; - end; - if left_val<>0 then - begin - res += 'wglWGLDXInteropMask['; - res += self.val.ToString; - res += ']+'; - end; - res.Length -= 1; - Result := res.ToString; - end; - - end; - - /// - wglWGLImageBufferMask = record - public val: UInt32; - public constructor(val: UInt32) := self.val := val; - - public static property IMAGE_BUFFER_MIN_ACCESS: wglWGLImageBufferMask read new wglWGLImageBufferMask(1 shl 0); - public static property IMAGE_BUFFER_LOCK: wglWGLImageBufferMask read new wglWGLImageBufferMask(1 shl 1); - - public static function operator+(v1, v2: wglWGLImageBufferMask) := new wglWGLImageBufferMask(v1.val or v2.val); - public static function operator or(v1, v2: wglWGLImageBufferMask) := new wglWGLImageBufferMask(v1.val or v2.val); - - public static procedure operator+=(var v1: wglWGLImageBufferMask; v2: wglWGLImageBufferMask) := v1 := v1+v2; - - public static function operator in(v1, v2: wglWGLImageBufferMask) := v1.val and v2.val = v1.val; - - public function ToString: string; override; - begin - var res := new StringBuilder; - var left_val := self.val; - if left_val=0 then - begin - Result := 'wglWGLImageBufferMask[0]'; - exit; - end; - if IMAGE_BUFFER_MIN_ACCESS in self then - begin - res += 'IMAGE_BUFFER_MIN_ACCESS+'; - left_val := left_val and not IMAGE_BUFFER_MIN_ACCESS.val; - end; - if IMAGE_BUFFER_LOCK in self then - begin - res += 'IMAGE_BUFFER_LOCK+'; - left_val := left_val and not IMAGE_BUFFER_LOCK.val; - end; - if left_val<>0 then - begin - res += 'wglWGLImageBufferMask['; - res += self.val.ToString; - res += ']+'; - end; - res.Length -= 1; - Result := res.ToString; - end; - - end; - - /// - wglWGLLayerPlaneMask = record - public val: Int32; - public constructor(val: Int32) := self.val := val; - - public static property SWAP_MAIN_PLANE: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 0); - public static property SWAP_OVERLAY1: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 1); - public static property SWAP_OVERLAY2: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 2); - public static property SWAP_OVERLAY3: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 3); - public static property SWAP_OVERLAY4: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 4); - public static property SWAP_OVERLAY5: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 5); - public static property SWAP_OVERLAY6: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 6); - public static property SWAP_OVERLAY7: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 7); - public static property SWAP_OVERLAY8: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 8); - public static property SWAP_OVERLAY9: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 9); - public static property SWAP_OVERLAY10: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 10); - public static property SWAP_OVERLAY11: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 11); - public static property SWAP_OVERLAY12: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 12); - public static property SWAP_OVERLAY13: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 13); - public static property SWAP_OVERLAY14: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 14); - public static property SWAP_OVERLAY15: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 15); - public static property SWAP_UNDERLAY1: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 16); - public static property SWAP_UNDERLAY2: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 17); - public static property SWAP_UNDERLAY3: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 18); - public static property SWAP_UNDERLAY4: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 19); - public static property SWAP_UNDERLAY5: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 20); - public static property SWAP_UNDERLAY6: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 21); - public static property SWAP_UNDERLAY7: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 22); - public static property SWAP_UNDERLAY8: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 23); - public static property SWAP_UNDERLAY9: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 24); - public static property SWAP_UNDERLAY10: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 25); - public static property SWAP_UNDERLAY11: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 26); - public static property SWAP_UNDERLAY12: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 27); - public static property SWAP_UNDERLAY13: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 28); - public static property SWAP_UNDERLAY14: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 29); - public static property SWAP_UNDERLAY15: wglWGLLayerPlaneMask read new wglWGLLayerPlaneMask(1 shl 30); - - public static function operator+(v1, v2: wglWGLLayerPlaneMask) := new wglWGLLayerPlaneMask(v1.val or v2.val); - public static function operator or(v1, v2: wglWGLLayerPlaneMask) := new wglWGLLayerPlaneMask(v1.val or v2.val); - - public static procedure operator+=(var v1: wglWGLLayerPlaneMask; v2: wglWGLLayerPlaneMask) := v1 := v1+v2; - - public static function operator in(v1, v2: wglWGLLayerPlaneMask) := v1.val and v2.val = v1.val; - - public function ToString: string; override; - begin - var res := new StringBuilder; - var left_val := self.val; - if left_val=0 then - begin - Result := 'wglWGLLayerPlaneMask[0]'; + Result := 'wglLayerPlaneMask[0]'; exit; end; if SWAP_MAIN_PLANE in self then @@ -26194,7 +26041,7 @@ end; if left_val<>0 then begin - res += 'wglWGLLayerPlaneMask['; + res += 'wglLayerPlaneMask['; res += self.val.ToString; res += ']+'; end; @@ -26204,6 +26051,310 @@ end; + /// + wglObjectTypeDX = record + public val: UInt32; + public constructor(val: UInt32) := self.val := val; + + public static property gl_NONE: wglObjectTypeDX read new wglObjectTypeDX(0); + public static property gl_TEXTURE_2D: wglObjectTypeDX read new wglObjectTypeDX($0DE1); + public static property gl_TEXTURE_3D: wglObjectTypeDX read new wglObjectTypeDX($806F); + public static property gl_TEXTURE_RECTANGLE: wglObjectTypeDX read new wglObjectTypeDX($84F5); + public static property gl_TEXTURE_CUBE_MAP: wglObjectTypeDX read new wglObjectTypeDX($8513); + public static property gl_RENDERBUFFER: wglObjectTypeDX read new wglObjectTypeDX($8D41); + + public function ToString: string; override; + begin + if gl_NONE = self then + Result := 'gl_NONE' else + if gl_TEXTURE_2D = self then + Result := 'gl_TEXTURE_2D' else + if gl_TEXTURE_3D = self then + Result := 'gl_TEXTURE_3D' else + if gl_TEXTURE_RECTANGLE = self then + Result := 'gl_TEXTURE_RECTANGLE' else + if gl_TEXTURE_CUBE_MAP = self then + Result := 'gl_TEXTURE_CUBE_MAP' else + if gl_RENDERBUFFER = self then + Result := 'gl_RENDERBUFFER' else + Result := $'wglObjectTypeDX[{self.val}]'; + end; + + end; + + /// + wglPBufferAttribute = record + public val: Int32; + public constructor(val: Int32) := self.val := val; + + public static property PBUFFER_WIDTH: wglPBufferAttribute read new wglPBufferAttribute($2034); + public static property PBUFFER_HEIGHT: wglPBufferAttribute read new wglPBufferAttribute($2035); + public static property PBUFFER_LOST: wglPBufferAttribute read new wglPBufferAttribute($2036); + public static property TEXTURE_FORMAT: wglPBufferAttribute read new wglPBufferAttribute($2072); + public static property TEXTURE_TARGET: wglPBufferAttribute read new wglPBufferAttribute($2073); + public static property MIPMAP_TEXTURE: wglPBufferAttribute read new wglPBufferAttribute($2074); + public static property MIPMAP_LEVEL: wglPBufferAttribute read new wglPBufferAttribute($207B); + public static property CUBE_MAP_FACE: wglPBufferAttribute read new wglPBufferAttribute($207C); + + public function ToString: string; override; + begin + if PBUFFER_WIDTH = self then + Result := 'PBUFFER_WIDTH' else + if PBUFFER_HEIGHT = self then + Result := 'PBUFFER_HEIGHT' else + if PBUFFER_LOST = self then + Result := 'PBUFFER_LOST' else + if TEXTURE_FORMAT = self then + Result := 'TEXTURE_FORMAT' else + if TEXTURE_TARGET = self then + Result := 'TEXTURE_TARGET' else + if MIPMAP_TEXTURE = self then + Result := 'MIPMAP_TEXTURE' else + if MIPMAP_LEVEL = self then + Result := 'MIPMAP_LEVEL' else + if CUBE_MAP_FACE = self then + Result := 'CUBE_MAP_FACE' else + Result := $'wglPBufferAttribute[{self.val}]'; + end; + + end; + + /// + wglPixelFormatAttribute = record + public val: Int32; + public constructor(val: Int32) := self.val := val; + + public static property NUMBER_PIXEL_FORMATS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2000); + public static property DRAW_TO_WINDOW: wglPixelFormatAttribute read new wglPixelFormatAttribute($2001); + public static property DRAW_TO_BITMAP: wglPixelFormatAttribute read new wglPixelFormatAttribute($2002); + public static property ACCELERATION: wglPixelFormatAttribute read new wglPixelFormatAttribute($2003); + public static property NEED_PALETTE: wglPixelFormatAttribute read new wglPixelFormatAttribute($2004); + public static property NEED_SYSTEM_PALETTE: wglPixelFormatAttribute read new wglPixelFormatAttribute($2005); + public static property SWAP_LAYER_BUFFERS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2006); + public static property SWAP_METHOD: wglPixelFormatAttribute read new wglPixelFormatAttribute($2007); + public static property NUMBER_OVERLAYS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2008); + public static property NUMBER_UNDERLAYS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2009); + public static property TRANSPARENT: wglPixelFormatAttribute read new wglPixelFormatAttribute($200A); + public static property SHARE_DEPTH: wglPixelFormatAttribute read new wglPixelFormatAttribute($200C); + public static property SHARE_STENCIL: wglPixelFormatAttribute read new wglPixelFormatAttribute($200D); + public static property SHARE_ACCUM: wglPixelFormatAttribute read new wglPixelFormatAttribute($200E); + public static property SUPPORT_GDI: wglPixelFormatAttribute read new wglPixelFormatAttribute($200F); + public static property SUPPORT_OPENGL: wglPixelFormatAttribute read new wglPixelFormatAttribute($2010); + public static property DOUBLE_BUFFER: wglPixelFormatAttribute read new wglPixelFormatAttribute($2011); + public static property STEREO: wglPixelFormatAttribute read new wglPixelFormatAttribute($2012); + public static property PIXEL_TYPE: wglPixelFormatAttribute read new wglPixelFormatAttribute($2013); + public static property COLOR_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2014); + public static property RED_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2015); + public static property RED_SHIFT: wglPixelFormatAttribute read new wglPixelFormatAttribute($2016); + public static property GREEN_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2017); + public static property GREEN_SHIFT: wglPixelFormatAttribute read new wglPixelFormatAttribute($2018); + public static property BLUE_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2019); + public static property BLUE_SHIFT: wglPixelFormatAttribute read new wglPixelFormatAttribute($201A); + public static property ALPHA_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($201B); + public static property ALPHA_SHIFT: wglPixelFormatAttribute read new wglPixelFormatAttribute($201C); + public static property ACCUM_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($201D); + public static property ACCUM_RED_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($201E); + public static property ACCUM_GREEN_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($201F); + public static property ACCUM_BLUE_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2020); + public static property ACCUM_ALPHA_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2021); + public static property DEPTH_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2022); + public static property STENCIL_BITS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2023); + public static property AUX_BUFFERS: wglPixelFormatAttribute read new wglPixelFormatAttribute($2024); + public static property DRAW_TO_PBUFFER: wglPixelFormatAttribute read new wglPixelFormatAttribute($202D); + public static property TRANSPARENT_RED_VALUE: wglPixelFormatAttribute read new wglPixelFormatAttribute($2037); + public static property TRANSPARENT_GREEN_VALUE: wglPixelFormatAttribute read new wglPixelFormatAttribute($2038); + public static property TRANSPARENT_BLUE_VALUE: wglPixelFormatAttribute read new wglPixelFormatAttribute($2039); + public static property TRANSPARENT_ALPHA_VALUE: wglPixelFormatAttribute read new wglPixelFormatAttribute($203A); + public static property TRANSPARENT_INDEX_VALUE: wglPixelFormatAttribute read new wglPixelFormatAttribute($203B); + + public function ToString: string; override; + begin + if NUMBER_PIXEL_FORMATS = self then + Result := 'NUMBER_PIXEL_FORMATS' else + if DRAW_TO_WINDOW = self then + Result := 'DRAW_TO_WINDOW' else + if DRAW_TO_BITMAP = self then + Result := 'DRAW_TO_BITMAP' else + if ACCELERATION = self then + Result := 'ACCELERATION' else + if NEED_PALETTE = self then + Result := 'NEED_PALETTE' else + if NEED_SYSTEM_PALETTE = self then + Result := 'NEED_SYSTEM_PALETTE' else + if SWAP_LAYER_BUFFERS = self then + Result := 'SWAP_LAYER_BUFFERS' else + if SWAP_METHOD = self then + Result := 'SWAP_METHOD' else + if NUMBER_OVERLAYS = self then + Result := 'NUMBER_OVERLAYS' else + if NUMBER_UNDERLAYS = self then + Result := 'NUMBER_UNDERLAYS' else + if TRANSPARENT = self then + Result := 'TRANSPARENT' else + if SHARE_DEPTH = self then + Result := 'SHARE_DEPTH' else + if SHARE_STENCIL = self then + Result := 'SHARE_STENCIL' else + if SHARE_ACCUM = self then + Result := 'SHARE_ACCUM' else + if SUPPORT_GDI = self then + Result := 'SUPPORT_GDI' else + if SUPPORT_OPENGL = self then + Result := 'SUPPORT_OPENGL' else + if DOUBLE_BUFFER = self then + Result := 'DOUBLE_BUFFER' else + if STEREO = self then + Result := 'STEREO' else + if PIXEL_TYPE = self then + Result := 'PIXEL_TYPE' else + if COLOR_BITS = self then + Result := 'COLOR_BITS' else + if RED_BITS = self then + Result := 'RED_BITS' else + if RED_SHIFT = self then + Result := 'RED_SHIFT' else + if GREEN_BITS = self then + Result := 'GREEN_BITS' else + if GREEN_SHIFT = self then + Result := 'GREEN_SHIFT' else + if BLUE_BITS = self then + Result := 'BLUE_BITS' else + if BLUE_SHIFT = self then + Result := 'BLUE_SHIFT' else + if ALPHA_BITS = self then + Result := 'ALPHA_BITS' else + if ALPHA_SHIFT = self then + Result := 'ALPHA_SHIFT' else + if ACCUM_BITS = self then + Result := 'ACCUM_BITS' else + if ACCUM_RED_BITS = self then + Result := 'ACCUM_RED_BITS' else + if ACCUM_GREEN_BITS = self then + Result := 'ACCUM_GREEN_BITS' else + if ACCUM_BLUE_BITS = self then + Result := 'ACCUM_BLUE_BITS' else + if ACCUM_ALPHA_BITS = self then + Result := 'ACCUM_ALPHA_BITS' else + if DEPTH_BITS = self then + Result := 'DEPTH_BITS' else + if STENCIL_BITS = self then + Result := 'STENCIL_BITS' else + if AUX_BUFFERS = self then + Result := 'AUX_BUFFERS' else + if DRAW_TO_PBUFFER = self then + Result := 'DRAW_TO_PBUFFER' else + if TRANSPARENT_RED_VALUE = self then + Result := 'TRANSPARENT_RED_VALUE' else + if TRANSPARENT_GREEN_VALUE = self then + Result := 'TRANSPARENT_GREEN_VALUE' else + if TRANSPARENT_BLUE_VALUE = self then + Result := 'TRANSPARENT_BLUE_VALUE' else + if TRANSPARENT_ALPHA_VALUE = self then + Result := 'TRANSPARENT_ALPHA_VALUE' else + if TRANSPARENT_INDEX_VALUE = self then + Result := 'TRANSPARENT_INDEX_VALUE' else + Result := $'wglPixelFormatAttribute[{self.val}]'; + end; + + end; + + /// + wglStereoEmitterState = record + public val: UInt32; + public constructor(val: UInt32) := self.val := val; + + public static property STEREO_EMITTER_ENABLE: wglStereoEmitterState read new wglStereoEmitterState($2055); + public static property STEREO_EMITTER_DISABLE: wglStereoEmitterState read new wglStereoEmitterState($2056); + public static property STEREO_POLARITY_NORMAL: wglStereoEmitterState read new wglStereoEmitterState($2057); + public static property STEREO_POLARITY_INVERT: wglStereoEmitterState read new wglStereoEmitterState($2058); + + public function ToString: string; override; + begin + if STEREO_EMITTER_ENABLE = self then + Result := 'STEREO_EMITTER_ENABLE' else + if STEREO_EMITTER_DISABLE = self then + Result := 'STEREO_EMITTER_DISABLE' else + if STEREO_POLARITY_NORMAL = self then + Result := 'STEREO_POLARITY_NORMAL' else + if STEREO_POLARITY_INVERT = self then + Result := 'STEREO_POLARITY_INVERT' else + Result := $'wglStereoEmitterState[{self.val}]'; + end; + + end; + + /// + wglVideoCaptureDeviceAttribute = record + public val: Int32; + public constructor(val: Int32) := self.val := val; + + public static property UNIQUE_ID: wglVideoCaptureDeviceAttribute read new wglVideoCaptureDeviceAttribute($20CE); + + public function ToString: string; override; + begin + if UNIQUE_ID = self then + Result := 'UNIQUE_ID' else + Result := $'wglVideoCaptureDeviceAttribute[{self.val}]'; + end; + + end; + + /// + wglVideoOutputBuffer = record + public val: Int32; + public constructor(val: Int32) := self.val := val; + + public static property VIDEO_OUT_COLOR: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C3); + public static property VIDEO_OUT_ALPHA: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C4); + public static property VIDEO_OUT_DEPTH: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C5); + public static property VIDEO_OUT_COLOR_AND_ALPHA: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C6); + public static property VIDEO_OUT_COLOR_AND_DEPTH: wglVideoOutputBuffer read new wglVideoOutputBuffer($20C7); + + public function ToString: string; override; + begin + if VIDEO_OUT_COLOR = self then + Result := 'VIDEO_OUT_COLOR' else + if VIDEO_OUT_ALPHA = self then + Result := 'VIDEO_OUT_ALPHA' else + if VIDEO_OUT_DEPTH = self then + Result := 'VIDEO_OUT_DEPTH' else + if VIDEO_OUT_COLOR_AND_ALPHA = self then + Result := 'VIDEO_OUT_COLOR_AND_ALPHA' else + if VIDEO_OUT_COLOR_AND_DEPTH = self then + Result := 'VIDEO_OUT_COLOR_AND_DEPTH' else + Result := $'wglVideoOutputBuffer[{self.val}]'; + end; + + end; + + /// + wglVideoOutputBufferType = record + public val: Int32; + public constructor(val: Int32) := self.val := val; + + public static property VIDEO_OUT_FRAME: wglVideoOutputBufferType read new wglVideoOutputBufferType($20C8); + public static property VIDEO_OUT_FIELD_1: wglVideoOutputBufferType read new wglVideoOutputBufferType($20C9); + public static property VIDEO_OUT_FIELD_2: wglVideoOutputBufferType read new wglVideoOutputBufferType($20CA); + public static property VIDEO_OUT_STACKED_FIELDS_1_2: wglVideoOutputBufferType read new wglVideoOutputBufferType($20CB); + public static property VIDEO_OUT_STACKED_FIELDS_2_1: wglVideoOutputBufferType read new wglVideoOutputBufferType($20CC); + + public function ToString: string; override; + begin + if VIDEO_OUT_FRAME = self then + Result := 'VIDEO_OUT_FRAME' else + if VIDEO_OUT_FIELD_1 = self then + Result := 'VIDEO_OUT_FIELD_1' else + if VIDEO_OUT_FIELD_2 = self then + Result := 'VIDEO_OUT_FIELD_2' else + if VIDEO_OUT_STACKED_FIELDS_1_2 = self then + Result := 'VIDEO_OUT_STACKED_FIELDS_1_2' else + if VIDEO_OUT_STACKED_FIELDS_2_1 = self then + Result := 'VIDEO_OUT_STACKED_FIELDS_2_1' else + Result := $'wglVideoOutputBufferType[{self.val}]'; + end; + + end; + ///%x_color_map% x_color_map = record public val: IntPtr; diff --git a/Samples/OpenCL/MatrMlt.td b/Samples/OpenCL/MatrMlt.td index b9d8b3c8..5188f72a 100644 --- a/Samples/OpenCL/MatrMlt.td +++ b/Samples/OpenCL/MatrMlt.td @@ -22,13 +22,13 @@ OpenCL.clProgramCallback = procedure(program: cl_program; user_data: System.IntP 2.97 9.89 6.43 7.63 Матрица С = A*B: - 2.14 1.51 1.53 1.63 - 1.87 1.19 1.40 1.55 - 2.12 1.62 1.29 1.82 - 1.04 0.91 0.73 0.90 + 2.15 1.52 1.53 1.63 + 1.88 1.20 1.40 1.55 + 2.13 1.63 1.29 1.81 + 1.03 0.91 0.72 0.90 Вектор V2 = C*V1: -43.5582595955173 38.1125299615189 44.5418897763742 23.624095929257 +43.642978 38.329481 44.548663 23.561954 #ReqModules OpenCL diff --git "a/Samples/OpenCLABC/0\320\237\321\200\320\276\321\201\321\202\320\265\320\271\321\210\320\270\320\265 \320\277\321\200\320\270\320\274\320\265\321\200\321\213/MatrMlt.td" "b/Samples/OpenCLABC/0\320\237\321\200\320\276\321\201\321\202\320\265\320\271\321\210\320\270\320\265 \320\277\321\200\320\270\320\274\320\265\321\200\321\213/MatrMlt.td" index bff3e54b..983d3a05 100644 --- "a/Samples/OpenCLABC/0\320\237\321\200\320\276\321\201\321\202\320\265\320\271\321\210\320\270\320\265 \320\277\321\200\320\270\320\274\320\265\321\200\321\213/MatrMlt.td" +++ "b/Samples/OpenCLABC/0\320\237\321\200\320\276\321\201\321\202\320\265\320\271\321\210\320\270\320\265 \320\277\321\200\320\270\320\274\320\265\321\200\321\213/MatrMlt.td" @@ -27,13 +27,13 @@ OpenCLABC_implementation______.InvokeParamsFunc = function(enq_c: integer; o_ 2.97 9.89 6.43 7.63 Матрица С = A*B: - 2.14 1.51 1.53 1.63 - 1.87 1.19 1.40 1.55 - 2.12 1.62 1.29 1.82 - 1.04 0.91 0.73 0.90 + 2.15 1.52 1.53 1.63 + 1.88 1.20 1.40 1.55 + 2.13 1.63 1.29 1.81 + 1.03 0.91 0.72 0.90 Вектор V2 = C*V1: -43.5582595955173 38.1125299615189 44.5418897763742 23.624095929257 +43.642978 38.329481 44.548663 23.561954 [EventDebug]: 13 event's created [QueueDebug]: 3 queue's created