summaryrefslogtreecommitdiff
path: root/src/core/cpu/kernel.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/cpu/kernel.h')
-rw-r--r--src/core/cpu/kernel.h14
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;