Cleanup: Shorten texture variables, tex and image was kinda redundant.
Also make prefix consistent, so it starts with either TEX_NUM or TEX_START, followed by texture type and architecture.
This commit is contained in:
@@ -35,10 +35,10 @@ struct Intersection;
|
|||||||
struct VolumeStep;
|
struct VolumeStep;
|
||||||
|
|
||||||
typedef struct KernelGlobals {
|
typedef struct KernelGlobals {
|
||||||
texture_image_uchar4 texture_byte4_images[TEX_NUM_BYTE4_IMAGES_CPU];
|
texture_image_uchar4 texture_byte4_images[TEX_NUM_BYTE4_CPU];
|
||||||
texture_image_float4 texture_float4_images[TEX_NUM_FLOAT4_IMAGES_CPU];
|
texture_image_float4 texture_float4_images[TEX_NUM_FLOAT4_CPU];
|
||||||
texture_image_float texture_float_images[TEX_NUM_FLOAT_IMAGES_CPU];
|
texture_image_float texture_float_images[TEX_NUM_FLOAT_CPU];
|
||||||
texture_image_uchar texture_byte_images[TEX_NUM_BYTE_IMAGES_CPU];
|
texture_image_uchar texture_byte_images[TEX_NUM_BYTE_CPU];
|
||||||
|
|
||||||
# define KERNEL_TEX(type, ttype, name) ttype name;
|
# define KERNEL_TEX(type, ttype, name) ttype name;
|
||||||
# define KERNEL_IMAGE_TEX(type, ttype, name)
|
# define KERNEL_IMAGE_TEX(type, ttype, name)
|
||||||
|
@@ -95,7 +95,7 @@ void kernel_tex_copy(KernelGlobals *kg,
|
|||||||
int id = atoi(name + strlen("__tex_image_float4_"));
|
int id = atoi(name + strlen("__tex_image_float4_"));
|
||||||
int array_index = id;
|
int array_index = id;
|
||||||
|
|
||||||
if(array_index >= 0 && array_index < TEX_NUM_FLOAT4_IMAGES_CPU) {
|
if(array_index >= 0 && array_index < TEX_NUM_FLOAT4_CPU) {
|
||||||
tex = &kg->texture_float4_images[array_index];
|
tex = &kg->texture_float4_images[array_index];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -109,9 +109,9 @@ void kernel_tex_copy(KernelGlobals *kg,
|
|||||||
else if(strstr(name, "__tex_image_float")) {
|
else if(strstr(name, "__tex_image_float")) {
|
||||||
texture_image_float *tex = NULL;
|
texture_image_float *tex = NULL;
|
||||||
int id = atoi(name + strlen("__tex_image_float_"));
|
int id = atoi(name + strlen("__tex_image_float_"));
|
||||||
int array_index = id - TEX_IMAGE_FLOAT_START_CPU;
|
int array_index = id - TEX_START_FLOAT_CPU;
|
||||||
|
|
||||||
if(array_index >= 0 && array_index < TEX_NUM_FLOAT_IMAGES_CPU) {
|
if(array_index >= 0 && array_index < TEX_NUM_FLOAT_CPU) {
|
||||||
tex = &kg->texture_float_images[array_index];
|
tex = &kg->texture_float_images[array_index];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -125,9 +125,9 @@ void kernel_tex_copy(KernelGlobals *kg,
|
|||||||
else if(strstr(name, "__tex_image_byte4")) {
|
else if(strstr(name, "__tex_image_byte4")) {
|
||||||
texture_image_uchar4 *tex = NULL;
|
texture_image_uchar4 *tex = NULL;
|
||||||
int id = atoi(name + strlen("__tex_image_byte4_"));
|
int id = atoi(name + strlen("__tex_image_byte4_"));
|
||||||
int array_index = id - TEX_IMAGE_BYTE4_START_CPU;
|
int array_index = id - TEX_START_BYTE4_CPU;
|
||||||
|
|
||||||
if(array_index >= 0 && array_index < TEX_NUM_BYTE4_IMAGES_CPU) {
|
if(array_index >= 0 && array_index < TEX_NUM_BYTE4_CPU) {
|
||||||
tex = &kg->texture_byte4_images[array_index];
|
tex = &kg->texture_byte4_images[array_index];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -141,9 +141,9 @@ void kernel_tex_copy(KernelGlobals *kg,
|
|||||||
else if(strstr(name, "__tex_image_byte")) {
|
else if(strstr(name, "__tex_image_byte")) {
|
||||||
texture_image_uchar *tex = NULL;
|
texture_image_uchar *tex = NULL;
|
||||||
int id = atoi(name + strlen("__tex_image_byte_"));
|
int id = atoi(name + strlen("__tex_image_byte_"));
|
||||||
int array_index = id - TEX_IMAGE_BYTE_START_CPU;
|
int array_index = id - TEX_START_BYTE_CPU;
|
||||||
|
|
||||||
if(array_index >= 0 && array_index < TEX_NUM_BYTE_IMAGES_CPU) {
|
if(array_index >= 0 && array_index < TEX_NUM_BYTE_CPU) {
|
||||||
tex = &kg->texture_byte_images[array_index];
|
tex = &kg->texture_byte_images[array_index];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -23,24 +23,24 @@ CCL_NAMESPACE_BEGIN
|
|||||||
|
|
||||||
ccl_device float4 kernel_tex_image_interp_impl(KernelGlobals *kg, int tex, float x, float y)
|
ccl_device float4 kernel_tex_image_interp_impl(KernelGlobals *kg, int tex, float x, float y)
|
||||||
{
|
{
|
||||||
if(tex >= TEX_IMAGE_BYTE_START_CPU)
|
if(tex >= TEX_START_BYTE_CPU)
|
||||||
return kg->texture_byte_images[tex - TEX_IMAGE_BYTE_START_CPU].interp(x, y);
|
return kg->texture_byte_images[tex - TEX_START_BYTE_CPU].interp(x, y);
|
||||||
else if(tex >= TEX_IMAGE_FLOAT_START_CPU)
|
else if(tex >= TEX_START_FLOAT_CPU)
|
||||||
return kg->texture_float_images[tex - TEX_IMAGE_FLOAT_START_CPU].interp(x, y);
|
return kg->texture_float_images[tex - TEX_START_FLOAT_CPU].interp(x, y);
|
||||||
else if(tex >= TEX_IMAGE_BYTE4_START_CPU)
|
else if(tex >= TEX_START_BYTE4_CPU)
|
||||||
return kg->texture_byte4_images[tex - TEX_IMAGE_BYTE4_START_CPU].interp(x, y);
|
return kg->texture_byte4_images[tex - TEX_START_BYTE4_CPU].interp(x, y);
|
||||||
else
|
else
|
||||||
return kg->texture_float4_images[tex].interp(x, y);
|
return kg->texture_float4_images[tex].interp(x, y);
|
||||||
}
|
}
|
||||||
|
|
||||||
ccl_device float4 kernel_tex_image_interp_3d_impl(KernelGlobals *kg, int tex, float x, float y, float z)
|
ccl_device float4 kernel_tex_image_interp_3d_impl(KernelGlobals *kg, int tex, float x, float y, float z)
|
||||||
{
|
{
|
||||||
if(tex >= TEX_IMAGE_BYTE_START_CPU)
|
if(tex >= TEX_START_BYTE_CPU)
|
||||||
return kg->texture_byte_images[tex - TEX_IMAGE_BYTE_START_CPU].interp_3d(x, y, z);
|
return kg->texture_byte_images[tex - TEX_START_BYTE_CPU].interp_3d(x, y, z);
|
||||||
else if(tex >= TEX_IMAGE_FLOAT_START_CPU)
|
else if(tex >= TEX_START_FLOAT_CPU)
|
||||||
return kg->texture_float_images[tex - TEX_IMAGE_FLOAT_START_CPU].interp_3d(x, y, z);
|
return kg->texture_float_images[tex - TEX_START_FLOAT_CPU].interp_3d(x, y, z);
|
||||||
else if(tex >= TEX_IMAGE_BYTE4_START_CPU)
|
else if(tex >= TEX_START_BYTE4_CPU)
|
||||||
return kg->texture_byte4_images[tex - TEX_IMAGE_BYTE4_START_CPU].interp_3d(x, y, z);
|
return kg->texture_byte4_images[tex - TEX_START_BYTE4_CPU].interp_3d(x, y, z);
|
||||||
else
|
else
|
||||||
return kg->texture_float4_images[tex].interp_3d(x, y, z);
|
return kg->texture_float4_images[tex].interp_3d(x, y, z);
|
||||||
|
|
||||||
@@ -48,12 +48,12 @@ ccl_device float4 kernel_tex_image_interp_3d_impl(KernelGlobals *kg, int tex, fl
|
|||||||
|
|
||||||
ccl_device float4 kernel_tex_image_interp_3d_ex_impl(KernelGlobals *kg, int tex, float x, float y, float z, int interpolation)
|
ccl_device float4 kernel_tex_image_interp_3d_ex_impl(KernelGlobals *kg, int tex, float x, float y, float z, int interpolation)
|
||||||
{
|
{
|
||||||
if(tex >= TEX_IMAGE_BYTE_START_CPU)
|
if(tex >= TEX_START_BYTE_CPU)
|
||||||
return kg->texture_byte_images[tex - TEX_IMAGE_BYTE_START_CPU].interp_3d_ex(x, y, z, interpolation);
|
return kg->texture_byte_images[tex - TEX_START_BYTE_CPU].interp_3d_ex(x, y, z, interpolation);
|
||||||
else if(tex >= TEX_IMAGE_FLOAT_START_CPU)
|
else if(tex >= TEX_START_FLOAT_CPU)
|
||||||
return kg->texture_float_images[tex - TEX_IMAGE_FLOAT_START_CPU].interp_3d_ex(x, y, z, interpolation);
|
return kg->texture_float_images[tex - TEX_START_FLOAT_CPU].interp_3d_ex(x, y, z, interpolation);
|
||||||
else if(tex >= TEX_IMAGE_BYTE4_START_CPU)
|
else if(tex >= TEX_START_BYTE4_CPU)
|
||||||
return kg->texture_byte4_images[tex - TEX_IMAGE_BYTE4_START_CPU].interp_3d_ex(x, y, z, interpolation);
|
return kg->texture_byte4_images[tex - TEX_START_BYTE4_CPU].interp_3d_ex(x, y, z, interpolation);
|
||||||
else
|
else
|
||||||
return kg->texture_float4_images[tex].interp_3d_ex(x, y, z, interpolation);
|
return kg->texture_float4_images[tex].interp_3d_ex(x, y, z, interpolation);
|
||||||
}
|
}
|
||||||
|
@@ -18,15 +18,15 @@ CCL_NAMESPACE_BEGIN
|
|||||||
|
|
||||||
/* Float4 textures on various devices. */
|
/* Float4 textures on various devices. */
|
||||||
#if defined(__KERNEL_CPU__)
|
#if defined(__KERNEL_CPU__)
|
||||||
# define TEX_NUM_FLOAT4_IMAGES TEX_NUM_FLOAT4_IMAGES_CPU
|
# define TEX_NUM_FLOAT4_IMAGES TEX_NUM_FLOAT4_CPU
|
||||||
#elif defined(__KERNEL_CUDA__)
|
#elif defined(__KERNEL_CUDA__)
|
||||||
# if __CUDA_ARCH__ < 300
|
# if __CUDA_ARCH__ < 300
|
||||||
# define TEX_NUM_FLOAT4_IMAGES TEX_NUM_FLOAT4_IMAGES_CUDA
|
# define TEX_NUM_FLOAT4_IMAGES TEX_NUM_FLOAT4_CUDA
|
||||||
# else
|
# else
|
||||||
# define TEX_NUM_FLOAT4_IMAGES TEX_NUM_FLOAT4_IMAGES_CUDA_KEPLER
|
# define TEX_NUM_FLOAT4_IMAGES TEX_NUM_FLOAT4_CUDA_KEPLER
|
||||||
# endif
|
# endif
|
||||||
#else
|
#else
|
||||||
# define TEX_NUM_FLOAT4_IMAGES TEX_NUM_FLOAT4_IMAGES_OPENCL
|
# define TEX_NUM_FLOAT4_IMAGES TEX_NUM_FLOAT4_OPENCL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __KERNEL_OPENCL__
|
#ifdef __KERNEL_OPENCL__
|
||||||
|
@@ -51,46 +51,46 @@ ImageManager::ImageManager(const DeviceInfo& info)
|
|||||||
|
|
||||||
/* CPU */
|
/* CPU */
|
||||||
if(device_type == DEVICE_CPU) {
|
if(device_type == DEVICE_CPU) {
|
||||||
tex_num_images[IMAGE_DATA_TYPE_BYTE4] = TEX_NUM_BYTE4_IMAGES_CPU;
|
tex_num_images[IMAGE_DATA_TYPE_BYTE4] = TEX_NUM_BYTE4_CPU;
|
||||||
tex_num_images[IMAGE_DATA_TYPE_FLOAT4] = TEX_NUM_FLOAT4_IMAGES_CPU;
|
tex_num_images[IMAGE_DATA_TYPE_FLOAT4] = TEX_NUM_FLOAT4_CPU;
|
||||||
tex_num_images[IMAGE_DATA_TYPE_FLOAT] = TEX_NUM_FLOAT_IMAGES_CPU;
|
tex_num_images[IMAGE_DATA_TYPE_FLOAT] = TEX_NUM_FLOAT_CPU;
|
||||||
tex_num_images[IMAGE_DATA_TYPE_BYTE] = TEX_NUM_BYTE_IMAGES_CPU;
|
tex_num_images[IMAGE_DATA_TYPE_BYTE] = TEX_NUM_BYTE_CPU;
|
||||||
tex_image_byte4_start = TEX_IMAGE_BYTE4_START_CPU;
|
tex_image_byte4_start = TEX_START_BYTE4_CPU;
|
||||||
tex_image_float_start = TEX_IMAGE_FLOAT_START_CPU;
|
tex_image_float_start = TEX_START_FLOAT_CPU;
|
||||||
tex_image_byte_start = TEX_IMAGE_BYTE_START_CPU;
|
tex_image_byte_start = TEX_START_BYTE_CPU;
|
||||||
}
|
}
|
||||||
/* CUDA */
|
/* CUDA */
|
||||||
else if(device_type == DEVICE_CUDA) {
|
else if(device_type == DEVICE_CUDA) {
|
||||||
if(info.has_bindless_textures) {
|
if(info.has_bindless_textures) {
|
||||||
/* Kepler and above */
|
/* Kepler and above */
|
||||||
tex_num_images[IMAGE_DATA_TYPE_BYTE4] = TEX_NUM_BYTE4_IMAGES_CUDA_KEPLER;
|
tex_num_images[IMAGE_DATA_TYPE_BYTE4] = TEX_NUM_BYTE4_CUDA_KEPLER;
|
||||||
tex_num_images[IMAGE_DATA_TYPE_FLOAT4] = TEX_NUM_FLOAT4_IMAGES_CUDA_KEPLER;
|
tex_num_images[IMAGE_DATA_TYPE_FLOAT4] = TEX_NUM_FLOAT4_CUDA_KEPLER;
|
||||||
tex_num_images[IMAGE_DATA_TYPE_FLOAT] = TEX_NUM_FLOAT_IMAGES_CUDA_KEPLER;
|
tex_num_images[IMAGE_DATA_TYPE_FLOAT] = TEX_NUM_FLOAT_CUDA_KEPLER;
|
||||||
tex_num_images[IMAGE_DATA_TYPE_BYTE] = TEX_NUM_BYTE_IMAGES_CUDA_KEPLER;
|
tex_num_images[IMAGE_DATA_TYPE_BYTE] = TEX_NUM_BYTE_CUDA_KEPLER;
|
||||||
tex_image_byte4_start = TEX_IMAGE_BYTE4_START_CUDA_KEPLER;
|
tex_image_byte4_start = TEX_START_BYTE4_CUDA_KEPLER;
|
||||||
tex_image_float_start = TEX_IMAGE_FLOAT_START_CUDA_KEPLER;
|
tex_image_float_start = TEX_START_FLOAT_CUDA_KEPLER;
|
||||||
tex_image_byte_start = TEX_IMAGE_BYTE_START_CUDA_KEPLER;
|
tex_image_byte_start = TEX_START_BYTE_CUDA_KEPLER;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
/* Fermi */
|
/* Fermi */
|
||||||
tex_num_images[IMAGE_DATA_TYPE_BYTE4] = TEX_NUM_BYTE4_IMAGES_CUDA;
|
tex_num_images[IMAGE_DATA_TYPE_BYTE4] = TEX_NUM_BYTE4_CUDA;
|
||||||
tex_num_images[IMAGE_DATA_TYPE_FLOAT4] = TEX_NUM_FLOAT4_IMAGES_CUDA;
|
tex_num_images[IMAGE_DATA_TYPE_FLOAT4] = TEX_NUM_FLOAT4_CUDA;
|
||||||
tex_num_images[IMAGE_DATA_TYPE_FLOAT] = TEX_NUM_FLOAT_IMAGES_CUDA;
|
tex_num_images[IMAGE_DATA_TYPE_FLOAT] = TEX_NUM_FLOAT_CUDA;
|
||||||
tex_num_images[IMAGE_DATA_TYPE_BYTE] = TEX_NUM_BYTE_IMAGES_CUDA;
|
tex_num_images[IMAGE_DATA_TYPE_BYTE] = TEX_NUM_BYTE_CUDA;
|
||||||
tex_image_byte4_start = TEX_IMAGE_BYTE4_START_CUDA;
|
tex_image_byte4_start = TEX_START_BYTE4_CUDA;
|
||||||
tex_image_float_start = TEX_IMAGE_FLOAT_START_CUDA;
|
tex_image_float_start = TEX_START_FLOAT_CUDA;
|
||||||
tex_image_byte_start = TEX_IMAGE_BYTE_START_CUDA;
|
tex_image_byte_start = TEX_START_BYTE_CUDA;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* OpenCL */
|
/* OpenCL */
|
||||||
else if(device_type == DEVICE_OPENCL) {
|
else if(device_type == DEVICE_OPENCL) {
|
||||||
tex_num_images[IMAGE_DATA_TYPE_BYTE4] = TEX_NUM_BYTE4_IMAGES_OPENCL;
|
tex_num_images[IMAGE_DATA_TYPE_BYTE4] = TEX_NUM_BYTE4_OPENCL;
|
||||||
tex_num_images[IMAGE_DATA_TYPE_FLOAT4] = TEX_NUM_FLOAT4_IMAGES_OPENCL;
|
tex_num_images[IMAGE_DATA_TYPE_FLOAT4] = TEX_NUM_FLOAT4_OPENCL;
|
||||||
tex_num_images[IMAGE_DATA_TYPE_FLOAT] = TEX_NUM_FLOAT_IMAGES_OPENCL;
|
tex_num_images[IMAGE_DATA_TYPE_FLOAT] = TEX_NUM_FLOAT_OPENCL;
|
||||||
tex_num_images[IMAGE_DATA_TYPE_BYTE] = TEX_NUM_BYTE_IMAGES_OPENCL;
|
tex_num_images[IMAGE_DATA_TYPE_BYTE] = TEX_NUM_BYTE_OPENCL;
|
||||||
tex_image_byte4_start = TEX_IMAGE_BYTE4_START_OPENCL;
|
tex_image_byte4_start = TEX_START_BYTE4_OPENCL;
|
||||||
tex_image_float_start = TEX_IMAGE_FLOAT_START_OPENCL;
|
tex_image_float_start = TEX_START_FLOAT_OPENCL;
|
||||||
tex_image_byte_start = TEX_IMAGE_BYTE_START_OPENCL;
|
tex_image_byte_start = TEX_START_BYTE_OPENCL;
|
||||||
}
|
}
|
||||||
/* Should never happen */
|
/* Should never happen */
|
||||||
else {
|
else {
|
||||||
|
@@ -109,10 +109,10 @@ public:
|
|||||||
device_vector<uint> sobol_directions;
|
device_vector<uint> sobol_directions;
|
||||||
|
|
||||||
/* cpu images */
|
/* cpu images */
|
||||||
device_vector<uchar4> tex_byte4_image[TEX_NUM_BYTE4_IMAGES_CPU];
|
device_vector<uchar4> tex_byte4_image[TEX_NUM_BYTE4_CPU];
|
||||||
device_vector<float4> tex_float4_image[TEX_NUM_FLOAT4_IMAGES_CPU];
|
device_vector<float4> tex_float4_image[TEX_NUM_FLOAT4_CPU];
|
||||||
device_vector<float> tex_float_image[TEX_NUM_FLOAT_IMAGES_CPU];
|
device_vector<float> tex_float_image[TEX_NUM_FLOAT_CPU];
|
||||||
device_vector<uchar> tex_byte_image[TEX_NUM_BYTE_IMAGES_CPU];
|
device_vector<uchar> tex_byte_image[TEX_NUM_BYTE_CPU];
|
||||||
|
|
||||||
/* opencl images */
|
/* opencl images */
|
||||||
device_vector<uchar4> tex_image_byte4_packed;
|
device_vector<uchar4> tex_image_byte4_packed;
|
||||||
|
@@ -19,43 +19,43 @@
|
|||||||
|
|
||||||
CCL_NAMESPACE_BEGIN
|
CCL_NAMESPACE_BEGIN
|
||||||
|
|
||||||
/* Texture limits on various devices. */
|
/* Texture limits on devices. */
|
||||||
|
|
||||||
/* CPU */
|
/* CPU */
|
||||||
#define TEX_NUM_BYTE4_IMAGES_CPU 1024
|
#define TEX_NUM_FLOAT4_CPU 1024
|
||||||
#define TEX_NUM_FLOAT4_IMAGES_CPU 1024
|
#define TEX_NUM_BYTE4_CPU 1024
|
||||||
#define TEX_NUM_FLOAT_IMAGES_CPU 1024
|
#define TEX_NUM_FLOAT_CPU 1024
|
||||||
#define TEX_NUM_BYTE_IMAGES_CPU 1024
|
#define TEX_NUM_BYTE_CPU 1024
|
||||||
#define TEX_IMAGE_BYTE4_START_CPU TEX_NUM_FLOAT4_IMAGES_CPU
|
#define TEX_START_BYTE4_CPU TEX_NUM_FLOAT4_CPU
|
||||||
#define TEX_IMAGE_FLOAT_START_CPU (TEX_NUM_FLOAT4_IMAGES_CPU + TEX_NUM_BYTE4_IMAGES_CPU)
|
#define TEX_START_FLOAT_CPU (TEX_NUM_FLOAT4_CPU + TEX_NUM_BYTE4_CPU)
|
||||||
#define TEX_IMAGE_BYTE_START_CPU (TEX_NUM_FLOAT4_IMAGES_CPU + TEX_NUM_BYTE4_IMAGES_CPU + TEX_NUM_BYTE_IMAGES_CPU)
|
#define TEX_START_BYTE_CPU (TEX_NUM_FLOAT4_CPU + TEX_NUM_BYTE4_CPU + TEX_NUM_BYTE_CPU)
|
||||||
|
|
||||||
/* CUDA (Fermi) */
|
/* CUDA (Geforce 4xx and 5xx) */
|
||||||
#define TEX_NUM_BYTE4_IMAGES_CUDA 88
|
#define TEX_NUM_FLOAT4_CUDA 5
|
||||||
#define TEX_NUM_FLOAT4_IMAGES_CUDA 5
|
#define TEX_NUM_BYTE4_CUDA 88
|
||||||
#define TEX_NUM_FLOAT_IMAGES_CUDA 0
|
#define TEX_NUM_FLOAT_CUDA 0
|
||||||
#define TEX_NUM_BYTE_IMAGES_CUDA 0
|
#define TEX_NUM_BYTE_CUDA 0
|
||||||
#define TEX_IMAGE_BYTE4_START_CUDA TEX_NUM_FLOAT4_IMAGES_CUDA
|
#define TEX_START_BYTE4_CUDA TEX_NUM_FLOAT4_CUDA
|
||||||
#define TEX_IMAGE_FLOAT_START_CUDA (TEX_NUM_FLOAT4_IMAGES_CUDA + TEX_NUM_BYTE4_IMAGES_CUDA)
|
#define TEX_START_FLOAT_CUDA (TEX_NUM_FLOAT4_CUDA + TEX_NUM_BYTE4_CUDA)
|
||||||
#define TEX_IMAGE_BYTE_START_CUDA (TEX_NUM_FLOAT4_IMAGES_CUDA + TEX_NUM_BYTE4_IMAGES_CUDA + TEX_NUM_BYTE_IMAGES_CUDA)
|
#define TEX_START_BYTE_CUDA (TEX_NUM_FLOAT4_CUDA + TEX_NUM_BYTE4_CUDA + TEX_NUM_BYTE_CUDA)
|
||||||
|
|
||||||
/* CUDA (KEPLER and above) */
|
/* CUDA (Kepler, Geforce 6xx and above) */
|
||||||
#define TEX_NUM_BYTE4_IMAGES_CUDA_KEPLER 1024
|
#define TEX_NUM_FLOAT4_CUDA_KEPLER 1024
|
||||||
#define TEX_NUM_FLOAT4_IMAGES_CUDA_KEPLER 1024
|
#define TEX_NUM_BYTE4_CUDA_KEPLER 1024
|
||||||
#define TEX_NUM_FLOAT_IMAGES_CUDA_KEPLER 1024
|
#define TEX_NUM_FLOAT_CUDA_KEPLER 1024
|
||||||
#define TEX_NUM_BYTE_IMAGES_CUDA_KEPLER 1024
|
#define TEX_NUM_BYTE_CUDA_KEPLER 1024
|
||||||
#define TEX_IMAGE_BYTE4_START_CUDA_KEPLER TEX_NUM_FLOAT4_IMAGES_CUDA_KEPLER
|
#define TEX_START_BYTE4_CUDA_KEPLER TEX_NUM_FLOAT4_CUDA_KEPLER
|
||||||
#define TEX_IMAGE_FLOAT_START_CUDA_KEPLER (TEX_NUM_FLOAT4_IMAGES_CUDA_KEPLER + TEX_NUM_BYTE4_IMAGES_CUDA_KEPLER)
|
#define TEX_START_FLOAT_CUDA_KEPLER (TEX_NUM_FLOAT4_CUDA_KEPLER + TEX_NUM_BYTE4_CUDA_KEPLER)
|
||||||
#define TEX_IMAGE_BYTE_START_CUDA_KEPLER (TEX_NUM_FLOAT4_IMAGES_CUDA_KEPLER + TEX_NUM_BYTE4_IMAGES_CUDA_KEPLER + TEX_NUM_BYTE_IMAGES_CUDA_KEPLER)
|
#define TEX_START_BYTE_CUDA_KEPLER (TEX_NUM_FLOAT4_CUDA_KEPLER + TEX_NUM_BYTE4_CUDA_KEPLER + TEX_NUM_BYTE_CUDA_KEPLER)
|
||||||
|
|
||||||
/* OpenCL */
|
/* OpenCL */
|
||||||
#define TEX_NUM_BYTE4_IMAGES_OPENCL 1024
|
#define TEX_NUM_FLOAT4_OPENCL 1024
|
||||||
#define TEX_NUM_FLOAT4_IMAGES_OPENCL 1024
|
#define TEX_NUM_BYTE4_OPENCL 1024
|
||||||
#define TEX_NUM_FLOAT_IMAGES_OPENCL 0
|
#define TEX_NUM_FLOAT_OPENCL 0
|
||||||
#define TEX_NUM_BYTE_IMAGES_OPENCL 0
|
#define TEX_NUM_BYTE_OPENCL 0
|
||||||
#define TEX_IMAGE_BYTE4_START_OPENCL TEX_NUM_FLOAT4_IMAGES_OPENCL
|
#define TEX_START_BYTE4_OPENCL TEX_NUM_FLOAT4_OPENCL
|
||||||
#define TEX_IMAGE_FLOAT_START_OPENCL (TEX_NUM_FLOAT4_IMAGES_OPENCL + TEX_NUM_BYTE4_IMAGES_OPENCL)
|
#define TEX_START_FLOAT_OPENCL (TEX_NUM_FLOAT4_OPENCL + TEX_NUM_BYTE4_OPENCL)
|
||||||
#define TEX_IMAGE_BYTE_START_OPENCL (TEX_NUM_FLOAT4_IMAGES_OPENCL + TEX_NUM_BYTE4_IMAGES_OPENCL + TEX_NUM_BYTE_IMAGES_OPENCL)
|
#define TEX_START_BYTE_OPENCL (TEX_NUM_FLOAT4_OPENCL + TEX_NUM_BYTE4_OPENCL + TEX_NUM_BYTE_OPENCL)
|
||||||
|
|
||||||
|
|
||||||
/* Color to use when textures are not found. */
|
/* Color to use when textures are not found. */
|
||||||
|
Reference in New Issue
Block a user