diff options
Diffstat (limited to 'src/core/cpu/kernel.h')
-rw-r--r-- | src/core/cpu/kernel.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/core/cpu/kernel.h b/src/core/cpu/kernel.h index cb3a296..e9d7124 100644 --- a/src/core/cpu/kernel.h +++ b/src/core/cpu/kernel.h @@ -105,20 +105,28 @@ class CPUKernelWorkGroup void barrier(unsigned int flags); void *getImageData(Image2D *image, int x, int y, int z) const; + void writeImage(Image2D *image, int x, int y, int z, float *color) const; void writeImage(Image2D *image, int x, int y, int z, int32_t *color) const; void writeImage(Image2D *image, int x, int y, int z, uint32_t *color) const; void readImage(float *result, Image2D *image, int x, int y, int z, - int32_t sampler) const; + uint32_t sampler) const; void readImage(int32_t *result, Image2D *image, int x, int y, int z, - int32_t sampler) const; + uint32_t sampler) const; void readImage(uint32_t *result, Image2D *image, int x, int y, int z, - int32_t sampler) const; + uint32_t sampler) const; void builtinNotFound(const std::string &name) const; private: + template<typename T> + void writeImageImpl(Image2D *image, int x, int y, int z, T *color) const; + template<typename T> + void readImageImplI(T *result, Image2D *image, int x, int y, int z, + uint32_t sampler) const; + + private: CPUKernel *p_kernel; CPUKernelEvent *p_cpu_event; KernelEvent *p_event; |