diff options
author | Gard Spreemann <gspr@nonempty.org> | 2023-06-08 11:52:00 +0200 |
---|---|---|
committer | Gard Spreemann <gspr@nonempty.org> | 2023-06-08 11:52:00 +0200 |
commit | 63870a2e60c1bc8bfa7e3672457b551a8e51ffaf (patch) | |
tree | fe2c0cd5f62e3fbd17e58d3903ec6bb37983f620 /scripts/generator/generator/routine.py | |
parent | d31fb141cb597aaf405674621aa25f263aa375e1 (diff) | |
parent | b0b302889cc786907efb080c4e1beea30d2fa39f (diff) |
Merge tag '1.6.0' into gspr/post-bookworm
Diffstat (limited to 'scripts/generator/generator/routine.py')
-rw-r--r-- | scripts/generator/generator/routine.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/scripts/generator/generator/routine.py b/scripts/generator/generator/routine.py index 8b6ab57f..c2201c0d 100644 --- a/scripts/generator/generator/routine.py +++ b/scripts/generator/generator/routine.py @@ -282,7 +282,10 @@ class Routine: """As above but for OpenCL""" prefix = "const " if name in self.inputs else "" if name in self.inputs or name in self.outputs: - a = [prefix + "Buffer<" + flavour.buffer_type + ">& " + name + "_buffer"] + if name == "imax": + a = [prefix + "Buffer<unsigned int>& " + name + "_buffer"] + else: + a = [prefix + "Buffer<" + flavour.buffer_type + ">& " + name + "_buffer"] b = ["const size_t " + name + "_offset"] c = ["const size_t " + name + "_" + self.postfix(name)] if name not in self.buffers_without_ld_inc() else [] return [", ".join(a + b + c)] @@ -292,7 +295,10 @@ class Routine: """As above but for CUDA""" prefix = "const " if name in self.inputs else "" if name in self.inputs or name in self.outputs: - a = [prefix + flavour.buffer_type + "* " + name + "_buffer"] + if name == "imax": + a = [prefix + "unsigned int * " + name + "_buffer"] + else: + a = [prefix + flavour.buffer_type + "* " + name + "_buffer"] b = ["const size_t " + name + "_offset"] c = ["const size_t " + name + "_" + self.postfix(name)] if name not in self.buffers_without_ld_inc() else [] return [", ".join(a + b + c)] @@ -302,7 +308,10 @@ class Routine: """As above but as vectors""" prefix = "const " if name in self.inputs else "" if name in self.inputs or name in self.outputs: - a = [prefix + "std::vector<" + flavour.buffer_type + ">& " + name + "_buffer"] + if name == "imax": + a = [prefix + "std::vector<unsigned int>& " + name + "_buffer"] + else: + a = [prefix + "std::vector<" + flavour.buffer_type + ">& " + name + "_buffer"] b = ["const size_t " + name + "_offset"] c = ["const size_t " + name + "_" + self.postfix(name)] if name not in self.buffers_without_ld_inc() else [] return [", ".join(a + b + c)] |