25 #ifndef HIP_HCC_DETAIL_TEXTURE_H
26 #define HIP_HCC_DETAIL_TEXTURE_H
39 #define hipTextureType1D 1
42 hipChannelFormatKindSigned = 0,
43 hipChannelFormatKindUnsigned,
44 hipChannelFormatKindFloat,
45 hipChannelFormatKindNone
47 } hipChannelFormatKind;
54 hipChannelFormatKind f;
75 template <
class T,
int texType=hipTextureType1D, enum hipTextureReadMode=hipReadModeElementType>
90 hipChannelFormatKind f;
95 #define tex1Dfetch(_tex, _addr) (_tex._dataPtr[_addr])
97 #define tex2D(_tex, _dx, _dy) \
98 _tex._dataPtr[(unsigned int)_dx + (unsigned int)_dy*(_tex.width)]
113 size_t width,
size_t height = 0,
unsigned int flags = 0);
156 size_t spitch,
size_t width,
size_t height,
hipMemcpyKind kind);
211 tex->_dataPtr = devPtr;
233 int e = (int)
sizeof(
int) * 8;
237 int e = (int)
sizeof(
unsigned int) * 8;
241 int e = (int)
sizeof(
long) * 8;
245 int e = (int)
sizeof(
unsigned long) * 8;
249 int e = (int)
sizeof(
float) * 8;
266 template <
class T,
int dim, enum hipTextureReadMode readMode>
268 struct texture<T, dim, readMode> &tex,
271 size_t size=UINT_MAX)
273 tex._dataPtr =
static_cast<const T*
>(devPtr);
290 template <
class T,
int dim, enum hipTextureReadMode readMode>
292 struct texture<T, dim, readMode> &tex,
294 size_t size=UINT_MAX)
296 return hipBindTexture(offset, tex, devPtr, &tex.channelDesc, size);
299 template <
class T,
int dim, enum hipTextureReadMode readMode>
300 hipError_t hipBindTextureToArray(
struct texture<T, dim, readMode> &tex,
hipArray* array) {
301 tex.width = array->width;
302 tex.height = array->height;
303 tex._dataPtr =
static_cast<const T*
>(array->data);
314 template <
class T,
int dim, enum hipTextureReadMode readMode>
315 hipError_t hipUnbindTexture(
struct texture<T, dim, readMode> &tex)
hipError_t hipFreeArray(hipArray *array)
Frees an array on the device.
Definition: hip_memory.cpp:999
hipChannelFormatDesc hipCreateChannelDesc(int x, int y, int z, int w, hipChannelFormatKind f)
Returns a channel descriptor using the specified format.
Definition: hip_memory.cpp:276
Successful completion.
Definition: hip_runtime_api.h:153
hipError_t hipMemcpy2DToArray(hipArray *dst, size_t wOffset, size_t hOffset, const void *src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind)
Copies data between host and device.
Definition: hip_memory.cpp:692
hipTextureFilterMode
Definition: hip_texture.h:63
Definition: hip_texture.h:59
Definition: hip_texture.h:69
Definition: hip_texture.h:87
hipError_t
Definition: hip_runtime_api.h:152
hipError_t hipMemcpyToArray(hipArray *dst, size_t wOffset, size_t hOffset, const void *src, size_t count, hipMemcpyKind kind)
Copies data between host and device.
Definition: hip_memory.cpp:745
hipMemcpyKind
Definition: hip_runtime_api.h:165
Definition: hip_texture.h:65
hipTextureReadMode
Definition: hip_texture.h:57
hipError_t hipMemcpy2D(void *dst, size_t dpitch, const void *src, size_t spitch, size_t width, size_t height, hipMemcpyKind kind)
Copies data between host and device.
Definition: hip_memory.cpp:666
hipError_t hipMallocArray(hipArray **array, const hipChannelFormatDesc *desc, size_t width, size_t height=0, unsigned int flags=0)
Allocate an array on the device.
Definition: hip_memory.cpp:284