summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorWillem Jan Palenstijn <wjp@usecode.org>2021-11-26 12:10:19 +0100
committerWillem Jan Palenstijn <wjp@usecode.org>2021-11-26 12:10:19 +0100
commitdf2592c48f4785eb3c4b7882faa815a0b56e3739 (patch)
tree59ca80ff9e2d4356c28ee48f64eb68494e5f3372 /include
parent9d7018a5c6c5fd4574a4e7ef76878040566ec472 (diff)
parent7cad7b813838ed2ddb65a4c9ea1c08c625c50043 (diff)
downloadastra-df2592c48f4785eb3c4b7882faa815a0b56e3739.tar.gz
astra-df2592c48f4785eb3c4b7882faa815a0b56e3739.tar.bz2
astra-df2592c48f4785eb3c4b7882faa815a0b56e3739.tar.xz
astra-df2592c48f4785eb3c4b7882faa815a0b56e3739.zip
Merge branch 'texture'
This replaces the deprecated CUDA texture reference API by texture objects.
Diffstat (limited to 'include')
-rw-r--r--include/astra/cuda/2d/util.h4
-rw-r--r--include/astra/cuda/3d/util3d.h2
2 files changed, 6 insertions, 0 deletions
diff --git a/include/astra/cuda/2d/util.h b/include/astra/cuda/2d/util.h
index 0fab9b1..2cf0639 100644
--- a/include/astra/cuda/2d/util.h
+++ b/include/astra/cuda/2d/util.h
@@ -66,6 +66,10 @@ bool zeroProjectionData(float* D_ptr, unsigned int pitch, const SDimensions& dim
void duplicateVolumeData(float* D_dst, float* D_src, unsigned int pitch, const SDimensions& dims);
void duplicateProjectionData(float* D_dst, float* D_src, unsigned int pitch, const SDimensions& dims);
+bool createArrayAndTextureObject2D(float* data, cudaArray*& dataArray, cudaTextureObject_t& texObj, unsigned int pitch, unsigned int width, unsigned int height);
+bool createTextureObjectPitch2D(float* data, cudaTextureObject_t& texObj, unsigned int pitch, unsigned int width, unsigned int height, cudaTextureAddressMode mode = cudaAddressModeBorder);
+
+
bool checkCuda(cudaError_t err, const char *msg);
float dotProduct2D(float* D_data, unsigned int pitch,
diff --git a/include/astra/cuda/3d/util3d.h b/include/astra/cuda/3d/util3d.h
index 9fa254d..210d944 100644
--- a/include/astra/cuda/3d/util3d.h
+++ b/include/astra/cuda/3d/util3d.h
@@ -60,6 +60,8 @@ bool zeroVolumeArray(cudaArray* array, const SDimensions3D& dims);
cudaArray* allocateProjectionArray(const SDimensions3D& dims);
cudaArray* allocateVolumeArray(const SDimensions3D& dims);
+bool createTextureObject3D(cudaArray* array, cudaTextureObject_t& texObj);
+
float dotProduct3D(cudaPitchedPtr data, unsigned int x, unsigned int y, unsigned int z);
int calcNextPowerOfTwo(int _iValue);