feat: Add texture obj init logic for cuda 12.3 support
This commit is contained in:
@@ -86,6 +86,53 @@ SAFTHandler::SAFTHandler(int deviceId, ///< CUDA ID of th
|
|||||||
|
|
||||||
IMAGE_RESOLUTION_FACTOR = 1 / IMAGE_RESOLUTION; // Auflösung im OutputVolumen
|
IMAGE_RESOLUTION_FACTOR = 1 / IMAGE_RESOLUTION; // Auflösung im OutputVolumen
|
||||||
SOS_RESOLUTION_FACTOR = 1 / SOS_RESOLUTION; // Auflösung im SoS-Volumen
|
SOS_RESOLUTION_FACTOR = 1 / SOS_RESOLUTION; // Auflösung im SoS-Volumen
|
||||||
|
|
||||||
|
memset(&resDesc, 0, sizeof(resDesc));
|
||||||
|
resDesc.resType = cudaResourceTypeArray;
|
||||||
|
|
||||||
|
memset(&texDesc, 0, sizeof(texDesc));
|
||||||
|
texDesc.addressMode[0] = cudaAddressModeClamp;
|
||||||
|
texDesc.addressMode[1] = cudaAddressModeClamp;
|
||||||
|
texDesc.addressMode[2] = cudaAddressModeClamp;
|
||||||
|
switch (SAFT_VARIANT[SAFT_VARIANT_3DVolumeInterpolationAtReconstruction]) {
|
||||||
|
case 0:
|
||||||
|
texDesc.filterMode = cudaFilterModePoint;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
texDesc.filterMode = cudaFilterModeLinear;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
texDesc.readMode = cudaReadModeElementType;
|
||||||
|
texDesc.normalizedCoords = 0;
|
||||||
|
|
||||||
|
memset(&texDescSosAttField, 0, sizeof(texDescSosAttField));
|
||||||
|
texDescSosAttField.addressMode[0] = cudaAddressModeClamp;
|
||||||
|
texDescSosAttField.addressMode[1] = cudaAddressModeClamp;
|
||||||
|
texDescSosAttField.addressMode[2] = cudaAddressModeClamp;
|
||||||
|
if (SAFT_VARIANT[SAFT_VARIANT_3DVolumeInterpolationAtPreprocessing] == 1)
|
||||||
|
{
|
||||||
|
texDescSosAttField.filterMode = cudaFilterModeLinear; // Lineare Interpolation
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
texDescSosAttField.filterMode = cudaFilterModePoint; // Nearest Neighbor
|
||||||
|
}
|
||||||
|
texDescSosAttField.readMode = cudaReadModeElementType;
|
||||||
|
texDescSosAttField.normalizedCoords = 0;
|
||||||
|
|
||||||
|
memset(&texDesc2D, 0, sizeof(texDesc2D));
|
||||||
|
texDesc2D.addressMode[0] = cudaAddressModeBorder;
|
||||||
|
texDesc2D.addressMode[1] = cudaAddressModeBorder;
|
||||||
|
if (SAFT_VARIANT[SAFT_VARIANT_AscanInterpolation] == 1)
|
||||||
|
{
|
||||||
|
texDesc2D.filterMode = cudaFilterModeLinear; // Lineare Interpolation
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
texDesc2D.filterMode = cudaFilterModePoint; // Nearest Neighbor
|
||||||
|
}
|
||||||
|
texDesc2D.readMode = cudaReadModeElementType;
|
||||||
|
texDesc2D.normalizedCoords = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user