diff --git a/DataScraping/XML/ItemSources.pas b/DataScraping/XML/ItemSources.pas index 7706e2c5..e775c048 100644 --- a/DataScraping/XML/ItemSources.pas +++ b/DataScraping/XML/ItemSources.pas @@ -19,10 +19,7 @@ interface public static procedure PrintAllNames := all_sources.Keys.PrintLines; - //TODO #2842 - private static function constructor_hotfix: byte; - private static aaaaa := constructor_hotfix; -// static constructor; + static constructor; protected static function MakeName(api, s, api_beg: string; allow_nil, skip_invalid: boolean; api_underscore_sep: boolean?; known_suffixes: HashSet; params suffix_formats: array of string): TFullName; where TFullName: ApiVendorLName; @@ -55,7 +52,6 @@ interface protected constructor(name: TSourceName); begin - aaaaa := aaaaa; self._name := name; if name in all_sources then raise new InvalidOperationException(self.ToString); @@ -127,12 +123,9 @@ implementation var source_create_callbacks: Action; -//TODO #2842 -static function ItemSource.constructor_hotfix: byte; -//static constructor ItemSource.Create; +static constructor ItemSource.Create; begin // Println(TypeToTypeName(typeof(TSelf))); - Result := 0; source_create_callbacks += ()-> foreach var s in all_sources.Values do diff --git a/DataScraping/XML/NamedItems.pas b/DataScraping/XML/NamedItems.pas index 27f8a69f..b60891fd 100644 --- a/DataScraping/XML/NamedItems.pas +++ b/DataScraping/XML/NamedItems.pas @@ -289,7 +289,7 @@ {$region Pre-saving} - //TODO #????: as + //TODO #3059: as, use operator explicit protected function NameApi: string; virtual := (self.Name as IComplexName).ApiName; protected function NameSuffix: string; virtual := (self.Name as IComplexName).VendorSuffix; protected function NameLocal: string; virtual := (self.Name as IComplexName).LocalName; @@ -358,16 +358,11 @@ if perform_merge<>false then raise new InvalidOperationException; - save_ready := Defined.Values.Where(_item-> - begin - //TODO #????: as - var item := _item as NamedItem; - Result := item.merged_into=nil; - end).Distinct.ToArray; + save_ready := Defined.Values.Where(item->item.merged_into=nil).Distinct.ToArray; Sort(save_ready, item->item.Name); for var i := 0 to save_ready.Length-1 do - //TODO #????: as + //TODO #3060: as (save_ready[i] as NamedItem).bin_index := i; end; @@ -422,7 +417,7 @@ end; public static function DistillAllUnique(inp: sequence of TSelf) := DistillAllUnique(inp, o->o, nil).ConvertAll(o->o.AfterMerges); - //TODO #???? + //TODO #3059: as, use operator explicit protected procedure SaveName(bw: BinWriter); virtual := (Name as IBinSavable).Save(bw); protected procedure SaveBody(bw: BinWriter); abstract; private saved := false; diff --git a/DataScraping/XML/XMLItems.pas b/DataScraping/XML/XMLItems.pas index e2835d00..9e046f25 100644 --- a/DataScraping/XML/XMLItems.pas +++ b/DataScraping/XML/XMLItems.pas @@ -1248,7 +1248,7 @@ procedure SaveAll; if named_types_save_proc.TryGetValue(cl, p) then p(bw) else begin - Log.Otp($'No {cl} to save'); //TODO Should only be Struct in GL - check + Log.Otp($'No {cl} to save'); bw.Write(0); end; end; diff --git a/Modules.Packed/OpenCLABC.pas b/Modules.Packed/OpenCLABC.pas index 2ec93a0b..423531ba 100644 --- a/Modules.Packed/OpenCLABC.pas +++ b/Modules.Packed/OpenCLABC.pas @@ -5689,8 +5689,7 @@ CLMemoryUsage = record public static function operator=(wr1, wr2: CLPlatform): boolean := ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); - public static function operator<>(wr1, wr2: CLPlatform): boolean := false= - ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); + public static function operator<>(wr1, wr2: CLPlatform): boolean := not(wr1=wr2); public function Equals(obj: object): boolean; override := (obj is CLPlatform(var wr)) and (self = wr); @@ -5717,8 +5716,7 @@ CLMemoryUsage = record public static function operator=(wr1, wr2: CLDevice): boolean := ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); - public static function operator<>(wr1, wr2: CLDevice): boolean := false= - ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); + public static function operator<>(wr1, wr2: CLDevice): boolean := not(wr1=wr2); public function Equals(obj: object): boolean; override := (obj is CLDevice(var wr)) and (self = wr); @@ -5760,8 +5758,7 @@ CLMemoryUsage = record public static function operator=(wr1, wr2: CLContext): boolean := ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); - public static function operator<>(wr1, wr2: CLContext): boolean := false= - ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); + public static function operator<>(wr1, wr2: CLContext): boolean := not(wr1=wr2); public function Equals(obj: object): boolean; override := (obj is CLContext(var wr)) and (self = wr); @@ -5780,8 +5777,7 @@ CLMemoryUsage = record public static function operator=(wr1, wr2: CLCode): boolean := ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); - public static function operator<>(wr1, wr2: CLCode): boolean := false= - ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); + public static function operator<>(wr1, wr2: CLCode): boolean := not(wr1=wr2); public function Equals(obj: object): boolean; override := (obj is CLCode(var wr)) and (self = wr); @@ -5798,8 +5794,7 @@ CLMemoryUsage = record public static function operator=(wr1, wr2: CLKernel): boolean := ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.Name=wr2.Name) and (wr1.CodeContainer=wr2.CodeContainer); - public static function operator<>(wr1, wr2: CLKernel): boolean := false= - ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.Name=wr2.Name) and (wr1.CodeContainer=wr2.CodeContainer); + public static function operator<>(wr1, wr2: CLKernel): boolean := not(wr1=wr2); public function Equals(obj: object): boolean; override := (obj is CLKernel(var wr)) and (self = wr); @@ -5829,8 +5824,7 @@ CLMemoryUsage = record public static function operator=(wr1, wr2: CLMemory): boolean := ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); - public static function operator<>(wr1, wr2: CLMemory): boolean := false= - ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); + public static function operator<>(wr1, wr2: CLMemory): boolean := not(wr1=wr2); ///-- public function Equals(obj: object): boolean; override := @@ -5880,8 +5874,7 @@ CLMemoryUsage = record public static function operator=(wr1, wr2: CLValue): boolean := ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); - public static function operator<>(wr1, wr2: CLValue): boolean := false= - ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); + public static function operator<>(wr1, wr2: CLValue): boolean := not(wr1=wr2); ///-- public function Equals(obj: object): boolean; override := @@ -5913,8 +5906,7 @@ CLMemoryUsage = record public static function operator=(wr1, wr2: CLArray): boolean := ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); - public static function operator<>(wr1, wr2: CLArray): boolean := false= - ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); + public static function operator<>(wr1, wr2: CLArray): boolean := not(wr1=wr2); ///-- public function Equals(obj: object): boolean; override := @@ -17866,7 +17858,7 @@ CLKernelArgPrivateCommon = record static function CLKernelArgGlobal.FromCLMemory(cl_mem: CommandQueue): CLKernelArgGlobal; begin Result := new CLKernelArgGlobalCLMemory(cl_mem) end; static function CLKernelArgGlobal.operator implicit(cl_mem: CLMemoryCCQ): CLKernelArgGlobal; -begin Result := FromCLMemory(cl_mem as object as CommandQueue) end; +begin Result := FromCLMemory(cl_mem) end; {$endregion CLMemory} @@ -17899,7 +17891,7 @@ CLKernelArgPrivateCommon = record static function CLKernelArgGlobal.FromCLValue(cl_val: CommandQueue>): CLKernelArgGlobal; where T: record; begin Result := new CLKernelArgGlobalCLValue(cl_val) end; static function CLKernelArgGlobal.operator implicit(cl_val: CLValueCCQ): CLKernelArgGlobal; where T: record; -begin Result := FromCLValue(cl_val as object as CommandQueue>) end; +begin Result := FromCLValue(cl_val) end; {$endregion CLValue} @@ -17932,7 +17924,7 @@ CLKernelArgPrivateCommon = record static function CLKernelArgGlobal.FromCLArray(cl_arr: CommandQueue>): CLKernelArgGlobal; where T: record; begin Result := new CLKernelArgGlobalCLArray(cl_arr) end; static function CLKernelArgGlobal.operator implicit(cl_arr: CLArrayCCQ): CLKernelArgGlobal; where T: record; -begin Result := FromCLArray(cl_arr as object as CommandQueue>) end; +begin Result := FromCLArray(cl_arr) end; {$endregion CLArray} @@ -17972,7 +17964,7 @@ CLKernelArgPrivateCommon = record static function CLKernelArgConstant.FromCLMemory(cl_mem: CommandQueue): CLKernelArgConstant; begin Result := new CLKernelArgConstantCLMemory(cl_mem) end; static function CLKernelArgConstant.operator implicit(cl_mem: CLMemoryCCQ): CLKernelArgConstant; -begin Result := FromCLMemory(cl_mem as object as CommandQueue) end; +begin Result := FromCLMemory(cl_mem) end; {$endregion CLMemory} @@ -18005,7 +17997,7 @@ CLKernelArgPrivateCommon = record static function CLKernelArgConstant.FromCLValue(cl_val: CommandQueue>): CLKernelArgConstant; where T: record; begin Result := new CLKernelArgConstantCLValue(cl_val) end; static function CLKernelArgConstant.operator implicit(cl_val: CLValueCCQ): CLKernelArgConstant; where T: record; -begin Result := FromCLValue(cl_val as object as CommandQueue>) end; +begin Result := FromCLValue(cl_val) end; {$endregion CLValue} @@ -18038,7 +18030,7 @@ CLKernelArgPrivateCommon = record static function CLKernelArgConstant.FromCLArray(cl_arr: CommandQueue>): CLKernelArgConstant; where T: record; begin Result := new CLKernelArgConstantCLArray(cl_arr) end; static function CLKernelArgConstant.operator implicit(cl_arr: CLArrayCCQ): CLKernelArgConstant; where T: record; -begin Result := FromCLArray(cl_arr as object as CommandQueue>) end; +begin Result := FromCLArray(cl_arr) end; {$endregion CLArray} @@ -18607,7 +18599,7 @@ CLKernelArgPrivateCommon = record static function CLKernelArg.FromCLMemory(cl_mem: CommandQueue): CLKernelArg; begin Result := CLKernelArgGlobal.FromCLMemory(cl_mem) end; static function CLKernelArg.operator implicit(cl_mem: CLMemoryCCQ): CLKernelArg; -begin Result := FromCLMemory(cl_mem as object as CommandQueue) end; +begin Result := FromCLMemory(cl_mem) end; {$endregion CLMemory} @@ -18616,7 +18608,7 @@ CLKernelArgPrivateCommon = record static function CLKernelArg.FromCLValue(cl_val: CommandQueue>): CLKernelArg; where T: record; begin Result := CLKernelArgGlobal.FromCLValue(cl_val) end; static function CLKernelArg.operator implicit(cl_val: CLValueCCQ): CLKernelArg; where T: record; -begin Result := FromCLValue(cl_val as object as CommandQueue>) end; +begin Result := FromCLValue(cl_val) end; {$endregion CLValue} @@ -18625,7 +18617,7 @@ CLKernelArgPrivateCommon = record static function CLKernelArg.FromCLArray(cl_arr: CommandQueue>): CLKernelArg; where T: record; begin Result := CLKernelArgGlobal.FromCLArray(cl_arr) end; static function CLKernelArg.operator implicit(cl_arr: CLArrayCCQ): CLKernelArg; where T: record; -begin Result := FromCLArray(cl_arr as object as CommandQueue>) end; +begin Result := FromCLArray(cl_arr) end; {$endregion CLArray} @@ -19281,24 +19273,24 @@ function CLKernel.Exec(global_work_offset, global_work_size, local_work_size: Co protected procedure InitBeforeInvoke(g: CLTaskGlobalData; prev_hubs: HashSet); override; begin foreach var arg in args do arg.InitBeforeInvoke(g, prev_hubs); - sz1.InitBeforeInvoke(g, prev_hubs); + sz1.InitBeforeInvoke(g, prev_hubs); end; protected function InvokeParams(enq_c: integer; o_const: boolean; g: CLTaskGlobalData; enq_evs: DoubleList; par_err_handlers: DoubleList; get_arg_cache: ()->CLKernelArgCache): ParamInvRes; override; begin - var sz1_qr: QueueRes; + var sz1_qr: QueueRes; var arg_setters: array of CLKernelArgSetter; g.ParallelInvoke(nil, enq_c, invoker-> begin - sz1_qr := invoker.InvokeBranch( sz1.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); + sz1_qr := invoker.InvokeBranch(sz1.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); arg_setters := self.InvokeArgs(invoker, enq_evs, par_err_handlers); end); {$ifdef DEBUG} Result.Item1 := ()-> begin - sz1_qr.CancelStatusCheck('enq cancel'); + sz1_qr.CancelStatusCheck('enq cancel'); end; {$else DEBUG} Result.Item1 := nil; @@ -19306,7 +19298,7 @@ function CLKernel.Exec(global_work_offset, global_work_size, local_work_size: Co Result.Item2 := (o, cq, evs)-> begin - var sz1 := sz1_qr.GetResDirect; + var sz1 := sz1_qr.GetResDirect; ApplySetters(get_arg_cache(), arg_setters); var res_ev: cl_event; @@ -19374,28 +19366,28 @@ function CLKernelCCQ.ThenExec1(sz1: CommandQueue; params args: array of protected procedure InitBeforeInvoke(g: CLTaskGlobalData; prev_hubs: HashSet); override; begin foreach var arg in args do arg.InitBeforeInvoke(g, prev_hubs); - sz1.InitBeforeInvoke(g, prev_hubs); - sz2.InitBeforeInvoke(g, prev_hubs); + sz1.InitBeforeInvoke(g, prev_hubs); + sz2.InitBeforeInvoke(g, prev_hubs); end; protected function InvokeParams(enq_c: integer; o_const: boolean; g: CLTaskGlobalData; enq_evs: DoubleList; par_err_handlers: DoubleList; get_arg_cache: ()->CLKernelArgCache): ParamInvRes; override; begin - var sz1_qr: QueueRes; - var sz2_qr: QueueRes; + var sz1_qr: QueueRes; + var sz2_qr: QueueRes; var arg_setters: array of CLKernelArgSetter; g.ParallelInvoke(nil, enq_c, invoker-> begin - sz1_qr := invoker.InvokeBranch( sz1.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); - sz2_qr := invoker.InvokeBranch( sz2.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); + sz1_qr := invoker.InvokeBranch(sz1.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); + sz2_qr := invoker.InvokeBranch(sz2.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); arg_setters := self.InvokeArgs(invoker, enq_evs, par_err_handlers); end); {$ifdef DEBUG} Result.Item1 := ()-> begin - sz1_qr.CancelStatusCheck('enq cancel'); - sz2_qr.CancelStatusCheck('enq cancel'); + sz1_qr.CancelStatusCheck('enq cancel'); + sz2_qr.CancelStatusCheck('enq cancel'); end; {$else DEBUG} Result.Item1 := nil; @@ -19403,8 +19395,8 @@ function CLKernelCCQ.ThenExec1(sz1: CommandQueue; params args: array of Result.Item2 := (o, cq, evs)-> begin - var sz1 := sz1_qr.GetResDirect; - var sz2 := sz2_qr.GetResDirect; + var sz1 := sz1_qr.GetResDirect; + var sz2 := sz2_qr.GetResDirect; ApplySetters(get_arg_cache(), arg_setters); var res_ev: cl_event; @@ -19479,32 +19471,32 @@ function CLKernelCCQ.ThenExec2(sz1,sz2: CommandQueue; params args: arra protected procedure InitBeforeInvoke(g: CLTaskGlobalData; prev_hubs: HashSet); override; begin foreach var arg in args do arg.InitBeforeInvoke(g, prev_hubs); - sz1.InitBeforeInvoke(g, prev_hubs); - sz2.InitBeforeInvoke(g, prev_hubs); - sz3.InitBeforeInvoke(g, prev_hubs); + sz1.InitBeforeInvoke(g, prev_hubs); + sz2.InitBeforeInvoke(g, prev_hubs); + sz3.InitBeforeInvoke(g, prev_hubs); end; protected function InvokeParams(enq_c: integer; o_const: boolean; g: CLTaskGlobalData; enq_evs: DoubleList; par_err_handlers: DoubleList; get_arg_cache: ()->CLKernelArgCache): ParamInvRes; override; begin - var sz1_qr: QueueRes; - var sz2_qr: QueueRes; - var sz3_qr: QueueRes; + var sz1_qr: QueueRes; + var sz2_qr: QueueRes; + var sz3_qr: QueueRes; var arg_setters: array of CLKernelArgSetter; g.ParallelInvoke(nil, enq_c, invoker-> begin - sz1_qr := invoker.InvokeBranch( sz1.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); - sz2_qr := invoker.InvokeBranch( sz2.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); - sz3_qr := invoker.InvokeBranch( sz3.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); + sz1_qr := invoker.InvokeBranch(sz1.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); + sz2_qr := invoker.InvokeBranch(sz2.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); + sz3_qr := invoker.InvokeBranch(sz3.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); arg_setters := self.InvokeArgs(invoker, enq_evs, par_err_handlers); end); {$ifdef DEBUG} Result.Item1 := ()-> begin - sz1_qr.CancelStatusCheck('enq cancel'); - sz2_qr.CancelStatusCheck('enq cancel'); - sz3_qr.CancelStatusCheck('enq cancel'); + sz1_qr.CancelStatusCheck('enq cancel'); + sz2_qr.CancelStatusCheck('enq cancel'); + sz3_qr.CancelStatusCheck('enq cancel'); end; {$else DEBUG} Result.Item1 := nil; @@ -19512,9 +19504,9 @@ function CLKernelCCQ.ThenExec2(sz1,sz2: CommandQueue; params args: arra Result.Item2 := (o, cq, evs)-> begin - var sz1 := sz1_qr.GetResDirect; - var sz2 := sz2_qr.GetResDirect; - var sz3 := sz3_qr.GetResDirect; + var sz1 := sz1_qr.GetResDirect; + var sz2 := sz2_qr.GetResDirect; + var sz3 := sz3_qr.GetResDirect; ApplySetters(get_arg_cache(), arg_setters); var res_ev: cl_event; diff --git a/Packing/Descriptions/OpenCLABC.predoc b/Packing/Descriptions/OpenCLABC.predoc index 3c9d9b5e..f53be4b0 100644 --- a/Packing/Descriptions/OpenCLABC.predoc +++ b/Packing/Descriptions/OpenCLABC.predoc @@ -5185,8 +5185,7 @@ type public static function operator=(wr1, wr2: CLPlatform): boolean := ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); - public static function operator<>(wr1, wr2: CLPlatform): boolean := false= - ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); + public static function operator<>(wr1, wr2: CLPlatform): boolean := not(wr1=wr2); public function Equals(obj: object): boolean; override := (obj is CLPlatform(var wr)) and (self = wr); @@ -5213,8 +5212,7 @@ type public static function operator=(wr1, wr2: CLDevice): boolean := ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); - public static function operator<>(wr1, wr2: CLDevice): boolean := false= - ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); + public static function operator<>(wr1, wr2: CLDevice): boolean := not(wr1=wr2); public function Equals(obj: object): boolean; override := (obj is CLDevice(var wr)) and (self = wr); @@ -5256,8 +5254,7 @@ type public static function operator=(wr1, wr2: CLContext): boolean := ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); - public static function operator<>(wr1, wr2: CLContext): boolean := false= - ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); + public static function operator<>(wr1, wr2: CLContext): boolean := not(wr1=wr2); public function Equals(obj: object): boolean; override := (obj is CLContext(var wr)) and (self = wr); @@ -5276,8 +5273,7 @@ type public static function operator=(wr1, wr2: CLCode): boolean := ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); - public static function operator<>(wr1, wr2: CLCode): boolean := false= - ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); + public static function operator<>(wr1, wr2: CLCode): boolean := not(wr1=wr2); public function Equals(obj: object): boolean; override := (obj is CLCode(var wr)) and (self = wr); @@ -5294,8 +5290,7 @@ type public static function operator=(wr1, wr2: CLKernel): boolean := ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.Name=wr2.Name) and (wr1.CodeContainer=wr2.CodeContainer); - public static function operator<>(wr1, wr2: CLKernel): boolean := false= - ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.Name=wr2.Name) and (wr1.CodeContainer=wr2.CodeContainer); + public static function operator<>(wr1, wr2: CLKernel): boolean := not(wr1=wr2); public function Equals(obj: object): boolean; override := (obj is CLKernel(var wr)) and (self = wr); @@ -5322,8 +5317,7 @@ type public static function operator=(wr1, wr2: CLMemory): boolean := ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); - public static function operator<>(wr1, wr2: CLMemory): boolean := false= - ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); + public static function operator<>(wr1, wr2: CLMemory): boolean := not(wr1=wr2); public function Equals(obj: object): boolean; override := (obj is CLMemory(var wr)) and (self = wr); @@ -5365,8 +5359,7 @@ type public static function operator=(wr1, wr2: CLValue): boolean := ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); - public static function operator<>(wr1, wr2: CLValue): boolean := false= - ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); + public static function operator<>(wr1, wr2: CLValue): boolean := not(wr1=wr2); public function Equals(obj: object): boolean; override := (obj is CLValue(var wr)) and (self = wr); @@ -5393,8 +5386,7 @@ type public static function operator=(wr1, wr2: CLArray): boolean := ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); - public static function operator<>(wr1, wr2: CLArray): boolean := false= - ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); + public static function operator<>(wr1, wr2: CLArray): boolean := not(wr1=wr2); public function Equals(obj: object): boolean; override := (obj is CLArray(var wr)) and (self = wr); @@ -16800,7 +16792,7 @@ type static function CLKernelArgGlobal.FromCLMemory(cl_mem: CommandQueue): CLKernelArgGlobal; begin Result := new CLKernelArgGlobalCLMemory(cl_mem) end; static function CLKernelArgGlobal.operator implicit(cl_mem: CLMemoryCCQ): CLKernelArgGlobal; -begin Result := FromCLMemory(cl_mem as object as CommandQueue) end; +begin Result := FromCLMemory(cl_mem) end; {$endregion CLMemory} @@ -16833,7 +16825,7 @@ type static function CLKernelArgGlobal.FromCLValue(cl_val: CommandQueue>): CLKernelArgGlobal; where T: record; begin Result := new CLKernelArgGlobalCLValue(cl_val) end; static function CLKernelArgGlobal.operator implicit(cl_val: CLValueCCQ): CLKernelArgGlobal; where T: record; -begin Result := FromCLValue(cl_val as object as CommandQueue>) end; +begin Result := FromCLValue(cl_val) end; {$endregion CLValue} @@ -16866,7 +16858,7 @@ type static function CLKernelArgGlobal.FromCLArray(cl_arr: CommandQueue>): CLKernelArgGlobal; where T: record; begin Result := new CLKernelArgGlobalCLArray(cl_arr) end; static function CLKernelArgGlobal.operator implicit(cl_arr: CLArrayCCQ): CLKernelArgGlobal; where T: record; -begin Result := FromCLArray(cl_arr as object as CommandQueue>) end; +begin Result := FromCLArray(cl_arr) end; {$endregion CLArray} @@ -16906,7 +16898,7 @@ type static function CLKernelArgConstant.FromCLMemory(cl_mem: CommandQueue): CLKernelArgConstant; begin Result := new CLKernelArgConstantCLMemory(cl_mem) end; static function CLKernelArgConstant.operator implicit(cl_mem: CLMemoryCCQ): CLKernelArgConstant; -begin Result := FromCLMemory(cl_mem as object as CommandQueue) end; +begin Result := FromCLMemory(cl_mem) end; {$endregion CLMemory} @@ -16939,7 +16931,7 @@ type static function CLKernelArgConstant.FromCLValue(cl_val: CommandQueue>): CLKernelArgConstant; where T: record; begin Result := new CLKernelArgConstantCLValue(cl_val) end; static function CLKernelArgConstant.operator implicit(cl_val: CLValueCCQ): CLKernelArgConstant; where T: record; -begin Result := FromCLValue(cl_val as object as CommandQueue>) end; +begin Result := FromCLValue(cl_val) end; {$endregion CLValue} @@ -16972,7 +16964,7 @@ type static function CLKernelArgConstant.FromCLArray(cl_arr: CommandQueue>): CLKernelArgConstant; where T: record; begin Result := new CLKernelArgConstantCLArray(cl_arr) end; static function CLKernelArgConstant.operator implicit(cl_arr: CLArrayCCQ): CLKernelArgConstant; where T: record; -begin Result := FromCLArray(cl_arr as object as CommandQueue>) end; +begin Result := FromCLArray(cl_arr) end; {$endregion CLArray} @@ -17541,7 +17533,7 @@ begin Result := CLKernelArgPrivate.FromNativeArray(ntv_arr) end; static function CLKernelArg.FromCLMemory(cl_mem: CommandQueue): CLKernelArg; begin Result := CLKernelArgGlobal.FromCLMemory(cl_mem) end; static function CLKernelArg.operator implicit(cl_mem: CLMemoryCCQ): CLKernelArg; -begin Result := FromCLMemory(cl_mem as object as CommandQueue) end; +begin Result := FromCLMemory(cl_mem) end; {$endregion CLMemory} @@ -17550,7 +17542,7 @@ begin Result := FromCLMemory(cl_mem as object as CommandQueue) end; static function CLKernelArg.FromCLValue(cl_val: CommandQueue>): CLKernelArg; where T: record; begin Result := CLKernelArgGlobal.FromCLValue(cl_val) end; static function CLKernelArg.operator implicit(cl_val: CLValueCCQ): CLKernelArg; where T: record; -begin Result := FromCLValue(cl_val as object as CommandQueue>) end; +begin Result := FromCLValue(cl_val) end; {$endregion CLValue} @@ -17559,7 +17551,7 @@ begin Result := FromCLValue(cl_val as object as CommandQueue>) end; static function CLKernelArg.FromCLArray(cl_arr: CommandQueue>): CLKernelArg; where T: record; begin Result := CLKernelArgGlobal.FromCLArray(cl_arr) end; static function CLKernelArg.operator implicit(cl_arr: CLArrayCCQ): CLKernelArg; where T: record; -begin Result := FromCLArray(cl_arr as object as CommandQueue>) end; +begin Result := FromCLArray(cl_arr) end; {$endregion CLArray} @@ -18215,24 +18207,24 @@ type protected procedure InitBeforeInvoke(g: CLTaskGlobalData; prev_hubs: HashSet); override; begin foreach var arg in args do arg.InitBeforeInvoke(g, prev_hubs); - sz1.InitBeforeInvoke(g, prev_hubs); + sz1.InitBeforeInvoke(g, prev_hubs); end; protected function InvokeParams(enq_c: integer; o_const: boolean; g: CLTaskGlobalData; enq_evs: DoubleList; par_err_handlers: DoubleList; get_arg_cache: ()->CLKernelArgCache): ParamInvRes; override; begin - var sz1_qr: QueueRes; + var sz1_qr: QueueRes; var arg_setters: array of CLKernelArgSetter; g.ParallelInvoke(nil, enq_c, invoker-> begin - sz1_qr := invoker.InvokeBranch( sz1.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); + sz1_qr := invoker.InvokeBranch(sz1.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); arg_setters := self.InvokeArgs(invoker, enq_evs, par_err_handlers); end); {$ifdef DEBUG} Result.Item1 := ()-> begin - sz1_qr.CancelStatusCheck('enq cancel'); + sz1_qr.CancelStatusCheck('enq cancel'); end; {$else DEBUG} Result.Item1 := nil; @@ -18240,7 +18232,7 @@ type Result.Item2 := (o, cq, evs)-> begin - var sz1 := sz1_qr.GetResDirect; + var sz1 := sz1_qr.GetResDirect; ApplySetters(get_arg_cache(), arg_setters); var res_ev: cl_event; @@ -18308,28 +18300,28 @@ type protected procedure InitBeforeInvoke(g: CLTaskGlobalData; prev_hubs: HashSet); override; begin foreach var arg in args do arg.InitBeforeInvoke(g, prev_hubs); - sz1.InitBeforeInvoke(g, prev_hubs); - sz2.InitBeforeInvoke(g, prev_hubs); + sz1.InitBeforeInvoke(g, prev_hubs); + sz2.InitBeforeInvoke(g, prev_hubs); end; protected function InvokeParams(enq_c: integer; o_const: boolean; g: CLTaskGlobalData; enq_evs: DoubleList; par_err_handlers: DoubleList; get_arg_cache: ()->CLKernelArgCache): ParamInvRes; override; begin - var sz1_qr: QueueRes; - var sz2_qr: QueueRes; + var sz1_qr: QueueRes; + var sz2_qr: QueueRes; var arg_setters: array of CLKernelArgSetter; g.ParallelInvoke(nil, enq_c, invoker-> begin - sz1_qr := invoker.InvokeBranch( sz1.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); - sz2_qr := invoker.InvokeBranch( sz2.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); + sz1_qr := invoker.InvokeBranch(sz1.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); + sz2_qr := invoker.InvokeBranch(sz2.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); arg_setters := self.InvokeArgs(invoker, enq_evs, par_err_handlers); end); {$ifdef DEBUG} Result.Item1 := ()-> begin - sz1_qr.CancelStatusCheck('enq cancel'); - sz2_qr.CancelStatusCheck('enq cancel'); + sz1_qr.CancelStatusCheck('enq cancel'); + sz2_qr.CancelStatusCheck('enq cancel'); end; {$else DEBUG} Result.Item1 := nil; @@ -18337,8 +18329,8 @@ type Result.Item2 := (o, cq, evs)-> begin - var sz1 := sz1_qr.GetResDirect; - var sz2 := sz2_qr.GetResDirect; + var sz1 := sz1_qr.GetResDirect; + var sz2 := sz2_qr.GetResDirect; ApplySetters(get_arg_cache(), arg_setters); var res_ev: cl_event; @@ -18413,32 +18405,32 @@ type protected procedure InitBeforeInvoke(g: CLTaskGlobalData; prev_hubs: HashSet); override; begin foreach var arg in args do arg.InitBeforeInvoke(g, prev_hubs); - sz1.InitBeforeInvoke(g, prev_hubs); - sz2.InitBeforeInvoke(g, prev_hubs); - sz3.InitBeforeInvoke(g, prev_hubs); + sz1.InitBeforeInvoke(g, prev_hubs); + sz2.InitBeforeInvoke(g, prev_hubs); + sz3.InitBeforeInvoke(g, prev_hubs); end; protected function InvokeParams(enq_c: integer; o_const: boolean; g: CLTaskGlobalData; enq_evs: DoubleList; par_err_handlers: DoubleList; get_arg_cache: ()->CLKernelArgCache): ParamInvRes; override; begin - var sz1_qr: QueueRes; - var sz2_qr: QueueRes; - var sz3_qr: QueueRes; + var sz1_qr: QueueRes; + var sz2_qr: QueueRes; + var sz3_qr: QueueRes; var arg_setters: array of CLKernelArgSetter; g.ParallelInvoke(nil, enq_c, invoker-> begin - sz1_qr := invoker.InvokeBranch( sz1.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); - sz2_qr := invoker.InvokeBranch( sz2.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); - sz3_qr := invoker.InvokeBranch( sz3.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); + sz1_qr := invoker.InvokeBranch(sz1.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); + sz2_qr := invoker.InvokeBranch(sz2.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); + sz3_qr := invoker.InvokeBranch(sz3.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); arg_setters := self.InvokeArgs(invoker, enq_evs, par_err_handlers); end); {$ifdef DEBUG} Result.Item1 := ()-> begin - sz1_qr.CancelStatusCheck('enq cancel'); - sz2_qr.CancelStatusCheck('enq cancel'); - sz3_qr.CancelStatusCheck('enq cancel'); + sz1_qr.CancelStatusCheck('enq cancel'); + sz2_qr.CancelStatusCheck('enq cancel'); + sz3_qr.CancelStatusCheck('enq cancel'); end; {$else DEBUG} Result.Item1 := nil; @@ -18446,9 +18438,9 @@ type Result.Item2 := (o, cq, evs)-> begin - var sz1 := sz1_qr.GetResDirect; - var sz2 := sz2_qr.GetResDirect; - var sz3 := sz3_qr.GetResDirect; + var sz1 := sz1_qr.GetResDirect; + var sz2 := sz2_qr.GetResDirect; + var sz3 := sz3_qr.GetResDirect; ApplySetters(get_arg_cache(), arg_setters); var res_ev: cl_event; diff --git a/Packing/Template/HighLvl/OpenCLABC/CLKernelArg.pas b/Packing/Template/HighLvl/OpenCLABC/CLKernelArg.pas index a626cd35..089ee157 100644 --- a/Packing/Template/HighLvl/OpenCLABC/CLKernelArg.pas +++ b/Packing/Template/HighLvl/OpenCLABC/CLKernelArg.pas @@ -4,8 +4,6 @@ uses '../../Common/PackingUtils'; -//TODO Генерация теста - type FromMethodSettings = record public inp_nick, par_name, inp_tname: string; @@ -472,11 +470,6 @@ all += class_name; m += s.inp_nick; m += '('; m += s.par_name; - //TODO #???? - begin - m += ' as object as '; - write_inp_t(m, 'CommandQueue'); - end; m += ') end;'#10; t += 'TestT&<'; @@ -584,7 +577,7 @@ t += class_name; end); - //TODO #2650: Как исправят - перенести в начало [Managed] + //TODO #3054: Как исправят - перенести в начало [Managed] begin var s := FromMethodSettings.Create('Value', 'val', nil, true, false); diff --git a/Packing/Template/HighLvl/OpenCLABC/CLKernelArg/Constant/implementation.template b/Packing/Template/HighLvl/OpenCLABC/CLKernelArg/Constant/implementation.template index b2bd4f17..3fba5dc1 100644 --- a/Packing/Template/HighLvl/OpenCLABC/CLKernelArg/Constant/implementation.template +++ b/Packing/Template/HighLvl/OpenCLABC/CLKernelArg/Constant/implementation.template @@ -31,7 +31,7 @@ type static function CLKernelArgConstant.FromCLMemory(cl_mem: CommandQueue): CLKernelArgConstant; begin Result := new CLKernelArgConstantCLMemory(cl_mem) end; static function CLKernelArgConstant.operator implicit(cl_mem: CLMemoryCCQ): CLKernelArgConstant; -begin Result := FromCLMemory(cl_mem as object as CommandQueue) end; +begin Result := FromCLMemory(cl_mem) end; {$endregion CLMemory} @@ -64,7 +64,7 @@ type static function CLKernelArgConstant.FromCLValue(cl_val: CommandQueue>): CLKernelArgConstant; where T: record; begin Result := new CLKernelArgConstantCLValue(cl_val) end; static function CLKernelArgConstant.operator implicit(cl_val: CLValueCCQ): CLKernelArgConstant; where T: record; -begin Result := FromCLValue(cl_val as object as CommandQueue>) end; +begin Result := FromCLValue(cl_val) end; {$endregion CLValue} @@ -97,7 +97,7 @@ type static function CLKernelArgConstant.FromCLArray(cl_arr: CommandQueue>): CLKernelArgConstant; where T: record; begin Result := new CLKernelArgConstantCLArray(cl_arr) end; static function CLKernelArgConstant.operator implicit(cl_arr: CLArrayCCQ): CLKernelArgConstant; where T: record; -begin Result := FromCLArray(cl_arr as object as CommandQueue>) end; +begin Result := FromCLArray(cl_arr) end; {$endregion CLArray} diff --git a/Packing/Template/HighLvl/OpenCLABC/CLKernelArg/Generic/implementation.template b/Packing/Template/HighLvl/OpenCLABC/CLKernelArg/Generic/implementation.template index 84441bc4..ff43ca4f 100644 --- a/Packing/Template/HighLvl/OpenCLABC/CLKernelArg/Generic/implementation.template +++ b/Packing/Template/HighLvl/OpenCLABC/CLKernelArg/Generic/implementation.template @@ -90,7 +90,7 @@ begin Result := CLKernelArgPrivate.FromNativeArray(ntv_arr) end; static function CLKernelArg.FromCLMemory(cl_mem: CommandQueue): CLKernelArg; begin Result := CLKernelArgGlobal.FromCLMemory(cl_mem) end; static function CLKernelArg.operator implicit(cl_mem: CLMemoryCCQ): CLKernelArg; -begin Result := FromCLMemory(cl_mem as object as CommandQueue) end; +begin Result := FromCLMemory(cl_mem) end; {$endregion CLMemory} @@ -99,7 +99,7 @@ begin Result := FromCLMemory(cl_mem as object as CommandQueue) end; static function CLKernelArg.FromCLValue(cl_val: CommandQueue>): CLKernelArg; where T: record; begin Result := CLKernelArgGlobal.FromCLValue(cl_val) end; static function CLKernelArg.operator implicit(cl_val: CLValueCCQ): CLKernelArg; where T: record; -begin Result := FromCLValue(cl_val as object as CommandQueue>) end; +begin Result := FromCLValue(cl_val) end; {$endregion CLValue} @@ -108,7 +108,7 @@ begin Result := FromCLValue(cl_val as object as CommandQueue>) end; static function CLKernelArg.FromCLArray(cl_arr: CommandQueue>): CLKernelArg; where T: record; begin Result := CLKernelArgGlobal.FromCLArray(cl_arr) end; static function CLKernelArg.operator implicit(cl_arr: CLArrayCCQ): CLKernelArg; where T: record; -begin Result := FromCLArray(cl_arr as object as CommandQueue>) end; +begin Result := FromCLArray(cl_arr) end; {$endregion CLArray} diff --git a/Packing/Template/HighLvl/OpenCLABC/CLKernelArg/Global/implementation.template b/Packing/Template/HighLvl/OpenCLABC/CLKernelArg/Global/implementation.template index 62c0162b..a1dda2a8 100644 --- a/Packing/Template/HighLvl/OpenCLABC/CLKernelArg/Global/implementation.template +++ b/Packing/Template/HighLvl/OpenCLABC/CLKernelArg/Global/implementation.template @@ -31,7 +31,7 @@ type static function CLKernelArgGlobal.FromCLMemory(cl_mem: CommandQueue): CLKernelArgGlobal; begin Result := new CLKernelArgGlobalCLMemory(cl_mem) end; static function CLKernelArgGlobal.operator implicit(cl_mem: CLMemoryCCQ): CLKernelArgGlobal; -begin Result := FromCLMemory(cl_mem as object as CommandQueue) end; +begin Result := FromCLMemory(cl_mem) end; {$endregion CLMemory} @@ -64,7 +64,7 @@ type static function CLKernelArgGlobal.FromCLValue(cl_val: CommandQueue>): CLKernelArgGlobal; where T: record; begin Result := new CLKernelArgGlobalCLValue(cl_val) end; static function CLKernelArgGlobal.operator implicit(cl_val: CLValueCCQ): CLKernelArgGlobal; where T: record; -begin Result := FromCLValue(cl_val as object as CommandQueue>) end; +begin Result := FromCLValue(cl_val) end; {$endregion CLValue} @@ -97,7 +97,7 @@ type static function CLKernelArgGlobal.FromCLArray(cl_arr: CommandQueue>): CLKernelArgGlobal; where T: record; begin Result := new CLKernelArgGlobalCLArray(cl_arr) end; static function CLKernelArgGlobal.operator implicit(cl_arr: CLArrayCCQ): CLKernelArgGlobal; where T: record; -begin Result := FromCLArray(cl_arr as object as CommandQueue>) end; +begin Result := FromCLArray(cl_arr) end; {$endregion CLArray} diff --git a/Packing/Template/HighLvl/OpenCLABC/ContainerMethodData.pas b/Packing/Template/HighLvl/OpenCLABC/ContainerMethodData.pas index d00455e5..28fe7b8d 100644 --- a/Packing/Template/HighLvl/OpenCLABC/ContainerMethodData.pas +++ b/Packing/Template/HighLvl/OpenCLABC/ContainerMethodData.pas @@ -448,13 +448,12 @@ function ArrLvl(self: MethodArgType): integer; extensionmethod := protected procedure WriteSpecialPreEnq(wr: Writer; settings: TSettings); virtual := exit; protected procedure WriteSpecialPostEnq(wr: Writer; settings: TSettings); virtual := exit; - private procedure WriteParamInvokes(fn: string; max_arg_w: integer; settings: TSettings); + private procedure WriteParamInvokes(fn: string; max_non_arr_cq_arg_w: integer; settings: TSettings); begin - //TODO #2654 - var invokeable_args := - settings.args?.&Where(arg->(settings as MethodSettings).arg_usage.ContainsKey(arg.name) and arg.t.IsCQ) - .Concat(GetSpecialInvokeResVars(settings)).ToArray - ?? System.Array.Empty&; + var invokeable_args := ( + (settings.args?.&Where(arg->settings.arg_usage.ContainsKey(arg.name) and arg.t.IsCQ) ?? System.Array.Empty&) + + GetSpecialInvokeResVars(settings) + ).ToArray; if invokeable_args.Length=0 then exit; @@ -469,7 +468,7 @@ function ArrLvl(self: MethodArgType): integer; extensionmethod := res_EIm += ';'#10; continue; end; - res_EIm += arg.name.PadLeft(max_arg_w); + res_EIm += if arg.t.ArrLvl<>0 then arg.name else arg.name.PadLeft(max_non_arr_cq_arg_w); res_EIm += '_qr: '; var t := arg.t; @@ -490,8 +489,7 @@ function ArrLvl(self: MethodArgType): integer; extensionmethod := break; res_EIm += 'QueueRes'; - //TODO #2654 - if (settings as MethodSettings).arg_usage[arg.name]='ptr' then + if settings.arg_usage[arg.name]='ptr' then res_EIm += 'Ptr'; res_EIm += '<'; res_EIm += MethodArgTypeCQ(t).next.org_text; @@ -506,8 +504,7 @@ function ArrLvl(self: MethodArgType): integer; extensionmethod := var WriteArgInvoke := procedure(arg: MethodArg; to_ptr: boolean)-> begin - //TODO #2654 - if to_ptr <> ((settings as MethodSettings).arg_usage[arg.name]='ptr') then exit; + if to_ptr <> (settings.arg_usage[arg.name]='ptr') then exit; res_EIm += ' '; if arg.t is MethodArgTypeBasic then @@ -516,9 +513,7 @@ function ArrLvl(self: MethodArgType): integer; extensionmethod := exit; end; - var res_EIm := res_EIm; //TODO #???? (issue с 3 переменными) - - res_EIm += arg.name.PadLeft(max_arg_w); + res_EIm += if arg.t.ArrLvl<>0 then arg.name else arg.name.PadLeft(max_non_arr_cq_arg_w); res_EIm += '_qr := '; var arg_name := arg.name; @@ -536,8 +531,7 @@ function ArrLvl(self: MethodArgType): integer; extensionmethod := end; res_EIm += 'invoker.InvokeBranch('; - //TODO Вместо max_arg_w тут надо что то отдельное, потому что не все проходят это условие - res_EIm += if arg.t.ArrLvl<>0 then arg_name else arg_name.PadLeft(max_arg_w); + res_EIm += if arg.t.ArrLvl<>0 then arg_name else arg_name.PadLeft(max_non_arr_cq_arg_w); res_EIm += '.Invoke'; res_EIm += to_ptr ? 'ToPtr' : 'ToAny'; res_EIm += ', par_err_handlers, '; @@ -570,7 +564,7 @@ function ArrLvl(self: MethodArgType): integer; extensionmethod := end; - private procedure WriteCommandTypeInvoke(fn: string; max_arg_w: integer; settings: TSettings); + private procedure WriteCommandTypeInvoke(fn: string; max_non_arr_cq_arg_w: integer; settings: TSettings); begin WriteInvokeHeader(settings); res_EIm += ' begin'#10; @@ -580,7 +574,7 @@ function ArrLvl(self: MethodArgType): integer; extensionmethod := if not settings.arg_usage.ContainsKey(arg.name) then Otp($'WARNING: arg [{arg.name}] is defined for {fn}({settings.args_str}), but never used'); - WriteParamInvokes(fn, max_arg_w, settings); + WriteParamInvokes(fn, max_non_arr_cq_arg_w, settings); res_EIm += ' '#10; @@ -596,7 +590,7 @@ function ArrLvl(self: MethodArgType): integer; extensionmethod := if not arg.t.IsCQ then continue; res_EIm += ' '; - res_EIm += arg.name.PadLeft(max_arg_w); + res_EIm += if arg.t.ArrLvl<>0 then arg.name else arg.name.PadLeft(max_non_arr_cq_arg_w); res_EIm += '_qr'; for var i := 1 to arg.t.ArrLvl do @@ -636,9 +630,9 @@ function ArrLvl(self: MethodArgType): integer; extensionmethod := if not arg.t.IsCQ then continue; res_EIm += ' var '; - res_EIm += arg.name.PadLeft(max_arg_w); + res_EIm += if arg.t.ArrLvl<>0 then arg.name else arg.name.PadLeft(max_non_arr_cq_arg_w); res_EIm += ' := '; - res_EIm += arg.name.PadLeft(max_arg_w); + res_EIm += if arg.t.ArrLvl<>0 then arg.name else arg.name.PadLeft(max_non_arr_cq_arg_w); res_EIm += '_qr'; for var i := 1 to arg.t.ArrLvl do @@ -820,6 +814,7 @@ function ArrLvl(self: MethodArgType): integer; extensionmethod := {$region field's} var max_arg_w := settings.args=nil ? 0 : settings.args.Max(arg->arg.name.Length); + var max_non_arr_cq_arg_w := settings.args=nil ? 0 : settings.args.Where(arg->arg.t.ArrLvl=0).Where(arg->arg.t.IsCQ).Select(arg->arg.name.Length).DefaultIfEmpty.Max; var val_ptr_args := new HashSet; if settings.args<>nil then @@ -981,7 +976,7 @@ function ArrLvl(self: MethodArgType): integer; extensionmethod := vname := nvname; end; - res_EIm += arg.t is MethodArgTypeArray ? vname : vname.PadLeft(max_arg_w); + res_EIm += if arg.t.ArrLvl<>0 then vname else vname.PadLeft(max_non_arr_cq_arg_w); res_EIm += '.InitBeforeInvoke(g, prev_hubs);'#10; end; @@ -992,7 +987,7 @@ function ArrLvl(self: MethodArgType): integer; extensionmethod := {$endregion InitBeforeInvoke} - WriteCommandTypeInvoke(fn, max_arg_w, settings); + WriteCommandTypeInvoke(fn, max_non_arr_cq_arg_w, settings); res_EIm += ' '#10; {$region ToStringImpl} @@ -1194,8 +1189,7 @@ function ArrLvl(self: MethodArgType): integer; extensionmethod := res_EIm += t; res_EIm += 'Command'; res_EIm += tn; - //TODO #2654 - if generics.Count+(settings as MethodSettings).generics.Count <> 0 then + if generics.Count+settings.generics.Count <> 0 then begin res_EIm += '<'; res_EIm += generics.Select(g->g[0]).Concat(settings.generics).JoinToString(', '); @@ -1204,8 +1198,7 @@ function ArrLvl(self: MethodArgType): integer; extensionmethod := if settings.impl_args<>nil then begin res_EIm += '('; - //TODO #2654 - res_EIm += (settings as MethodSettings).impl_args.JoinToString(', '); + res_EIm += settings.impl_args.JoinToString(', '); res_EIm += ')'; end; end, settings); diff --git a/Packing/Template/HighLvl/OpenCLABC/ContainerMethods/CLKernel.Exec/Explicit.Implementation.template b/Packing/Template/HighLvl/OpenCLABC/ContainerMethods/CLKernel.Exec/Explicit.Implementation.template index 6103b38d..6bd5418e 100644 --- a/Packing/Template/HighLvl/OpenCLABC/ContainerMethods/CLKernel.Exec/Explicit.Implementation.template +++ b/Packing/Template/HighLvl/OpenCLABC/ContainerMethods/CLKernel.Exec/Explicit.Implementation.template @@ -23,24 +23,24 @@ type protected procedure InitBeforeInvoke(g: CLTaskGlobalData; prev_hubs: HashSet); override; begin foreach var arg in args do arg.InitBeforeInvoke(g, prev_hubs); - sz1.InitBeforeInvoke(g, prev_hubs); + sz1.InitBeforeInvoke(g, prev_hubs); end; protected function InvokeParams(enq_c: integer; o_const: boolean; g: CLTaskGlobalData; enq_evs: DoubleList; par_err_handlers: DoubleList; get_arg_cache: ()->CLKernelArgCache): ParamInvRes; override; begin - var sz1_qr: QueueRes; + var sz1_qr: QueueRes; var arg_setters: array of CLKernelArgSetter; g.ParallelInvoke(nil, enq_c, invoker-> begin - sz1_qr := invoker.InvokeBranch( sz1.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); + sz1_qr := invoker.InvokeBranch(sz1.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); arg_setters := self.InvokeArgs(invoker, enq_evs, par_err_handlers); end); {$ifdef DEBUG} Result.Item1 := ()-> begin - sz1_qr.CancelStatusCheck('enq cancel'); + sz1_qr.CancelStatusCheck('enq cancel'); end; {$else DEBUG} Result.Item1 := nil; @@ -48,7 +48,7 @@ type Result.Item2 := (o, cq, evs)-> begin - var sz1 := sz1_qr.GetResDirect; + var sz1 := sz1_qr.GetResDirect; ApplySetters(get_arg_cache(), arg_setters); var res_ev: cl_event; @@ -116,28 +116,28 @@ type protected procedure InitBeforeInvoke(g: CLTaskGlobalData; prev_hubs: HashSet); override; begin foreach var arg in args do arg.InitBeforeInvoke(g, prev_hubs); - sz1.InitBeforeInvoke(g, prev_hubs); - sz2.InitBeforeInvoke(g, prev_hubs); + sz1.InitBeforeInvoke(g, prev_hubs); + sz2.InitBeforeInvoke(g, prev_hubs); end; protected function InvokeParams(enq_c: integer; o_const: boolean; g: CLTaskGlobalData; enq_evs: DoubleList; par_err_handlers: DoubleList; get_arg_cache: ()->CLKernelArgCache): ParamInvRes; override; begin - var sz1_qr: QueueRes; - var sz2_qr: QueueRes; + var sz1_qr: QueueRes; + var sz2_qr: QueueRes; var arg_setters: array of CLKernelArgSetter; g.ParallelInvoke(nil, enq_c, invoker-> begin - sz1_qr := invoker.InvokeBranch( sz1.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); - sz2_qr := invoker.InvokeBranch( sz2.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); + sz1_qr := invoker.InvokeBranch(sz1.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); + sz2_qr := invoker.InvokeBranch(sz2.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); arg_setters := self.InvokeArgs(invoker, enq_evs, par_err_handlers); end); {$ifdef DEBUG} Result.Item1 := ()-> begin - sz1_qr.CancelStatusCheck('enq cancel'); - sz2_qr.CancelStatusCheck('enq cancel'); + sz1_qr.CancelStatusCheck('enq cancel'); + sz2_qr.CancelStatusCheck('enq cancel'); end; {$else DEBUG} Result.Item1 := nil; @@ -145,8 +145,8 @@ type Result.Item2 := (o, cq, evs)-> begin - var sz1 := sz1_qr.GetResDirect; - var sz2 := sz2_qr.GetResDirect; + var sz1 := sz1_qr.GetResDirect; + var sz2 := sz2_qr.GetResDirect; ApplySetters(get_arg_cache(), arg_setters); var res_ev: cl_event; @@ -221,32 +221,32 @@ type protected procedure InitBeforeInvoke(g: CLTaskGlobalData; prev_hubs: HashSet); override; begin foreach var arg in args do arg.InitBeforeInvoke(g, prev_hubs); - sz1.InitBeforeInvoke(g, prev_hubs); - sz2.InitBeforeInvoke(g, prev_hubs); - sz3.InitBeforeInvoke(g, prev_hubs); + sz1.InitBeforeInvoke(g, prev_hubs); + sz2.InitBeforeInvoke(g, prev_hubs); + sz3.InitBeforeInvoke(g, prev_hubs); end; protected function InvokeParams(enq_c: integer; o_const: boolean; g: CLTaskGlobalData; enq_evs: DoubleList; par_err_handlers: DoubleList; get_arg_cache: ()->CLKernelArgCache): ParamInvRes; override; begin - var sz1_qr: QueueRes; - var sz2_qr: QueueRes; - var sz3_qr: QueueRes; + var sz1_qr: QueueRes; + var sz2_qr: QueueRes; + var sz3_qr: QueueRes; var arg_setters: array of CLKernelArgSetter; g.ParallelInvoke(nil, enq_c, invoker-> begin - sz1_qr := invoker.InvokeBranch( sz1.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); - sz2_qr := invoker.InvokeBranch( sz2.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); - sz3_qr := invoker.InvokeBranch( sz3.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); + sz1_qr := invoker.InvokeBranch(sz1.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); + sz2_qr := invoker.InvokeBranch(sz2.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); + sz3_qr := invoker.InvokeBranch(sz3.InvokeToAny, par_err_handlers, True).AddToEvLst(g, enq_evs, True); arg_setters := self.InvokeArgs(invoker, enq_evs, par_err_handlers); end); {$ifdef DEBUG} Result.Item1 := ()-> begin - sz1_qr.CancelStatusCheck('enq cancel'); - sz2_qr.CancelStatusCheck('enq cancel'); - sz3_qr.CancelStatusCheck('enq cancel'); + sz1_qr.CancelStatusCheck('enq cancel'); + sz2_qr.CancelStatusCheck('enq cancel'); + sz3_qr.CancelStatusCheck('enq cancel'); end; {$else DEBUG} Result.Item1 := nil; @@ -254,9 +254,9 @@ type Result.Item2 := (o, cq, evs)-> begin - var sz1 := sz1_qr.GetResDirect; - var sz2 := sz2_qr.GetResDirect; - var sz3 := sz3_qr.GetResDirect; + var sz1 := sz1_qr.GetResDirect; + var sz2 := sz2_qr.GetResDirect; + var sz3 := sz3_qr.GetResDirect; ApplySetters(get_arg_cache(), arg_setters); var res_ev: cl_event; diff --git a/Packing/Template/HighLvl/OpenCLABC/Wrappers.pas b/Packing/Template/HighLvl/OpenCLABC/Wrappers.pas index 65bd1439..b324ad30 100644 --- a/Packing/Template/HighLvl/OpenCLABC/Wrappers.pas +++ b/Packing/Template/HighLvl/OpenCLABC/Wrappers.pas @@ -192,11 +192,7 @@ res += ' public static function operator<>(wr1, wr2: '; res += t.name; WriteGenerics; - //TODO #????: not (wr1=wr2) - res += '): boolean := false='#10; - res += ' ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and '; - res += t.operator_equ ?? '(wr1.ntv = wr2.ntv)'; - res += ';'#10; + res += '): boolean := not(wr1=wr2);'#10; res += ' '#10; diff --git a/Packing/Template/HighLvl/OpenCLABC/Wrappers/Common.template b/Packing/Template/HighLvl/OpenCLABC/Wrappers/Common.template index 29cde63e..8fccba29 100644 --- a/Packing/Template/HighLvl/OpenCLABC/Wrappers/Common.template +++ b/Packing/Template/HighLvl/OpenCLABC/Wrappers/Common.template @@ -15,8 +15,7 @@ public static function operator=(wr1, wr2: CLPlatform): boolean := ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); - public static function operator<>(wr1, wr2: CLPlatform): boolean := false= - ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); + public static function operator<>(wr1, wr2: CLPlatform): boolean := not(wr1=wr2); public function Equals(obj: object): boolean; override := (obj is CLPlatform(var wr)) and (self = wr); @@ -43,8 +42,7 @@ public static function operator=(wr1, wr2: CLDevice): boolean := ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); - public static function operator<>(wr1, wr2: CLDevice): boolean := false= - ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); + public static function operator<>(wr1, wr2: CLDevice): boolean := not(wr1=wr2); public function Equals(obj: object): boolean; override := (obj is CLDevice(var wr)) and (self = wr); @@ -86,8 +84,7 @@ public static function operator=(wr1, wr2: CLContext): boolean := ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); - public static function operator<>(wr1, wr2: CLContext): boolean := false= - ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); + public static function operator<>(wr1, wr2: CLContext): boolean := not(wr1=wr2); public function Equals(obj: object): boolean; override := (obj is CLContext(var wr)) and (self = wr); @@ -106,8 +103,7 @@ public static function operator=(wr1, wr2: CLCode): boolean := ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); - public static function operator<>(wr1, wr2: CLCode): boolean := false= - ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); + public static function operator<>(wr1, wr2: CLCode): boolean := not(wr1=wr2); public function Equals(obj: object): boolean; override := (obj is CLCode(var wr)) and (self = wr); @@ -124,8 +120,7 @@ public static function operator=(wr1, wr2: CLKernel): boolean := ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.Name=wr2.Name) and (wr1.CodeContainer=wr2.CodeContainer); - public static function operator<>(wr1, wr2: CLKernel): boolean := false= - ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.Name=wr2.Name) and (wr1.CodeContainer=wr2.CodeContainer); + public static function operator<>(wr1, wr2: CLKernel): boolean := not(wr1=wr2); public function Equals(obj: object): boolean; override := (obj is CLKernel(var wr)) and (self = wr); @@ -152,8 +147,7 @@ public static function operator=(wr1, wr2: CLMemory): boolean := ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); - public static function operator<>(wr1, wr2: CLMemory): boolean := false= - ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); + public static function operator<>(wr1, wr2: CLMemory): boolean := not(wr1=wr2); public function Equals(obj: object): boolean; override := (obj is CLMemory(var wr)) and (self = wr); @@ -195,8 +189,7 @@ public static function operator=(wr1, wr2: CLValue): boolean := ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); - public static function operator<>(wr1, wr2: CLValue): boolean := false= - ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); + public static function operator<>(wr1, wr2: CLValue): boolean := not(wr1=wr2); public function Equals(obj: object): boolean; override := (obj is CLValue(var wr)) and (self = wr); @@ -223,8 +216,7 @@ public static function operator=(wr1, wr2: CLArray): boolean := ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); - public static function operator<>(wr1, wr2: CLArray): boolean := false= - ReferenceEquals(wr1,wr2) or not ReferenceEquals(wr1,nil) and not ReferenceEquals(wr2,nil) and (wr1.ntv = wr2.ntv); + public static function operator<>(wr1, wr2: CLArray): boolean := not(wr1=wr2); public function Equals(obj: object): boolean; override := (obj is CLArray(var wr)) and (self = wr); diff --git a/Packing/Template/LowLvl/BinUtils.pas b/Packing/Template/LowLvl/BinUtils.pas index 4bd4589d..5104ca15 100644 --- a/Packing/Template/LowLvl/BinUtils.pas +++ b/Packing/Template/LowLvl/BinUtils.pas @@ -1,6 +1,6 @@ unit BinUtils; -{$savepcu false}//TODO #2853 +{$savepcu false} //TODO #3057 uses System; @@ -51,7 +51,7 @@ function ReadEnum(self: BinReader): T; extensionmethod; if typeof(T).GetEnumUnderlyingType <> typeof(Int32) then raise new NotSupportedException; {$endif DEBUG} - //TODO #????: as object + //TODO #3056: as object Result := T(self.ReadInt32() as object); end; diff --git a/Packing/Template/LowLvl/ChoiceSets.pas b/Packing/Template/LowLvl/ChoiceSets.pas index 901673e8..a51fc453 100644 --- a/Packing/Template/LowLvl/ChoiceSets.pas +++ b/Packing/Template/LowLvl/ChoiceSets.pas @@ -56,7 +56,6 @@ MultiBooleanChoiceSet = record {$endregion MultiBooleanChoiceSet} {$region MultiIntegerChoiceSet} - //TODO Actually use (in InitOverloads) _MultiChoiceSep = record private s_div, s_mod: cardinal; diff --git a/Packing/Template/LowLvl/CodeContainerItems.pas b/Packing/Template/LowLvl/CodeContainerItems.pas index 64eb0604..6f8e7837 100644 --- a/Packing/Template/LowLvl/CodeContainerItems.pas +++ b/Packing/Template/LowLvl/CodeContainerItems.pas @@ -2545,7 +2545,7 @@ FeatureOrExtensionIndex = record if not ApiManager.ShouldKeep(api) then exit; Extension.written_c += 1; - foreach var dep in ExtDependencies.AsEnumerable do //TODO #2852 + foreach var dep in ExtDependencies do dep.Save; var any_funcs := add.Funcs.Any; diff --git a/Packing/Template/LowLvl/Essentials.pas b/Packing/Template/LowLvl/Essentials.pas index 5352c85c..6317b55a 100644 --- a/Packing/Template/LowLvl/Essentials.pas +++ b/Packing/Template/LowLvl/Essentials.pas @@ -1,11 +1,9 @@ unit Essentials; -{$savepcu false}//TODO #2868 +{$savepcu false} //TODO #3058 interface -//TODO #2852 - uses System; uses '../../../POCGL_Utils'; diff --git a/Packing/Template/LowLvl/HashableArrays.pas b/Packing/Template/LowLvl/HashableArrays.pas index 7185a504..0335d4b6 100644 --- a/Packing/Template/LowLvl/HashableArrays.pas +++ b/Packing/Template/LowLvl/HashableArrays.pas @@ -18,7 +18,7 @@ public property Size: integer read items.Length; public property Item[ind: integer]: TItem read items[ind]; default; - public function ItemsSeq := System.Collections.Generic.IReadOnlyList&(items as object); //TODO #2886 + public function ItemsSeq := System.Collections.Generic.IReadOnlyList&(items as object); //TODO #2886: Надо доделать за ibond-ом... protected function BodyEquals(other: TSelf): boolean; virtual := true; diff --git a/Packing/Template/LowLvl/NamedItemBase.pas b/Packing/Template/LowLvl/NamedItemBase.pas index d85fd1c7..0a1676e6 100644 --- a/Packing/Template/LowLvl/NamedItemBase.pas +++ b/Packing/Template/LowLvl/NamedItemBase.pas @@ -165,7 +165,7 @@ {$region NamedLoadedItem} NamedLoadedItem = abstract class(NamedItem) - where TSelf: NamedItem; //TODO #2736 + where TSelf: NamedItem; //TODO #2640: Доделать для классов, чтобы можно было указывать NamedLoadedItem where TName: IEquatable, IComparable; private static AllLoaded: array of TSelf; diff --git a/Packing/Template/LowLvl/NamedItemFixerBase.pas b/Packing/Template/LowLvl/NamedItemFixerBase.pas index 1a297daa..7a9f9faf 100644 --- a/Packing/Template/LowLvl/NamedItemFixerBase.pas +++ b/Packing/Template/LowLvl/NamedItemFixerBase.pas @@ -15,7 +15,7 @@ {$region NamedItemFixer} NamedItemFixer = abstract class(Fixer) - where TSelf: Fixer; //TODO #2736: "TSelf: NamedItemFixer" + where TSelf: Fixer; //TODO #2640: Доделать для классов, чтобы можно было указывать NamedItemFixer where TItem: NamedItem; where TName: IEquatable, IComparable; @@ -64,7 +64,7 @@ {$region NamedItemCommonFixer} NamedItemCommonFixer = abstract class(NamedItemFixer) - where TSelf: Fixer; //TODO #2736: "TSelf: NamedItemCommonFixer" + where TSelf: Fixer; //TODO #2640: Доделать для классов, чтобы можно было указывать NamedItemCommonFixer where TItem: NamedItem; protected static procedure RegisterLoader(command_name: string; load: Func) := diff --git a/Packing/Template/LowLvl/NamedItemHelpers.pas b/Packing/Template/LowLvl/NamedItemHelpers.pas index ca6934f7..b9cf567d 100644 --- a/Packing/Template/LowLvl/NamedItemHelpers.pas +++ b/Packing/Template/LowLvl/NamedItemHelpers.pas @@ -52,9 +52,10 @@ foreach var kvp in all_unused_reports do kvp.Value(); - //TODO #????: Почему то считает что значения тут INamedItem -// foreach var rep: Action in all_unused_reports.Values do + //TODO #3061: Заменить предыдущий цикл +// foreach var rep in all_unused_reports.Values do // rep.Invoke(); + all_unused_reports := nil; end; diff --git a/Packing/Template/LowLvl/NamedTypeItems.pas b/Packing/Template/LowLvl/NamedTypeItems.pas index 68348258..e418d40d 100644 --- a/Packing/Template/LowLvl/NamedTypeItems.pas +++ b/Packing/Template/LowLvl/NamedTypeItems.pas @@ -2038,7 +2038,7 @@ interface begin if org_t1.Name.IsMatrix <> org_t2.Name.IsMatrix then exit; - //TODO #???? + //TODO #3062 // foreach var (t1,t2) in |org_t1,org_t2|.Permutations do foreach var (t1,t2) in |(org_t1,org_t2),(org_t2,org_t1)| do begin @@ -2348,8 +2348,6 @@ interface Result := (prev_written, intr_wr, impl_wr)-> begin - //TODO #???? - var _self := self; intr_wr += ' ///'#10; @@ -2365,8 +2363,8 @@ intr_wr += ' = record'#10; NameConditional(sz->exit(), (sz1,sz2)-> begin - _self.WriteIdentity(intr_wr, main_name, sz1,sz2); - _self.WriteColRow(intr_wr, main_name, sz1,sz2); + self.WriteIdentity(intr_wr, main_name, sz1,sz2); + self.WriteColRow(intr_wr, main_name, sz1,sz2); end ); WriteValAt(intr_wr); @@ -2737,7 +2735,7 @@ EnumWithPropList = record {$region CommonDirectNamedType} CommonDirectNamedType = abstract class(NamedLoadedItem, ILoadedNamedType, IDirectNamedType) - where TSelf: NamedItem, ILoadedNamedType, IDirectNamedType; //TODO #2736 + where TSelf: NamedItem, ILoadedNamedType, IDirectNamedType; //TODO #2640: Доделать для классов, чтобы можно было указывать CommonDirectNamedType static constructor; begin diff --git a/Packing/Template/LowLvl/ParData.pas b/Packing/Template/LowLvl/ParData.pas index 23be927b..f1af5cbe 100644 --- a/Packing/Template/LowLvl/ParData.pas +++ b/Packing/Template/LowLvl/ParData.pas @@ -27,7 +27,7 @@ interface private static inst := new ParArrSizeNotArray; public static property Instance: ParArrSizeNotArray read inst; - //TODO #????: Cannot use Instance - "self not defined" + //TODO #3063: use Instance static constructor := DefineLoader(PASK_NotArray, br->inst); end; @@ -39,7 +39,7 @@ interface private static inst := new ParArrSizeArbitrary; public static property Instance: ParArrSizeArbitrary read inst; - //TODO #????: Cannot use Instance - "self not defined" + //TODO #3063: use Instance static constructor := DefineLoader(PASK_Arbitrary, br->inst); end; diff --git "a/Samples/OpenGLABC/\320\242\320\276\321\207\320\272\320\270 \320\275\320\260 \320\277\320\276\320\273\320\265/Mandelbrot.frag" "b/Samples/OpenGLABC/\320\242\320\276\321\207\320\272\320\270 \320\275\320\260 \320\277\320\276\320\273\320\265/Mandelbrot.frag" index ca17636b..93f9855e 100644 --- "a/Samples/OpenGLABC/\320\242\320\276\321\207\320\272\320\270 \320\275\320\260 \320\277\320\276\320\273\320\265/Mandelbrot.frag" +++ "b/Samples/OpenGLABC/\320\242\320\276\321\207\320\272\320\270 \320\275\320\260 \320\277\320\276\320\273\320\265/Mandelbrot.frag" @@ -4,6 +4,7 @@ // https://stackoverflow.com/questions/44354589/optimizing-mandelbrot-fractal noperspective in vec2 logic_pos; +in ivec2 gl_FragCoord; layout(location = 0) uniform int point_count; layout(binding = 0) buffer points_in { @@ -13,12 +14,11 @@ layout(binding = 0) buffer points_in { layout(location = 1) uniform double camera_aspect_ratio; layout(location = 2) uniform double camera_scale; layout(location = 3) uniform dvec2 camera_pos; +layout(location = 4) uniform ivec2 mouse_pos; -/** -layout(binding = 1) buffer temp_otp { - dvec2 data[3]; -} temp; -/**/ +layout(binding = 1) buffer point_data_buffer { + double data[1]; +} point_data; out vec3 color; @@ -80,10 +80,15 @@ void main() { int depth = CalculateMandelbrotDepth(pos, dvec2(0)); /** for (int i=0; i1 // Наверное, нужен итерационный алгоритм на стороне CPU, чтобы адекватно это сделать diff --git "a/Samples/OpenGLABC/\320\242\320\276\321\207\320\272\320\270 \320\275\320\260 \320\277\320\276\320\273\320\265/\320\242\320\276\321\207\320\272\320\270.pas" "b/Samples/OpenGLABC/\320\242\320\276\321\207\320\272\320\270 \320\275\320\260 \320\277\320\276\320\273\320\265/\320\242\320\276\321\207\320\272\320\270.pas" index 74e2e8f0..50b73039 100644 --- "a/Samples/OpenGLABC/\320\242\320\276\321\207\320\272\320\270 \320\275\320\260 \320\277\320\276\320\273\320\265/\320\242\320\276\321\207\320\272\320\270.pas" +++ "b/Samples/OpenGLABC/\320\242\320\276\321\207\320\272\320\270 \320\275\320\260 \320\277\320\276\320\273\320\265/\320\242\320\276\321\207\320\272\320\270.pas" @@ -67,10 +67,7 @@ CameraData = record var curr_fragment_shader := 0; var point_count := 0; var points := new Vec2d[4]; - //TODO Не используется сейчас - // - https://registry.khronos.org/OpenGL-Refpages/gl4/html/gl_FragCoord.xhtml - // - Использовать чтобы возвращать какую-то уникальную инфу из функции - var mouse_pos := new Vec2d(real.NaN, real.NaN); + var mouse_pos := default(Vec2i); {$region Управление} var points_updated := 0; begin @@ -159,8 +156,8 @@ CameraData = record f.MouseMove += (o,e)-> begin + mouse_pos := new Vec2i(e.X, f.ClientSize.Height-e.Y); var pos := CoordsFromScreen(e.X,e.Y); - mouse_pos := pos; if grabbed_point_ind<>nil then begin points[grabbed_point_ind.Value] := pos; @@ -194,15 +191,15 @@ CameraData = record gl.CreateBuffers(1, buffer_points); gl.BindBufferBase(glBufferTarget.SHADER_STORAGE_BUFFER, 0, buffer_points); - var uniform_aspect := 1; - var uniform_scale := 2; - var uniform_pos := 3; + var uniform_aspect := 1; + var uniform_scale := 2; + var uniform_pos := 3; + var uniform_mouse_pos := 4; - // Для дебага -// var buffer_temp: gl_buffer; -// gl.CreateBuffers(1, buffer_temp); -// gl.NamedBufferData(buffer_temp, new IntPtr(3*sizeof(real)), IntPtr.Zero, VertexBufferObjectUsage.DYNAMIC_READ); -// gl.BindBufferBase(BufferTarget.SHADER_STORAGE_BUFFER, 1, buffer_temp); + var buffer_point_data: gl_buffer; + gl.CreateBuffers(1, buffer_point_data); + gl.NamedBufferData(buffer_point_data, new UIntPtr(1*sizeof(real)), IntPtr.Zero, glVertexBufferObjectUsage.DYNAMIC_READ); + gl.BindBufferBase(glBufferTarget.SHADER_STORAGE_BUFFER, 1, buffer_point_data); var timings_max_count := 30; var timings := new Queue(timings_max_count); @@ -252,12 +249,12 @@ CameraData = record // Копируем все данные сразу в локальную переменную var camera := camera; // И затем в юниформы - gl.Uniform1d(uniform_aspect, camera.aspect); - gl.Uniform1d(uniform_scale, camera.scale); - gl.Uniform2dv(uniform_pos, 1, camera.pos); + gl.Uniform1d(uniform_aspect, camera.aspect); + gl.Uniform1d(uniform_scale, camera.scale); + gl.Uniform2dv(uniform_pos, 1, camera.pos); + gl.Uniform2iv(uniform_mouse_pos, 1, mouse_pos); - // Для дебага -// gl.NamedBufferSubData(buffer_temp, new IntPtr(0*sizeof(real)), new IntPtr(2*sizeof(real)), mouse_pos); + gl.NamedBufferSubData(buffer_point_data, new IntPtr(0*sizeof(real)), new UIntPtr(1*sizeof(real)), |real.NaN|); // Вызываем шейдерную программу один раз, не передавая локальные данные // Вместо этого будем использовать только юниформы (общие для всех точек данные) @@ -266,9 +263,8 @@ CameraData = record // Обычно это неэффективно, но тут только простая демонстация gl.DrawArrays(glPrimitiveType.POINTS, 0,1); - // Для дебага -// var temp_data := new real[1]; -// gl.GetNamedBufferSubData(buffer_temp, new IntPtr(2*sizeof(real)), new IntPtr(1*sizeof(real)), temp_data); + var point_data: real; + gl.GetNamedBufferSubData(buffer_point_data, new IntPtr(0*sizeof(real)), new UIntPtr(1*sizeof(real)), point_data); var err := gl.GetError; if err.IS_ERROR then MessageBox.Show(err.ToString); @@ -284,7 +280,7 @@ CameraData = record timings += curr_time; var fps := timings.Count/total_time.TotalSeconds; - var form_text := $'{fps:N2} fps, {1000/fps:N2} mspf, {point_count} points, scale={camera.scale}, pos={camera.pos}'; + var form_text := $'{all_shaders[curr_fragment_shader]}: {fps:N2} fps, {1000/fps:N2} mspf, {point_count} points, scale={camera.scale}, pos={camera.pos} data={point_data}'; // form_text := $'temp_data={_ObjectToString(temp_data)}, '+form_text; f.Text := form_text; EndFrame; diff --git "a/Samples/OpenGLABC/\320\242\320\276\321\207\320\272\320\270 \320\275\320\260 \320\277\320\276\320\273\320\265/\320\242\320\276\321\207\320\272\320\270.td" "b/Samples/OpenGLABC/\320\242\320\276\321\207\320\272\320\270 \320\275\320\260 \320\277\320\276\320\273\320\265/\320\242\320\276\321\207\320\272\320\270.td" index a8fa7908..5dc4d85a 100644 --- "a/Samples/OpenGLABC/\320\242\320\276\321\207\320\272\320\270 \320\275\320\260 \320\277\320\276\320\273\320\265/\320\242\320\276\321\207\320\272\320\270.td" +++ "b/Samples/OpenGLABC/\320\242\320\276\321\207\320\272\320\270 \320\275\320\260 \320\277\320\276\320\273\320\265/\320\242\320\276\321\207\320\272\320\270.td" @@ -6,10 +6,17 @@ OpenGL.$delegate? = function(type: glShaderType): gl_shader OpenGL.$delegate? = function: glErrorCode OpenGL.$delegate? = function: gl_program OpenGL.$delegate? = procedure +OpenGL.$delegate? = procedure(buffer: gl_buffer; offset: System.IntPtr; size: System.UIntPtr; data: System.IntPtr) +OpenGL.$delegate? = procedure(buffer: gl_buffer; offset: System.IntPtr; size: System.UIntPtr; data: Void*) +OpenGL.$delegate? = procedure(buffer: gl_buffer; offset: System.IntPtr; size: System.UIntPtr; var data: byte) +OpenGL.$delegate? = procedure(buffer: gl_buffer; offset: System.IntPtr; size: System.UIntPtr; var data: byte) OpenGL.$delegate? = procedure(buffer: gl_buffer; size: System.UIntPtr; data: System.IntPtr; usage: glVertexBufferObjectUsage) OpenGL.$delegate? = procedure(buffer: gl_buffer; size: System.UIntPtr; var data: byte; usage: glVertexBufferObjectUsage) OpenGL.$delegate? = procedure(location: integer; count: integer; value: System.IntPtr) +OpenGL.$delegate? = procedure(location: integer; count: integer; value: System.IntPtr) OpenGL.$delegate? = procedure(location: integer; count: integer; var value: Vec2d) +OpenGL.$delegate? = procedure(location: integer; count: integer; var value: Vec2i) +OpenGL.$delegate? = procedure(location: integer; count: integer; var value: integer) OpenGL.$delegate? = procedure(location: integer; count: integer; var value: real) OpenGL.$delegate? = procedure(location: integer; v0: integer) OpenGL.$delegate? = procedure(location: integer; x: real) diff --git a/Tests/Exec/CLABC/01#Wrap/04#Memory/3#CLArray/err1.td b/Tests/Exec/CLABC/01#Wrap/04#Memory/3#CLArray/err1.td index a71e69c0..9fe6038c 100644 --- a/Tests/Exec/CLABC/01#Wrap/04#Memory/3#CLArray/err1.td +++ b/Tests/Exec/CLABC/01#Wrap/04#Memory/3#CLArray/err1.td @@ -12,11 +12,11 @@ OpenCLABC_implementation______.InvokeParamsFunc = function(enq_c: integer; o_ #ExpExecErr System.TypeInitializationException: The type initializer for 'OpenCLABC.CLArray`1' threw an exception. ---> OpenCLABC_implementation______.BlittableException: Значения типа boolean нельзя использовать как элементы CLArray<> - at OpenCLABC_implementation______.BlittableHelper.RaiseIfBad(Type t, String source_name) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC.CLArray`1..cctor() in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * + at OpenCLABC_implementation______.BlittableHelper.RaiseIfBad(Type t, String source_name) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC.CLArray`1..cctor() in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * --- End of inner exception stack trace --- at OpenCLABC.CLArray`1..ctor(Int32 len, CLMemoryUsage kernel_use, CLMemoryUsage map_use) - at err1.Program.$Main() in *\POCGL\Tests\Exec\CLABC\01#Wrap\04#Memory\3#CLArray\err1.pas:line * + at err1.Program.$Main() in *\\POCGL\\Tests\\Exec\\CLABC\\01#Wrap\\04#Memory\\3#CLArray\\err1.pas:line * at err1.Program.Main() #ReqModules diff --git "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/00#Err/CCQ-Cancel.td" "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/00#Err/CCQ-Cancel.td" index f78f9c5a..7fac82b0 100644 --- "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/00#Err/CCQ-Cancel.td" +++ "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/00#Err/CCQ-Cancel.td" @@ -12,18 +12,18 @@ OpenCLABC_implementation______.InvokeParamsFunc = function(enq_c: integer; o_ #ExpExecErr System.AggregateException: При выполнении очереди было вызвано 1 исключений. Используйте try чтоб получить больше информации ---> System.Exception: Exception of type 'System.Exception' was thrown. - at CCQ-Cancel.<>local_variables_class_*.<>lambda*() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\00#Err\CCQ-Cancel.pas:line * - at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * + at CCQ-Cancel.<>local_variables_class_*.<>lambda*() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\00#Err\\CCQ-Cancel.pas:line * + at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * --- End of inner exception stack trace --- - at OpenCLABC.CLTaskBase.Wait() in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC.CLContext.SyncInvoke(CommandQueueNil q, ParameterQueueSetter[] parameters) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at CCQ-Cancel.Program.$Main() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\00#Err\CCQ-Cancel.pas:line * + at OpenCLABC.CLTaskBase.Wait() in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC.CLContext.SyncInvoke(CommandQueueNil q, ParameterQueueSetter[] parameters) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at CCQ-Cancel.Program.$Main() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\00#Err\\CCQ-Cancel.pas:line * at CCQ-Cancel.Program.Main() ---> (Inner Exception #0) System.Exception: Exception of type 'System.Exception' was thrown. - at CCQ-Cancel.<>local_variables_class_*.<>lambda*() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\00#Err\CCQ-Cancel.pas:line * - at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line *<--- + at CCQ-Cancel.<>local_variables_class_*.<>lambda*() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\00#Err\\CCQ-Cancel.pas:line * + at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line *<--- #ReqModules OpenCLABC diff --git "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/00#Err/ExecutionCancel.td" "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/00#Err/ExecutionCancel.td" index f395ec6a..55160ed6 100644 --- "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/00#Err/ExecutionCancel.td" +++ "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/00#Err/ExecutionCancel.td" @@ -12,23 +12,23 @@ OpenCLABC_implementation______.InvokeParamsFunc = function(enq_c: integer; o_ #ExpExecErr System.AggregateException: При выполнении очереди было вызвано 2 исключений. Используйте try чтоб получить больше информации ---> System.Exception: TestOK:1 - at ExecutionCancel.<>local_variables_class_*.<>lambda*() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\00#Err\ExecutionCancel.pas:line * - at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * + at ExecutionCancel.<>local_variables_class_*.<>lambda*() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\00#Err\\ExecutionCancel.pas:line * + at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * --- End of inner exception stack trace --- - at OpenCLABC.CLTaskBase.Wait() in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC.CLContext.SyncInvoke(CommandQueueNil q, ParameterQueueSetter[] parameters) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at ExecutionCancel.Program.$Main() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\00#Err\ExecutionCancel.pas:line * + at OpenCLABC.CLTaskBase.Wait() in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC.CLContext.SyncInvoke(CommandQueueNil q, ParameterQueueSetter[] parameters) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at ExecutionCancel.Program.$Main() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\00#Err\\ExecutionCancel.pas:line * at ExecutionCancel.Program.Main() ---> (Inner Exception #0) System.Exception: TestOK:1 - at ExecutionCancel.<>local_variables_class_*.<>lambda*() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\00#Err\ExecutionCancel.pas:line * - at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line *<--- + at ExecutionCancel.<>local_variables_class_*.<>lambda*() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\00#Err\\ExecutionCancel.pas:line * + at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line *<--- ---> (Inner Exception #1) System.Exception: TestOK:2 - at ExecutionCancel.<>local_variables_class_*.<>lambda*() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\00#Err\ExecutionCancel.pas:line * - at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line *<--- + at ExecutionCancel.<>local_variables_class_*.<>lambda*() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\00#Err\\ExecutionCancel.pas:line * + at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line *<--- #ReqModules OpenCLABC diff --git "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/03#Cast/~00#Err/1.td" "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/03#Cast/~00#Err/1.td" index 2412287c..46e10312 100644 --- "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/03#Cast/~00#Err/1.td" +++ "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/03#Cast/~00#Err/1.td" @@ -12,8 +12,8 @@ OpenCLABC_implementation______.InvokeParamsFunc = function(enq_c: integer; o_ #ExpExecErr System.InvalidCastException: .Cast не может преобразовывать integer в word - at OpenCLABC.CommandQueueBase.Cast[T]() in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at 1.Program.$Main() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\03#Cast\~00#Err\1.pas:line * + at OpenCLABC.CommandQueueBase.Cast[T]() in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at 1.Program.$Main() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\03#Cast\\~00#Err\\1.pas:line * at 1.Program.Main() #ReqModules diff --git "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/04#ThenConvert/~00#Err/0.td" "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/04#ThenConvert/~00#Err/0.td" index 7c081861..98f191ae 100644 --- "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/04#ThenConvert/~00#Err/0.td" +++ "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/04#ThenConvert/~00#Err/0.td" @@ -12,19 +12,19 @@ OpenCLABC_implementation______.InvokeParamsFunc = function(enq_c: integer; o_ #ExpExecErr System.AggregateException: При выполнении очереди было вызвано 1 исключений. Используйте try чтоб получить больше информации ---> System.Exception: TestOK - at 0.Program.<>lambda*(Int32 <>i) in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\04#ThenConvert\~00#Err\0.pas:line * - at OpenCLABC_implementation______.SimpleFuncContainer`2.Invoke(TInp inp, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke[TInp,TRes](ISimpleFuncContainer`2 self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, TInp inp, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * + at 0.Program.<>lambda*(Int32 <>i) in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\04#ThenConvert\\~00#Err\\0.pas:line * + at OpenCLABC_implementation______.SimpleFuncContainer`2.Invoke(TInp inp, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke[TInp,TRes](ISimpleFuncContainer`2 self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, TInp inp, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * --- End of inner exception stack trace --- - at OpenCLABC.CLTaskBase.Wait() in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC.CLTask`1.WaitRes() in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC.CLContext.SyncInvoke[T](CommandQueue`1 q, ParameterQueueSetter[] parameters) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at 0.Program.$Main() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\04#ThenConvert\~00#Err\0.pas:line * + at OpenCLABC.CLTaskBase.Wait() in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC.CLTask`1.WaitRes() in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC.CLContext.SyncInvoke[T](CommandQueue`1 q, ParameterQueueSetter[] parameters) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at 0.Program.$Main() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\04#ThenConvert\\~00#Err\\0.pas:line * at 0.Program.Main() ---> (Inner Exception #0) System.Exception: TestOK - at 0.Program.<>lambda*(Int32 <>i) in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\04#ThenConvert\~00#Err\0.pas:line * - at OpenCLABC_implementation______.SimpleFuncContainer`2.Invoke(TInp inp, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke[TInp,TRes](ISimpleFuncContainer`2 self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, TInp inp, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line *<--- + at 0.Program.<>lambda*(Int32 <>i) in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\04#ThenConvert\\~00#Err\\0.pas:line * + at OpenCLABC_implementation______.SimpleFuncContainer`2.Invoke(TInp inp, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke[TInp,TRes](ISimpleFuncContainer`2 self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, TInp inp, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line *<--- #ReqModules OpenCLABC diff --git "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/04#ThenConvert/~00#Err/0c.td" "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/04#ThenConvert/~00#Err/0c.td" index a8d3d3ef..5ba9671a 100644 --- "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/04#ThenConvert/~00#Err/0c.td" +++ "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/04#ThenConvert/~00#Err/0c.td" @@ -12,19 +12,19 @@ OpenCLABC_implementation______.InvokeParamsFunc = function(enq_c: integer; o_ #ExpExecErr System.AggregateException: При выполнении очереди было вызвано 1 исключений. Используйте try чтоб получить больше информации ---> System.Exception: TestOK - at 0c.Program.<>lambda*(Int32 <>i, CLContext <>c) in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\04#ThenConvert\~00#Err\0c.pas:line * - at OpenCLABC_implementation______.SimpleFuncContainerC`2.Invoke(TInp inp, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke[TInp,TRes](ISimpleFuncContainer`2 self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, TInp inp, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * + at 0c.Program.<>lambda*(Int32 <>i, CLContext <>c) in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\04#ThenConvert\\~00#Err\\0c.pas:line * + at OpenCLABC_implementation______.SimpleFuncContainerC`2.Invoke(TInp inp, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke[TInp,TRes](ISimpleFuncContainer`2 self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, TInp inp, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * --- End of inner exception stack trace --- - at OpenCLABC.CLTaskBase.Wait() in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC.CLTask`1.WaitRes() in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC.CLContext.SyncInvoke[T](CommandQueue`1 q, ParameterQueueSetter[] parameters) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at 0c.Program.$Main() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\04#ThenConvert\~00#Err\0c.pas:line * + at OpenCLABC.CLTaskBase.Wait() in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC.CLTask`1.WaitRes() in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC.CLContext.SyncInvoke[T](CommandQueue`1 q, ParameterQueueSetter[] parameters) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at 0c.Program.$Main() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\04#ThenConvert\\~00#Err\\0c.pas:line * at 0c.Program.Main() ---> (Inner Exception #0) System.Exception: TestOK - at 0c.Program.<>lambda*(Int32 <>i, CLContext <>c) in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\04#ThenConvert\~00#Err\0c.pas:line * - at OpenCLABC_implementation______.SimpleFuncContainerC`2.Invoke(TInp inp, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke[TInp,TRes](ISimpleFuncContainer`2 self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, TInp inp, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line *<--- + at 0c.Program.<>lambda*(Int32 <>i, CLContext <>c) in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\04#ThenConvert\\~00#Err\\0c.pas:line * + at OpenCLABC_implementation______.SimpleFuncContainerC`2.Invoke(TInp inp, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke[TInp,TRes](ISimpleFuncContainer`2 self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, TInp inp, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line *<--- #ReqModules OpenCLABC diff --git "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/05#Multiusable/~00#Err/error multiuse.td" "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/05#Multiusable/~00#Err/error multiuse.td" index 026820a6..078874f3 100644 --- "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/05#Multiusable/~00#Err/error multiuse.td" +++ "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/05#Multiusable/~00#Err/error multiuse.td" @@ -12,23 +12,23 @@ OpenCLABC_implementation______.InvokeParamsFunc = function(enq_c: integer; o_ #ExpExecErr System.AggregateException: При выполнении очереди было вызвано 2 исключений. Используйте try чтоб получить больше информации ---> System.Exception: TestOK - at error multiuse.Program.<>lambda*() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\05#Multiusable\~00#Err\error multiuse.pas:line * - at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * + at error multiuse.Program.<>lambda*() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\05#Multiusable\\~00#Err\\error multiuse.pas:line * + at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * --- End of inner exception stack trace --- - at OpenCLABC.CLTaskBase.Wait() in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC.CLContext.SyncInvoke(CommandQueueNil q, ParameterQueueSetter[] parameters) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at error multiuse.Program.$Main() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\05#Multiusable\~00#Err\error multiuse.pas:line * + at OpenCLABC.CLTaskBase.Wait() in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC.CLContext.SyncInvoke(CommandQueueNil q, ParameterQueueSetter[] parameters) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at error multiuse.Program.$Main() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\05#Multiusable\\~00#Err\\error multiuse.pas:line * at error multiuse.Program.Main() ---> (Inner Exception #0) System.Exception: TestOK - at error multiuse.Program.<>lambda*() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\05#Multiusable\~00#Err\error multiuse.pas:line * - at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line *<--- + at error multiuse.Program.<>lambda*() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\05#Multiusable\\~00#Err\\error multiuse.pas:line * + at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line *<--- ---> (Inner Exception #1) System.Exception: TestOK - at error multiuse.Program.<>lambda*() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\05#Multiusable\~00#Err\error multiuse.pas:line * - at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line *<--- + at error multiuse.Program.<>lambda*() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\05#Multiusable\\~00#Err\\error multiuse.pas:line * + at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line *<--- #ReqModules OpenCLABC diff --git "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/07#GPUCommandContainer/ExecCache.td" "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/07#GPUCommandContainer/ExecCache.td" index f8551191..55047bd5 100644 --- "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/07#GPUCommandContainer/ExecCache.td" +++ "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/07#GPUCommandContainer/ExecCache.td" @@ -39,8 +39,8 @@ origin = ErrHandlerBranchCombinator#2: CLKernelCommandExec1 origin+par+enq union (total 6 handlers) at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo) at System.Environment.get_StackTrace() - at OpenCLABC.ExecDebug.ReportExecCache(TextWriter otp) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at ExecCache.Program.$Main() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\07#GPUCommandContainer\ExecCache.pas:line * + at OpenCLABC.ExecDebug.ReportExecCache(TextWriter otp) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at ExecCache.Program.$Main() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\07#GPUCommandContainer\\ExecCache.pas:line * at ExecCache.Program.Main() at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) @@ -62,6 +62,7 @@ For CLKernel[k2] from CLProgramCode[*] returned cl_kernel[*] Logging caching tries of CLKernelCommandExec1#3: For CLKernel[k3] from CLProgramCode[*] made cl_kernel[*] For CLKernel[k3] from CLProgramCode[*] taken cl_kernel[*] +For CLKernel[k3] from CLProgramCode[*] returned cl_kernel[*] ------------------------------ ======================================== [EventDebug]: 6 event's created diff --git "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/07#GPUCommandContainer/~00#Err/AddProc.td" "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/07#GPUCommandContainer/~00#Err/AddProc.td" index b4bc608b..13601cf5 100644 --- "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/07#GPUCommandContainer/~00#Err/AddProc.td" +++ "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/07#GPUCommandContainer/~00#Err/AddProc.td" @@ -12,19 +12,19 @@ OpenCLABC_implementation______.InvokeParamsFunc = function(enq_c: integer; o_ #ExpExecErr System.AggregateException: При выполнении очереди было вызвано 1 исключений. Используйте try чтоб получить больше информации ---> System.Exception: CLMemory[*] of size 1, TestOK - at AddProc.<>local_variables_class_*.<>lambda*(CLMemory <>b) in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\07#GPUCommandContainer\~00#Err\AddProc.pas:line * - at OpenCLABC_implementation______.SimpleProcContainer`1.Invoke(TInp inp, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke[TInp](ISimpleProcContainer`1 self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, TInp inp, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * + at AddProc.<>local_variables_class_*.<>lambda*(CLMemory <>b) in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\07#GPUCommandContainer\\~00#Err\\AddProc.pas:line * + at OpenCLABC_implementation______.SimpleProcContainer`1.Invoke(TInp inp, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke[TInp](ISimpleProcContainer`1 self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, TInp inp, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * --- End of inner exception stack trace --- - at OpenCLABC.CLTaskBase.Wait() in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC.CLTask`1.WaitRes() in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC.CLContext.SyncInvoke[T](CommandQueue`1 q, ParameterQueueSetter[] parameters) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at AddProc.Program.$Main() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\07#GPUCommandContainer\~00#Err\AddProc.pas:line * + at OpenCLABC.CLTaskBase.Wait() in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC.CLTask`1.WaitRes() in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC.CLContext.SyncInvoke[T](CommandQueue`1 q, ParameterQueueSetter[] parameters) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at AddProc.Program.$Main() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\07#GPUCommandContainer\\~00#Err\\AddProc.pas:line * at AddProc.Program.Main() ---> (Inner Exception #0) System.Exception: CLMemory[*] of size 1, TestOK - at AddProc.<>local_variables_class_*.<>lambda*(CLMemory <>b) in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\07#GPUCommandContainer\~00#Err\AddProc.pas:line * - at OpenCLABC_implementation______.SimpleProcContainer`1.Invoke(TInp inp, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke[TInp](ISimpleProcContainer`1 self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, TInp inp, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line *<--- + at AddProc.<>local_variables_class_*.<>lambda*(CLMemory <>b) in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\07#GPUCommandContainer\\~00#Err\\AddProc.pas:line * + at OpenCLABC_implementation______.SimpleProcContainer`1.Invoke(TInp inp, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke[TInp](ISimpleProcContainer`1 self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, TInp inp, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line *<--- #ReqModules OpenCLABC diff --git "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/07#GPUCommandContainer/~00#Err/AddQueue.td" "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/07#GPUCommandContainer/~00#Err/AddQueue.td" index e0b4246b..e498c3b9 100644 --- "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/07#GPUCommandContainer/~00#Err/AddQueue.td" +++ "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/07#GPUCommandContainer/~00#Err/AddQueue.td" @@ -12,19 +12,19 @@ OpenCLABC_implementation______.InvokeParamsFunc = function(enq_c: integer; o_ #ExpExecErr System.AggregateException: При выполнении очереди было вызвано 1 исключений. Используйте try чтоб получить больше информации ---> System.Exception: CLMemory[*] of size 1, TestOK - at AddQueue.<>local_variables_class_*.<>lambda*() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\07#GPUCommandContainer\~00#Err\AddQueue.pas:line * - at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * + at AddQueue.<>local_variables_class_*.<>lambda*() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\07#GPUCommandContainer\\~00#Err\\AddQueue.pas:line * + at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * --- End of inner exception stack trace --- - at OpenCLABC.CLTaskBase.Wait() in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC.CLTask`1.WaitRes() in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC.CLContext.SyncInvoke[T](CommandQueue`1 q, ParameterQueueSetter[] parameters) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at AddQueue.Program.$Main() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\07#GPUCommandContainer\~00#Err\AddQueue.pas:line * + at OpenCLABC.CLTaskBase.Wait() in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC.CLTask`1.WaitRes() in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC.CLContext.SyncInvoke[T](CommandQueue`1 q, ParameterQueueSetter[] parameters) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at AddQueue.Program.$Main() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\07#GPUCommandContainer\\~00#Err\\AddQueue.pas:line * at AddQueue.Program.Main() ---> (Inner Exception #0) System.Exception: CLMemory[*] of size 1, TestOK - at AddQueue.<>local_variables_class_*.<>lambda*() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\07#GPUCommandContainer\~00#Err\AddQueue.pas:line * - at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line *<--- + at AddQueue.<>local_variables_class_*.<>lambda*() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\07#GPUCommandContainer\\~00#Err\\AddQueue.pas:line * + at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line *<--- #ReqModules OpenCLABC diff --git "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/07#GPUCommandContainer/~00#Err/LazyQuickErr.td" "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/07#GPUCommandContainer/~00#Err/LazyQuickErr.td" index 11924f83..ed86bdde 100644 --- "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/07#GPUCommandContainer/~00#Err/LazyQuickErr.td" +++ "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/07#GPUCommandContainer/~00#Err/LazyQuickErr.td" @@ -12,19 +12,19 @@ OpenCLABC_implementation______.InvokeParamsFunc = function(enq_c: integer; o_ #ExpExecErr System.AggregateException: При выполнении очереди было вызвано 1 исключений. Используйте try чтоб получить больше информации ---> System.Exception: TestOK - at LazyQuickErr.Program.<>lambda*() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\07#GPUCommandContainer\~00#Err\LazyQuickErr.pas:line * - at OpenCLABC_implementation______.SimpleFunc0Container`1.Invoke(CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke[TRes](ISimpleFunc0Container`1 self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * + at LazyQuickErr.Program.<>lambda*() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\07#GPUCommandContainer\\~00#Err\\LazyQuickErr.pas:line * + at OpenCLABC_implementation______.SimpleFunc0Container`1.Invoke(CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke[TRes](ISimpleFunc0Container`1 self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * --- End of inner exception stack trace --- - at OpenCLABC.CLTaskBase.Wait() in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC.CLTask`1.WaitRes() in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC.CLContext.SyncInvoke[T](CommandQueue`1 q, ParameterQueueSetter[] parameters) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at LazyQuickErr.Program.$Main() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\07#GPUCommandContainer\~00#Err\LazyQuickErr.pas:line * + at OpenCLABC.CLTaskBase.Wait() in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC.CLTask`1.WaitRes() in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC.CLContext.SyncInvoke[T](CommandQueue`1 q, ParameterQueueSetter[] parameters) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at LazyQuickErr.Program.$Main() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\07#GPUCommandContainer\\~00#Err\\LazyQuickErr.pas:line * at LazyQuickErr.Program.Main() ---> (Inner Exception #0) System.Exception: TestOK - at LazyQuickErr.Program.<>lambda*() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\07#GPUCommandContainer\~00#Err\LazyQuickErr.pas:line * - at OpenCLABC_implementation______.SimpleFunc0Container`1.Invoke(CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke[TRes](ISimpleFunc0Container`1 self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line *<--- + at LazyQuickErr.Program.<>lambda*() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\07#GPUCommandContainer\\~00#Err\\LazyQuickErr.pas:line * + at OpenCLABC_implementation______.SimpleFunc0Container`1.Invoke(CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke[TRes](ISimpleFunc0Container`1 self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line *<--- #ReqModules OpenCLABC diff --git "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/07#GPUCommandContainer/~00#Err/QuickErr.td" "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/07#GPUCommandContainer/~00#Err/QuickErr.td" index 3a68f695..dfdbf616 100644 --- "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/07#GPUCommandContainer/~00#Err/QuickErr.td" +++ "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/07#GPUCommandContainer/~00#Err/QuickErr.td" @@ -12,19 +12,19 @@ OpenCLABC_implementation______.InvokeParamsFunc = function(enq_c: integer; o_ #ExpExecErr System.AggregateException: При выполнении очереди было вызвано 1 исключений. Используйте try чтоб получить больше информации ---> System.Exception: TestOK - at QuickErr.Program.<>lambda*() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\07#GPUCommandContainer\~00#Err\QuickErr.pas:line * - at OpenCLABC_implementation______.SimpleFunc0Container`1.Invoke(CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke[TRes](ISimpleFunc0Container`1 self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * + at QuickErr.Program.<>lambda*() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\07#GPUCommandContainer\\~00#Err\\QuickErr.pas:line * + at OpenCLABC_implementation______.SimpleFunc0Container`1.Invoke(CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke[TRes](ISimpleFunc0Container`1 self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * --- End of inner exception stack trace --- - at OpenCLABC.CLTaskBase.Wait() in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC.CLTask`1.WaitRes() in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC.CLContext.SyncInvoke[T](CommandQueue`1 q, ParameterQueueSetter[] parameters) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at QuickErr.Program.$Main() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\07#GPUCommandContainer\~00#Err\QuickErr.pas:line * + at OpenCLABC.CLTaskBase.Wait() in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC.CLTask`1.WaitRes() in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC.CLContext.SyncInvoke[T](CommandQueue`1 q, ParameterQueueSetter[] parameters) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at QuickErr.Program.$Main() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\07#GPUCommandContainer\\~00#Err\\QuickErr.pas:line * at QuickErr.Program.Main() ---> (Inner Exception #0) System.Exception: TestOK - at QuickErr.Program.<>lambda*() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\07#GPUCommandContainer\~00#Err\QuickErr.pas:line * - at OpenCLABC_implementation______.SimpleFunc0Container`1.Invoke(CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke[TRes](ISimpleFunc0Container`1 self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line *<--- + at QuickErr.Program.<>lambda*() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\07#GPUCommandContainer\\~00#Err\\QuickErr.pas:line * + at OpenCLABC_implementation______.SimpleFunc0Container`1.Invoke(CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke[TRes](ISimpleFunc0Container`1 self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line *<--- #ReqModules OpenCLABC diff --git "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/08#HostExec/~00#Err/0.td" "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/08#HostExec/~00#Err/0.td" index 64372181..e57d2ae2 100644 --- "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/08#HostExec/~00#Err/0.td" +++ "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/08#HostExec/~00#Err/0.td" @@ -12,18 +12,18 @@ OpenCLABC_implementation______.InvokeParamsFunc = function(enq_c: integer; o_ #ExpExecErr System.AggregateException: При выполнении очереди было вызвано 1 исключений. Используйте try чтоб получить больше информации ---> System.Exception: TestOK - at 0.Program.<>lambda*() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\08#HostExec\~00#Err\0.pas:line * - at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * + at 0.Program.<>lambda*() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\08#HostExec\\~00#Err\\0.pas:line * + at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * --- End of inner exception stack trace --- - at OpenCLABC.CLTaskBase.Wait() in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC.CLContext.SyncInvoke(CommandQueueNil q, ParameterQueueSetter[] parameters) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at 0.Program.$Main() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\08#HostExec\~00#Err\0.pas:line * + at OpenCLABC.CLTaskBase.Wait() in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC.CLContext.SyncInvoke(CommandQueueNil q, ParameterQueueSetter[] parameters) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at 0.Program.$Main() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\08#HostExec\\~00#Err\\0.pas:line * at 0.Program.Main() ---> (Inner Exception #0) System.Exception: TestOK - at 0.Program.<>lambda*() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\08#HostExec\~00#Err\0.pas:line * - at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line *<--- + at 0.Program.<>lambda*() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\08#HostExec\\~00#Err\\0.pas:line * + at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line *<--- #ReqModules OpenCLABC diff --git "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/08#HostExec/~00#Err/1Q.td" "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/08#HostExec/~00#Err/1Q.td" index f6848fff..b46dbd18 100644 --- "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/08#HostExec/~00#Err/1Q.td" +++ "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/08#HostExec/~00#Err/1Q.td" @@ -12,18 +12,18 @@ OpenCLABC_implementation______.InvokeParamsFunc = function(enq_c: integer; o_ #ExpExecErr System.AggregateException: При выполнении очереди было вызвано 1 исключений. Используйте try чтоб получить больше информации ---> System.Exception: TestOK - at 1Q.Program.<>lambda*() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\08#HostExec\~00#Err\1Q.pas:line * - at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * + at 1Q.Program.<>lambda*() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\08#HostExec\\~00#Err\\1Q.pas:line * + at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * --- End of inner exception stack trace --- - at OpenCLABC.CLTaskBase.Wait() in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC.CLContext.SyncInvoke(CommandQueueNil q, ParameterQueueSetter[] parameters) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at 1Q.Program.$Main() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\08#HostExec\~00#Err\1Q.pas:line * + at OpenCLABC.CLTaskBase.Wait() in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC.CLContext.SyncInvoke(CommandQueueNil q, ParameterQueueSetter[] parameters) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at 1Q.Program.$Main() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\08#HostExec\\~00#Err\\1Q.pas:line * at 1Q.Program.Main() ---> (Inner Exception #0) System.Exception: TestOK - at 1Q.Program.<>lambda*() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\08#HostExec\~00#Err\1Q.pas:line * - at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line *<--- + at 1Q.Program.<>lambda*() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\08#HostExec\\~00#Err\\1Q.pas:line * + at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line *<--- #ReqModules OpenCLABC diff --git "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/08#HostExec/~00#Err/1T.td" "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/08#HostExec/~00#Err/1T.td" index 620f7783..d7e2fb77 100644 --- "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/08#HostExec/~00#Err/1T.td" +++ "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/08#HostExec/~00#Err/1T.td" @@ -12,18 +12,18 @@ OpenCLABC_implementation______.InvokeParamsFunc = function(enq_c: integer; o_ #ExpExecErr System.AggregateException: При выполнении очереди было вызвано 1 исключений. Используйте try чтоб получить больше информации ---> System.Exception: TestOK - at 1T.Program.<>lambda*() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\08#HostExec\~00#Err\1T.pas:line * - at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * + at 1T.Program.<>lambda*() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\08#HostExec\\~00#Err\\1T.pas:line * + at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * --- End of inner exception stack trace --- - at OpenCLABC.CLTaskBase.Wait() in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC.CLContext.SyncInvoke(CommandQueueNil q, ParameterQueueSetter[] parameters) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at 1T.Program.$Main() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\08#HostExec\~00#Err\1T.pas:line * + at OpenCLABC.CLTaskBase.Wait() in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC.CLContext.SyncInvoke(CommandQueueNil q, ParameterQueueSetter[] parameters) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at 1T.Program.$Main() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\08#HostExec\\~00#Err\\1T.pas:line * at 1T.Program.Main() ---> (Inner Exception #0) System.Exception: TestOK - at 1T.Program.<>lambda*() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\08#HostExec\~00#Err\1T.pas:line * - at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line *<--- + at 1T.Program.<>lambda*() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\08#HostExec\\~00#Err\\1T.pas:line * + at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line *<--- #ReqModules OpenCLABC diff --git "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/08#HostExec/~05#Wait/QuickUse.ThenWait.td" "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/08#HostExec/~05#Wait/QuickUse.ThenWait.td" index 25f1d183..cb5d8ef1 100644 --- "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/08#HostExec/~05#Wait/QuickUse.ThenWait.td" +++ "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/08#HostExec/~05#Wait/QuickUse.ThenWait.td" @@ -11,7 +11,7 @@ OpenCLABC_implementation______.EnqFunc = function(prev_res: T; cq: cl_command OpenCLABC_implementation______.InvokeParamsFunc = function(enq_c: integer; o_const: boolean; g: CLTaskGlobalData; enq_evs: DoubleList; par_err_handlers: DoubleList): ValueTuple> #ExpExecOtp -/\5/\ +/\\5/\\ M final = ErrHandlerBranchCombinator#0: CLTaskGlobalData.ParallelInvoke branches union branch#0/2 = ErrHandlerInitial#1: (origin-less) branch invoke diff --git "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/10#WaitMarker/~00#Err/invoke WaitAll.td" "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/10#WaitMarker/~00#Err/invoke WaitAll.td" index 008f305e..977793d1 100644 --- "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/10#WaitMarker/~00#Err/invoke WaitAll.td" +++ "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/10#WaitMarker/~00#Err/invoke WaitAll.td" @@ -12,9 +12,9 @@ OpenCLABC_implementation______.InvokeParamsFunc = function(enq_c: integer; o_ #ExpExecErr System.InvalidProgramException: Преобразовывать комбинацию маркеров в очередь нельзя. Возможно вы забыли написать WaitFor? - at OpenCLABC_implementation______.WaitMarkerCombination`1.ConvertToQBase() in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC.WaitMarker.op_Implicit(WaitMarker m) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at invoke WaitAll.Program.$Main() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\10#WaitMarker\~00#Err\invoke WaitAll.pas:line * + at OpenCLABC_implementation______.WaitMarkerCombination`1.ConvertToQBase() in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC.WaitMarker.op_Implicit(WaitMarker m) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at invoke WaitAll.Program.$Main() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\10#WaitMarker\\~00#Err\\invoke WaitAll.pas:line * at invoke WaitAll.Program.Main() #ReqModules diff --git "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/11#Finally+Handle/~00#Err/Handle only local.td" "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/11#Finally+Handle/~00#Err/Handle only local.td" index 59f6bdfa..1fb565f7 100644 --- "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/11#Finally+Handle/~00#Err/Handle only local.td" +++ "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/11#Finally+Handle/~00#Err/Handle only local.td" @@ -12,18 +12,18 @@ OpenCLABC_implementation______.InvokeParamsFunc = function(enq_c: integer; o_ #ExpExecErr System.AggregateException: При выполнении очереди было вызвано 1 исключений. Используйте try чтоб получить больше информации ---> System.Exception: TestOK - at Handle only local.Program.<>lambda*() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\11#Finally+Handle\~00#Err\Handle only local.pas:line * - at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * + at Handle only local.Program.<>lambda*() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\11#Finally+Handle\\~00#Err\\Handle only local.pas:line * + at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * --- End of inner exception stack trace --- - at OpenCLABC.CLTaskBase.Wait() in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC.CLContext.SyncInvoke(CommandQueueNil q, ParameterQueueSetter[] parameters) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at Handle only local.Program.$Main() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\11#Finally+Handle\~00#Err\Handle only local.pas:line * + at OpenCLABC.CLTaskBase.Wait() in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC.CLContext.SyncInvoke(CommandQueueNil q, ParameterQueueSetter[] parameters) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at Handle only local.Program.$Main() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\11#Finally+Handle\\~00#Err\\Handle only local.pas:line * at Handle only local.Program.Main() ---> (Inner Exception #0) System.Exception: TestOK - at Handle only local.Program.<>lambda*() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\11#Finally+Handle\~00#Err\Handle only local.pas:line * - at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line *<--- + at Handle only local.Program.<>lambda*() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\11#Finally+Handle\\~00#Err\\Handle only local.pas:line * + at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line *<--- #ReqModules OpenCLABC diff --git "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/11#Finally+Handle/~00#Err/handle only branch.td" "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/11#Finally+Handle/~00#Err/handle only branch.td" index ba5b7810..7fc2656d 100644 --- "a/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/11#Finally+Handle/~00#Err/handle only branch.td" +++ "b/Tests/Exec/CLABC/02#\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265 \320\276\321\207\320\265\321\200\320\265\320\264\320\265\320\271/11#Finally+Handle/~00#Err/handle only branch.td" @@ -12,18 +12,18 @@ OpenCLABC_implementation______.InvokeParamsFunc = function(enq_c: integer; o_ #ExpExecErr System.AggregateException: При выполнении очереди было вызвано 1 исключений. Используйте try чтоб получить больше информации ---> System.Exception: TestOK - at handle only branch.Program.<>lambda*() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\11#Finally+Handle\~00#Err\handle only branch.pas:line * - at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * + at handle only branch.Program.<>lambda*() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\11#Finally+Handle\\~00#Err\\handle only branch.pas:line * + at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * --- End of inner exception stack trace --- - at OpenCLABC.CLTaskBase.Wait() in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC.CLContext.SyncInvoke(CommandQueueNil q, ParameterQueueSetter[] parameters) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at handle only branch.Program.$Main() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\11#Finally+Handle\~00#Err\handle only branch.pas:line * + at OpenCLABC.CLTaskBase.Wait() in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC.CLContext.SyncInvoke(CommandQueueNil q, ParameterQueueSetter[] parameters) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at handle only branch.Program.$Main() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\11#Finally+Handle\\~00#Err\\handle only branch.pas:line * at handle only branch.Program.Main() ---> (Inner Exception #0) System.Exception: TestOK - at handle only branch.Program.<>lambda*() in *\POCGL\Tests\Exec\CLABC\02#Выполнение очередей\11#Finally+Handle\~00#Err\handle only branch.pas:line * - at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line * - at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\POCGL\Tests\LibSource\OpenCLABC.pas:line *<--- + at handle only branch.Program.<>lambda*() in *\\POCGL\\Tests\\Exec\\CLABC\\02#Выполнение очередей\\11#Finally+Handle\\~00#Err\\handle only branch.pas:line * + at OpenCLABC_implementation______.SimpleProc0Container.Invoke(CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line * + at OpenCLABC_implementation______.OpenCLABC_implementation______.Invoke(ISimpleProc0Container self, CLTaskGlobalData insta_call_g, ErrHandler err_handler, String err_test_reason, CLContext c) in *\\POCGL\\Tests\\LibSource\\OpenCLABC.pas:line *<--- #ReqModules OpenCLABC diff --git a/Tests/Tester.pas b/Tests/Tester.pas index 8928767f..98b52064 100644 --- a/Tests/Tester.pas +++ b/Tests/Tester.pas @@ -10,6 +10,7 @@ uses '../Utils/ATask'; uses '../Utils/CLArgs'; uses '../Utils/Timers'; +uses '../Utils/Fixers'; uses '../Utils/SubExecuters'; uses '../Utils/Testing/Testing'; @@ -31,6 +32,7 @@ TestCanceledException = sealed class(Exception) end; //TODO Replace with MergedString + // - But only after Intellisense memory leaks are fixed... {$region ExpectedText} ExpectedTextPart = sealed class @@ -574,44 +576,12 @@ core_timer.cl_context_gen_time := sw.Elapsed; end; - procedure LoadSettingsDict; - begin - //TODO Use fixer utils - all_settings := new Dictionary; - - var lns := ReadAllLines(td_fname, enc); - - var i := -1; - while true do - begin - i += 1; - if i >= lns.Length then break; - var s := lns[i]; - if not s.StartsWith('#') then continue; - - var sb := new StringBuilder; - var key := s; - while true do - begin - i += 1; - if i = lns.Length then break; - s := lns[i]; - - if s.StartsWith('#') then - begin - i -= 1; - break; - end; - - sb += s; - sb += #10; - - end; - - all_settings.Add(key, sb.ToString.TrimEnd(#10).Replace('\#','#')); - end; - - end; + procedure LoadSettingsDict := + all_settings := FixerUtils.ReadBlocks(td_fname, false) + .ToDictionary( + \(key,data)->'#'+key, + \(key,data)->data.JoinToString(#10) + ); procedure FindReqModules; begin req_modules := new List; @@ -1132,7 +1102,7 @@ sw.WriteLine; sw.WriteLine(key); if not string.IsNullOrWhiteSpace(val) then - sw.WriteLine(val); + sw.WriteLine(val.Replace('\','\\').RegexReplace('(^|\n)#','$1\#')); end; sw.WriteLine; @@ -1169,9 +1139,10 @@ TestInfo.LoadAll('Tests/Exec', 'Comp','Exec'); TestInfo.LoadAll('Samples', 'Comp'); (*) - TestInfo.allowed_modules += 'OpenCLABC'; + allowed_modules += 'OpenCLABC'; TestInfo.MakeDebugPCU; - TestInfo.LoadAll('Samples', 'Comp'); + TestInfo.GenCLContext; + TestInfo.LoadAll('Tests/Exec/CLABC/01#Wrap/04#Memory/3#CLArray', 'Comp','Exec'); (**) try diff --git a/Utils/ATask.pas b/Utils/ATask.pas index 65057895..694a1cab 100644 --- a/Utils/ATask.pas +++ b/Utils/ATask.pas @@ -5,8 +5,6 @@ uses AOtp; uses SubExecuters; -uses AQueue; //TODO #2543 - type AsyncTask = abstract class public own_otp: AsyncProcOtp; diff --git a/Utils/Fixers.pas b/Utils/Fixers.pas index d5d72cd4..b96fae5d 100644 --- a/Utils/Fixers.pas +++ b/Utils/Fixers.pas @@ -137,7 +137,7 @@ interface Fixer = abstract class where TSelf: Fixer; -// where TFixable: class; //TODO #2736 +// where TFixable: class, IFixable; //TODO #2640: Доделать для классов, чтобы можно было в наследниках указывать более точно where TName: System.IEquatable; private _name: TName; private used: boolean; diff --git a/Utils/Patterns/MergedStrings.pas b/Utils/Patterns/MergedStrings.pas index fcc0d00f..acab1d7c 100644 --- a/Utils/Patterns/MergedStrings.pas +++ b/Utils/Patterns/MergedStrings.pas @@ -95,7 +95,7 @@ MergedStringLength = record if max.IsValid and (c>integer(max)) then exit; Result := true; end; - public static function operator in(c: integer; l: MergedStringLength) := c in l; + public static function operator in(c: integer; l: MergedStringLength) := l.Contains(c); public static function operator+(c1, c2: MergedStringLength): MergedStringLength; begin @@ -454,8 +454,7 @@ implementation public procedure WriteTo(b: ColoredStringBuilderBase; escape_sym: char); override := b.AddSubRange('wild', b-> begin - //TODO #???? - b += MergedStringPartWild.wild_beg; + b += wild_beg; b.AddSubRange('count', b-> begin @@ -465,15 +464,13 @@ implementation b += c_min_s; if c_max_s<>c_min_s then begin - //TODO #???? - b += MergedStringPartWild.range_sep; + b += range_sep; b += c_max_s; end; end); - //TODO #???? - b += MergedStringPartWild.count_chs_sep; + b += count_chs_sep; if not ReferenceEquals(allowed, allowed_anything) then b.AddSubRange('chars', b-> @@ -497,8 +494,7 @@ implementation if ch1<>ch2 then begin if ch2.Code-ch1.Code <> 1 then - //TODO #????: Need "MergedStringPart." - b += MergedStringPartWild.range_sep; + b += range_sep; AddEscaped(ch2); end; @@ -519,8 +515,7 @@ implementation FlushPrev; end); - //TODO #???? - b += MergedStringPartWild.wild_end; + b += wild_end; end); end; @@ -680,7 +675,7 @@ implementation function MergedStringPointer.IsOut := data.part_i = s.parts.Length; static function MergedString.Literal(s: string) := -//TODO #????: adding params breaks case where array is passed to "new MergedString" +//TODO #3064: adding params breaks case where array is passed to "new MergedString" new MergedString(new MergedStringPart[](new MergedStringPartSolid(s))); static function MergedString.Parse(s: StringSection; escape_sym: char) := @@ -871,7 +866,6 @@ function NextZeroJumpPoint(p: MergedStringPoint2): MergedStringPoint2; begin var ep1 := p.Edge1; var ep2 := p.Edge2; - var s := ep1.s; while true do begin @@ -1178,7 +1172,6 @@ function MergedStringInMakeJumps(p: MergedStringPoint2): sequence of MergedStrin end; exit; end; - var s := ep1.s; var part2 := EdgePart(ep2); if part2 is MergedStringPartSolid then diff --git a/Utils/Testing/Testing.pas b/Utils/Testing/Testing.pas index 0461dc99..85042e1f 100644 --- a/Utils/Testing/Testing.pas +++ b/Utils/Testing/Testing.pas @@ -1,8 +1,5 @@ unit Testing; -//TODO #2897 -{$savepcu false} - uses System.Diagnostics; uses '../PathUtils'; diff --git a/Utils/ThoroughXML.pas b/Utils/ThoroughXML.pas index 3b12928a..b47501d2 100644 --- a/Utils/ThoroughXML.pas +++ b/Utils/ThoroughXML.pas @@ -137,7 +137,7 @@ interface attribs_cache := Result; end; - //TODO #????: self. + //TODO #3065: self. public property Attrib[name: string]: XmlAttrib read GetContent(()->self.GetAllAttribs.Get(name)); //TODO #2461: string(...) public property AttribData[name: string]: string read string(Attrib[name]?.Data); default; @@ -172,7 +172,7 @@ interface sub_nodes_cache := Result.ToArray; end; - //TODO #????: self. + //TODO #3065: self. public property SubNodes[tag: string]: sequence of XmlNode read GetContent(()->self.GetAllSubNodes.Where(n->n.Tag=tag)); public function TryDiscardSubNodes(tag: string) := SubNodes[tag].Count(n->n.TryDiscard); diff --git a/Utils/Timers.pas b/Utils/Timers.pas index 246edd18..2da130b6 100644 --- a/Utils/Timers.pas +++ b/Utils/Timers.pas @@ -153,8 +153,7 @@ interface public function MakeLogLines(lvl: integer; header: string): sequence of (integer,string,string); override; begin - //TODO #2896 - yield (lvl, header, Timer.TimeToText(self.OuterTime)); + yield (lvl, header, TimeToText(self.OuterTime)); foreach var nick in sub_timers.Keys.Order do begin @@ -166,8 +165,7 @@ interface continue; end; - //TODO #2896 - yield (lvl+1, $'♦ {nick} x{l.Count}', Timer.TimeToText(time_per_nick[nick])); + yield (lvl+1, $'♦ {nick} x{l.Count}', TimeToText(time_per_nick[nick])); var common_name_parts := l.First[0].Split('/')[:^1]; foreach var (full_name, t) in l.Skip(1) do