forked from bartvdbraak/blender
Cleanup: Rename texture slots to float4 and byte, to distinguish from future float (single channel) and half_float slots.
Should be no functional changes, tested CPU and CUDA.
This commit is contained in:
parent
36d8a70b00
commit
3807bcb3a8
@ -483,7 +483,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
vector<string> tokens;
|
vector<string> tokens;
|
||||||
string_split(tokens, name, "_");
|
string_split(tokens, name, "_");
|
||||||
bind_name = string_printf("__tex_image_%s3d_%s",
|
bind_name = string_printf("__tex_image_%s_3d_%s",
|
||||||
tokens[2].c_str(),
|
tokens[2].c_str(),
|
||||||
tokens[3].c_str());
|
tokens[3].c_str());
|
||||||
}
|
}
|
||||||
|
@ -34,11 +34,11 @@ ccl_device float4 volume_image_texture_3d(int id, float x, float y, float z)
|
|||||||
{
|
{
|
||||||
float4 r;
|
float4 r;
|
||||||
switch(id) {
|
switch(id) {
|
||||||
case 0: r = kernel_tex_image_interp_3d(__tex_image_float3d_000, x, y, z); break;
|
case 0: r = kernel_tex_image_interp_3d(__tex_image_float4_3d_000, x, y, z); break;
|
||||||
case 1: r = kernel_tex_image_interp_3d(__tex_image_float3d_001, x, y, z); break;
|
case 1: r = kernel_tex_image_interp_3d(__tex_image_float4_3d_001, x, y, z); break;
|
||||||
case 2: r = kernel_tex_image_interp_3d(__tex_image_float3d_002, x, y, z); break;
|
case 2: r = kernel_tex_image_interp_3d(__tex_image_float4_3d_002, x, y, z); break;
|
||||||
case 3: r = kernel_tex_image_interp_3d(__tex_image_float3d_003, x, y, z); break;
|
case 3: r = kernel_tex_image_interp_3d(__tex_image_float4_3d_003, x, y, z); break;
|
||||||
case 4: r = kernel_tex_image_interp_3d(__tex_image_float3d_004, x, y, z); break;
|
case 4: r = kernel_tex_image_interp_3d(__tex_image_float4_3d_004, x, y, z); break;
|
||||||
}
|
}
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
@ -479,9 +479,9 @@ typedef texture_image<uchar4> texture_image_uchar4;
|
|||||||
#define kernel_tex_fetch_ssef(tex, index) (kg->tex.fetch_ssef(index))
|
#define kernel_tex_fetch_ssef(tex, index) (kg->tex.fetch_ssef(index))
|
||||||
#define kernel_tex_fetch_ssei(tex, index) (kg->tex.fetch_ssei(index))
|
#define kernel_tex_fetch_ssei(tex, index) (kg->tex.fetch_ssei(index))
|
||||||
#define kernel_tex_lookup(tex, t, offset, size) (kg->tex.lookup(t, offset, size))
|
#define kernel_tex_lookup(tex, t, offset, size) (kg->tex.lookup(t, offset, size))
|
||||||
#define kernel_tex_image_interp(tex, x, y) ((tex < MAX_FLOAT_IMAGES) ? kg->texture_float_images[tex].interp(x, y) : kg->texture_byte_images[tex - MAX_FLOAT_IMAGES].interp(x, y))
|
#define kernel_tex_image_interp(tex, x, y) ((tex < MAX_FLOAT4_IMAGES) ? kg->texture_float4_images[tex].interp(x, y) : kg->texture_byte_images[tex - MAX_FLOAT4_IMAGES].interp(x, y))
|
||||||
#define kernel_tex_image_interp_3d(tex, x, y, z) ((tex < MAX_FLOAT_IMAGES) ? kg->texture_float_images[tex].interp_3d(x, y, z) : kg->texture_byte_images[tex - MAX_FLOAT_IMAGES].interp_3d(x, y, z))
|
#define kernel_tex_image_interp_3d(tex, x, y, z) ((tex < MAX_FLOAT4_IMAGES) ? kg->texture_float4_images[tex].interp_3d(x, y, z) : kg->texture_byte_images[tex - MAX_FLOAT4_IMAGES].interp_3d(x, y, z))
|
||||||
#define kernel_tex_image_interp_3d_ex(tex, x, y, z, interpolation) ((tex < MAX_FLOAT_IMAGES) ? kg->texture_float_images[tex].interp_3d_ex(x, y, z, interpolation) : kg->texture_byte_images[tex - MAX_FLOAT_IMAGES].interp_3d_ex(x, y, z, interpolation))
|
#define kernel_tex_image_interp_3d_ex(tex, x, y, z, interpolation) ((tex < MAX_FLOAT4_IMAGES) ? kg->texture_float4_images[tex].interp_3d_ex(x, y, z, interpolation) : kg->texture_byte_images[tex - MAX_FLOAT4_IMAGES].interp_3d_ex(x, y, z, interpolation))
|
||||||
|
|
||||||
#define kernel_data (kg->__data)
|
#define kernel_data (kg->__data)
|
||||||
|
|
||||||
|
@ -32,11 +32,11 @@ struct OSLShadingSystem;
|
|||||||
# endif
|
# endif
|
||||||
|
|
||||||
# define MAX_BYTE_IMAGES 1024
|
# define MAX_BYTE_IMAGES 1024
|
||||||
# define MAX_FLOAT_IMAGES 1024
|
# define MAX_FLOAT4_IMAGES 1024
|
||||||
|
|
||||||
typedef struct KernelGlobals {
|
typedef struct KernelGlobals {
|
||||||
texture_image_uchar4 texture_byte_images[MAX_BYTE_IMAGES];
|
texture_image_uchar4 texture_byte_images[MAX_BYTE_IMAGES];
|
||||||
texture_image_float4 texture_float_images[MAX_FLOAT_IMAGES];
|
texture_image_float4 texture_float4_images[MAX_FLOAT4_IMAGES];
|
||||||
|
|
||||||
# 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)
|
||||||
|
@ -73,167 +73,167 @@ KERNEL_TEX(float, texture_float, __lookup_table)
|
|||||||
KERNEL_TEX(uint, texture_uint, __sobol_directions)
|
KERNEL_TEX(uint, texture_uint, __sobol_directions)
|
||||||
|
|
||||||
/* full-float image */
|
/* full-float image */
|
||||||
KERNEL_IMAGE_TEX(float4, texture_image_float4, __tex_image_float_000)
|
KERNEL_IMAGE_TEX(float4, texture_image_float4, __tex_image_float4_000)
|
||||||
KERNEL_IMAGE_TEX(float4, texture_image_float4, __tex_image_float_001)
|
KERNEL_IMAGE_TEX(float4, texture_image_float4, __tex_image_float4_001)
|
||||||
KERNEL_IMAGE_TEX(float4, texture_image_float4, __tex_image_float_002)
|
KERNEL_IMAGE_TEX(float4, texture_image_float4, __tex_image_float4_002)
|
||||||
KERNEL_IMAGE_TEX(float4, texture_image_float4, __tex_image_float_003)
|
KERNEL_IMAGE_TEX(float4, texture_image_float4, __tex_image_float4_003)
|
||||||
KERNEL_IMAGE_TEX(float4, texture_image_float4, __tex_image_float_004)
|
KERNEL_IMAGE_TEX(float4, texture_image_float4, __tex_image_float4_004)
|
||||||
|
|
||||||
KERNEL_IMAGE_TEX(float4, texture_image3d_float4, __tex_image_float3d_000)
|
KERNEL_IMAGE_TEX(float4, texture_image3d_float4, __tex_image_float4_3d_000)
|
||||||
KERNEL_IMAGE_TEX(float4, texture_image3d_float4, __tex_image_float3d_001)
|
KERNEL_IMAGE_TEX(float4, texture_image3d_float4, __tex_image_float4_3d_001)
|
||||||
KERNEL_IMAGE_TEX(float4, texture_image3d_float4, __tex_image_float3d_002)
|
KERNEL_IMAGE_TEX(float4, texture_image3d_float4, __tex_image_float4_3d_002)
|
||||||
KERNEL_IMAGE_TEX(float4, texture_image3d_float4, __tex_image_float3d_003)
|
KERNEL_IMAGE_TEX(float4, texture_image3d_float4, __tex_image_float4_3d_003)
|
||||||
KERNEL_IMAGE_TEX(float4, texture_image3d_float4, __tex_image_float3d_004)
|
KERNEL_IMAGE_TEX(float4, texture_image3d_float4, __tex_image_float4_3d_004)
|
||||||
|
|
||||||
/* image */
|
/* image */
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_005)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_005)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_006)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_006)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_007)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_007)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_008)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_008)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_009)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_009)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_010)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_010)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_011)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_011)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_012)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_012)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_013)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_013)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_014)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_014)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_015)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_015)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_016)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_016)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_017)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_017)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_018)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_018)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_019)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_019)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_020)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_020)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_021)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_021)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_022)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_022)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_023)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_023)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_024)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_024)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_025)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_025)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_026)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_026)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_027)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_027)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_028)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_028)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_029)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_029)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_030)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_030)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_031)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_031)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_032)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_032)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_033)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_033)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_034)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_034)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_035)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_035)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_036)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_036)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_037)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_037)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_038)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_038)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_039)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_039)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_040)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_040)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_041)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_041)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_042)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_042)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_043)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_043)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_044)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_044)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_045)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_045)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_046)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_046)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_047)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_047)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_048)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_048)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_049)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_049)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_050)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_050)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_051)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_051)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_052)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_052)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_053)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_053)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_054)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_054)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_055)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_055)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_056)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_056)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_057)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_057)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_058)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_058)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_059)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_059)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_060)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_060)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_061)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_061)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_062)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_062)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_063)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_063)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_064)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_064)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_065)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_065)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_066)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_066)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_067)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_067)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_068)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_068)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_069)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_069)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_070)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_070)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_071)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_071)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_072)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_072)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_073)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_073)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_074)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_074)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_075)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_075)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_076)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_076)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_077)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_077)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_078)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_078)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_079)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_079)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_080)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_080)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_081)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_081)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_082)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_082)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_083)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_083)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_084)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_084)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_085)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_085)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_086)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_086)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_087)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_087)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_088)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_088)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_089)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_089)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_090)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_090)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_091)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_091)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_092)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_092)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_093)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_093)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_094)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_094)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_095)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_095)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_096)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_096)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_097)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_097)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_098)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_098)
|
||||||
|
|
||||||
/* Kepler and above */
|
/* Kepler and above */
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_099)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_099)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_100)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_100)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_101)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_101)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_102)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_102)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_103)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_103)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_104)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_104)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_105)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_105)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_106)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_106)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_107)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_107)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_108)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_108)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_109)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_109)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_110)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_110)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_111)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_111)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_112)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_112)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_113)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_113)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_114)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_114)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_115)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_115)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_116)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_116)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_117)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_117)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_118)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_118)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_119)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_119)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_120)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_120)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_121)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_121)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_122)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_122)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_123)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_123)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_124)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_124)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_125)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_125)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_126)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_126)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_127)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_127)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_128)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_128)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_129)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_129)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_130)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_130)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_131)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_131)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_132)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_132)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_133)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_133)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_134)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_134)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_135)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_135)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_136)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_136)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_137)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_137)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_138)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_138)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_139)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_139)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_140)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_140)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_141)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_141)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_142)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_142)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_143)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_143)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_144)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_144)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_145)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_145)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_146)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_146)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_147)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_147)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_148)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_148)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_149)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_149)
|
||||||
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_150)
|
KERNEL_IMAGE_TEX(uchar4, texture_image_uchar4, __tex_image_byte_150)
|
||||||
|
|
||||||
/* packed image (opencl) */
|
/* packed image (opencl) */
|
||||||
KERNEL_TEX(uchar4, texture_uchar4, __tex_image_packed)
|
KERNEL_TEX(uchar4, texture_uchar4, __tex_image_packed)
|
||||||
|
@ -90,13 +90,13 @@ void kernel_tex_copy(KernelGlobals *kg,
|
|||||||
#define KERNEL_IMAGE_TEX(type, ttype, tname)
|
#define KERNEL_IMAGE_TEX(type, ttype, tname)
|
||||||
#include "kernel_textures.h"
|
#include "kernel_textures.h"
|
||||||
|
|
||||||
else if(strstr(name, "__tex_image_float")) {
|
else if(strstr(name, "__tex_image_float4")) {
|
||||||
texture_image_float4 *tex = NULL;
|
texture_image_float4 *tex = NULL;
|
||||||
int id = atoi(name + strlen("__tex_image_float_"));
|
int id = atoi(name + strlen("__tex_image_float4_"));
|
||||||
int array_index = id;
|
int array_index = id;
|
||||||
|
|
||||||
if(array_index >= 0 && array_index < MAX_FLOAT_IMAGES) {
|
if(array_index >= 0 && array_index < MAX_FLOAT4_IMAGES) {
|
||||||
tex = &kg->texture_float_images[array_index];
|
tex = &kg->texture_float4_images[array_index];
|
||||||
}
|
}
|
||||||
|
|
||||||
if(tex) {
|
if(tex) {
|
||||||
@ -106,10 +106,10 @@ void kernel_tex_copy(KernelGlobals *kg,
|
|||||||
tex->extension = extension;
|
tex->extension = extension;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(strstr(name, "__tex_image")) {
|
else if(strstr(name, "__tex_image_byte")) {
|
||||||
texture_image_uchar4 *tex = NULL;
|
texture_image_uchar4 *tex = NULL;
|
||||||
int id = atoi(name + strlen("__tex_image_"));
|
int id = atoi(name + strlen("__tex_image_byte_"));
|
||||||
int array_index = id - MAX_FLOAT_IMAGES;
|
int array_index = id - MAX_FLOAT4_IMAGES;
|
||||||
|
|
||||||
if(array_index >= 0 && array_index < MAX_BYTE_IMAGES) {
|
if(array_index >= 0 && array_index < MAX_BYTE_IMAGES) {
|
||||||
tex = &kg->texture_byte_images[array_index];
|
tex = &kg->texture_byte_images[array_index];
|
||||||
|
@ -16,13 +16,13 @@
|
|||||||
|
|
||||||
CCL_NAMESPACE_BEGIN
|
CCL_NAMESPACE_BEGIN
|
||||||
|
|
||||||
/* Float textures on various devices. */
|
/* Float4 textures on various devices. */
|
||||||
#if defined(__KERNEL_CPU__)
|
#if defined(__KERNEL_CPU__)
|
||||||
#define TEX_NUM_FLOAT_IMAGES TEX_NUM_FLOAT_IMAGES_CPU
|
#define TEX_NUM_FLOAT4_IMAGES TEX_NUM_FLOAT4_IMAGES_CPU
|
||||||
#elif defined(__KERNEL_CUDA__)
|
#elif defined(__KERNEL_CUDA__)
|
||||||
#define TEX_NUM_FLOAT_IMAGES TEX_NUM_FLOAT_IMAGES_CUDA
|
#define TEX_NUM_FLOAT4_IMAGES TEX_NUM_FLOAT4_IMAGES_CUDA
|
||||||
#else
|
#else
|
||||||
#define TEX_NUM_FLOAT_IMAGES TEX_NUM_FLOAT_IMAGES_OPENCL
|
#define TEX_NUM_FLOAT4_IMAGES TEX_NUM_FLOAT4_IMAGES_OPENCL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __KERNEL_OPENCL__
|
#ifdef __KERNEL_OPENCL__
|
||||||
@ -115,7 +115,7 @@ ccl_device float4 svm_image_texture(KernelGlobals *kg, int id, float x, float y,
|
|||||||
r.y *= invw;
|
r.y *= invw;
|
||||||
r.z *= invw;
|
r.z *= invw;
|
||||||
|
|
||||||
if(id >= TEX_NUM_FLOAT_IMAGES) {
|
if(id >= TEX_NUM_FLOAT4_IMAGES) {
|
||||||
r.x = min(r.x, 1.0f);
|
r.x = min(r.x, 1.0f);
|
||||||
r.y = min(r.y, 1.0f);
|
r.y = min(r.y, 1.0f);
|
||||||
r.z = min(r.z, 1.0f);
|
r.z = min(r.z, 1.0f);
|
||||||
@ -156,159 +156,159 @@ ccl_device float4 svm_image_texture(KernelGlobals *kg, int id, float x, float y,
|
|||||||
* and we cannot use all since we still need some for other storage */
|
* and we cannot use all since we still need some for other storage */
|
||||||
|
|
||||||
switch(id) {
|
switch(id) {
|
||||||
case 0: r = kernel_tex_image_interp(__tex_image_float_000, x, y); break;
|
case 0: r = kernel_tex_image_interp(__tex_image_float4_000, x, y); break;
|
||||||
case 1: r = kernel_tex_image_interp(__tex_image_float_001, x, y); break;
|
case 1: r = kernel_tex_image_interp(__tex_image_float4_001, x, y); break;
|
||||||
case 2: r = kernel_tex_image_interp(__tex_image_float_002, x, y); break;
|
case 2: r = kernel_tex_image_interp(__tex_image_float4_002, x, y); break;
|
||||||
case 3: r = kernel_tex_image_interp(__tex_image_float_003, x, y); break;
|
case 3: r = kernel_tex_image_interp(__tex_image_float4_003, x, y); break;
|
||||||
case 4: r = kernel_tex_image_interp(__tex_image_float_004, x, y); break;
|
case 4: r = kernel_tex_image_interp(__tex_image_float4_004, x, y); break;
|
||||||
case 5: r = kernel_tex_image_interp(__tex_image_005, x, y); break;
|
case 5: r = kernel_tex_image_interp(__tex_image_byte_005, x, y); break;
|
||||||
case 6: r = kernel_tex_image_interp(__tex_image_006, x, y); break;
|
case 6: r = kernel_tex_image_interp(__tex_image_byte_006, x, y); break;
|
||||||
case 7: r = kernel_tex_image_interp(__tex_image_007, x, y); break;
|
case 7: r = kernel_tex_image_interp(__tex_image_byte_007, x, y); break;
|
||||||
case 8: r = kernel_tex_image_interp(__tex_image_008, x, y); break;
|
case 8: r = kernel_tex_image_interp(__tex_image_byte_008, x, y); break;
|
||||||
case 9: r = kernel_tex_image_interp(__tex_image_009, x, y); break;
|
case 9: r = kernel_tex_image_interp(__tex_image_byte_009, x, y); break;
|
||||||
case 10: r = kernel_tex_image_interp(__tex_image_010, x, y); break;
|
case 10: r = kernel_tex_image_interp(__tex_image_byte_010, x, y); break;
|
||||||
case 11: r = kernel_tex_image_interp(__tex_image_011, x, y); break;
|
case 11: r = kernel_tex_image_interp(__tex_image_byte_011, x, y); break;
|
||||||
case 12: r = kernel_tex_image_interp(__tex_image_012, x, y); break;
|
case 12: r = kernel_tex_image_interp(__tex_image_byte_012, x, y); break;
|
||||||
case 13: r = kernel_tex_image_interp(__tex_image_013, x, y); break;
|
case 13: r = kernel_tex_image_interp(__tex_image_byte_013, x, y); break;
|
||||||
case 14: r = kernel_tex_image_interp(__tex_image_014, x, y); break;
|
case 14: r = kernel_tex_image_interp(__tex_image_byte_014, x, y); break;
|
||||||
case 15: r = kernel_tex_image_interp(__tex_image_015, x, y); break;
|
case 15: r = kernel_tex_image_interp(__tex_image_byte_015, x, y); break;
|
||||||
case 16: r = kernel_tex_image_interp(__tex_image_016, x, y); break;
|
case 16: r = kernel_tex_image_interp(__tex_image_byte_016, x, y); break;
|
||||||
case 17: r = kernel_tex_image_interp(__tex_image_017, x, y); break;
|
case 17: r = kernel_tex_image_interp(__tex_image_byte_017, x, y); break;
|
||||||
case 18: r = kernel_tex_image_interp(__tex_image_018, x, y); break;
|
case 18: r = kernel_tex_image_interp(__tex_image_byte_018, x, y); break;
|
||||||
case 19: r = kernel_tex_image_interp(__tex_image_019, x, y); break;
|
case 19: r = kernel_tex_image_interp(__tex_image_byte_019, x, y); break;
|
||||||
case 20: r = kernel_tex_image_interp(__tex_image_020, x, y); break;
|
case 20: r = kernel_tex_image_interp(__tex_image_byte_020, x, y); break;
|
||||||
case 21: r = kernel_tex_image_interp(__tex_image_021, x, y); break;
|
case 21: r = kernel_tex_image_interp(__tex_image_byte_021, x, y); break;
|
||||||
case 22: r = kernel_tex_image_interp(__tex_image_022, x, y); break;
|
case 22: r = kernel_tex_image_interp(__tex_image_byte_022, x, y); break;
|
||||||
case 23: r = kernel_tex_image_interp(__tex_image_023, x, y); break;
|
case 23: r = kernel_tex_image_interp(__tex_image_byte_023, x, y); break;
|
||||||
case 24: r = kernel_tex_image_interp(__tex_image_024, x, y); break;
|
case 24: r = kernel_tex_image_interp(__tex_image_byte_024, x, y); break;
|
||||||
case 25: r = kernel_tex_image_interp(__tex_image_025, x, y); break;
|
case 25: r = kernel_tex_image_interp(__tex_image_byte_025, x, y); break;
|
||||||
case 26: r = kernel_tex_image_interp(__tex_image_026, x, y); break;
|
case 26: r = kernel_tex_image_interp(__tex_image_byte_026, x, y); break;
|
||||||
case 27: r = kernel_tex_image_interp(__tex_image_027, x, y); break;
|
case 27: r = kernel_tex_image_interp(__tex_image_byte_027, x, y); break;
|
||||||
case 28: r = kernel_tex_image_interp(__tex_image_028, x, y); break;
|
case 28: r = kernel_tex_image_interp(__tex_image_byte_028, x, y); break;
|
||||||
case 29: r = kernel_tex_image_interp(__tex_image_029, x, y); break;
|
case 29: r = kernel_tex_image_interp(__tex_image_byte_029, x, y); break;
|
||||||
case 30: r = kernel_tex_image_interp(__tex_image_030, x, y); break;
|
case 30: r = kernel_tex_image_interp(__tex_image_byte_030, x, y); break;
|
||||||
case 31: r = kernel_tex_image_interp(__tex_image_031, x, y); break;
|
case 31: r = kernel_tex_image_interp(__tex_image_byte_031, x, y); break;
|
||||||
case 32: r = kernel_tex_image_interp(__tex_image_032, x, y); break;
|
case 32: r = kernel_tex_image_interp(__tex_image_byte_032, x, y); break;
|
||||||
case 33: r = kernel_tex_image_interp(__tex_image_033, x, y); break;
|
case 33: r = kernel_tex_image_interp(__tex_image_byte_033, x, y); break;
|
||||||
case 34: r = kernel_tex_image_interp(__tex_image_034, x, y); break;
|
case 34: r = kernel_tex_image_interp(__tex_image_byte_034, x, y); break;
|
||||||
case 35: r = kernel_tex_image_interp(__tex_image_035, x, y); break;
|
case 35: r = kernel_tex_image_interp(__tex_image_byte_035, x, y); break;
|
||||||
case 36: r = kernel_tex_image_interp(__tex_image_036, x, y); break;
|
case 36: r = kernel_tex_image_interp(__tex_image_byte_036, x, y); break;
|
||||||
case 37: r = kernel_tex_image_interp(__tex_image_037, x, y); break;
|
case 37: r = kernel_tex_image_interp(__tex_image_byte_037, x, y); break;
|
||||||
case 38: r = kernel_tex_image_interp(__tex_image_038, x, y); break;
|
case 38: r = kernel_tex_image_interp(__tex_image_byte_038, x, y); break;
|
||||||
case 39: r = kernel_tex_image_interp(__tex_image_039, x, y); break;
|
case 39: r = kernel_tex_image_interp(__tex_image_byte_039, x, y); break;
|
||||||
case 40: r = kernel_tex_image_interp(__tex_image_040, x, y); break;
|
case 40: r = kernel_tex_image_interp(__tex_image_byte_040, x, y); break;
|
||||||
case 41: r = kernel_tex_image_interp(__tex_image_041, x, y); break;
|
case 41: r = kernel_tex_image_interp(__tex_image_byte_041, x, y); break;
|
||||||
case 42: r = kernel_tex_image_interp(__tex_image_042, x, y); break;
|
case 42: r = kernel_tex_image_interp(__tex_image_byte_042, x, y); break;
|
||||||
case 43: r = kernel_tex_image_interp(__tex_image_043, x, y); break;
|
case 43: r = kernel_tex_image_interp(__tex_image_byte_043, x, y); break;
|
||||||
case 44: r = kernel_tex_image_interp(__tex_image_044, x, y); break;
|
case 44: r = kernel_tex_image_interp(__tex_image_byte_044, x, y); break;
|
||||||
case 45: r = kernel_tex_image_interp(__tex_image_045, x, y); break;
|
case 45: r = kernel_tex_image_interp(__tex_image_byte_045, x, y); break;
|
||||||
case 46: r = kernel_tex_image_interp(__tex_image_046, x, y); break;
|
case 46: r = kernel_tex_image_interp(__tex_image_byte_046, x, y); break;
|
||||||
case 47: r = kernel_tex_image_interp(__tex_image_047, x, y); break;
|
case 47: r = kernel_tex_image_interp(__tex_image_byte_047, x, y); break;
|
||||||
case 48: r = kernel_tex_image_interp(__tex_image_048, x, y); break;
|
case 48: r = kernel_tex_image_interp(__tex_image_byte_048, x, y); break;
|
||||||
case 49: r = kernel_tex_image_interp(__tex_image_049, x, y); break;
|
case 49: r = kernel_tex_image_interp(__tex_image_byte_049, x, y); break;
|
||||||
case 50: r = kernel_tex_image_interp(__tex_image_050, x, y); break;
|
case 50: r = kernel_tex_image_interp(__tex_image_byte_050, x, y); break;
|
||||||
case 51: r = kernel_tex_image_interp(__tex_image_051, x, y); break;
|
case 51: r = kernel_tex_image_interp(__tex_image_byte_051, x, y); break;
|
||||||
case 52: r = kernel_tex_image_interp(__tex_image_052, x, y); break;
|
case 52: r = kernel_tex_image_interp(__tex_image_byte_052, x, y); break;
|
||||||
case 53: r = kernel_tex_image_interp(__tex_image_053, x, y); break;
|
case 53: r = kernel_tex_image_interp(__tex_image_byte_053, x, y); break;
|
||||||
case 54: r = kernel_tex_image_interp(__tex_image_054, x, y); break;
|
case 54: r = kernel_tex_image_interp(__tex_image_byte_054, x, y); break;
|
||||||
case 55: r = kernel_tex_image_interp(__tex_image_055, x, y); break;
|
case 55: r = kernel_tex_image_interp(__tex_image_byte_055, x, y); break;
|
||||||
case 56: r = kernel_tex_image_interp(__tex_image_056, x, y); break;
|
case 56: r = kernel_tex_image_interp(__tex_image_byte_056, x, y); break;
|
||||||
case 57: r = kernel_tex_image_interp(__tex_image_057, x, y); break;
|
case 57: r = kernel_tex_image_interp(__tex_image_byte_057, x, y); break;
|
||||||
case 58: r = kernel_tex_image_interp(__tex_image_058, x, y); break;
|
case 58: r = kernel_tex_image_interp(__tex_image_byte_058, x, y); break;
|
||||||
case 59: r = kernel_tex_image_interp(__tex_image_059, x, y); break;
|
case 59: r = kernel_tex_image_interp(__tex_image_byte_059, x, y); break;
|
||||||
case 60: r = kernel_tex_image_interp(__tex_image_060, x, y); break;
|
case 60: r = kernel_tex_image_interp(__tex_image_byte_060, x, y); break;
|
||||||
case 61: r = kernel_tex_image_interp(__tex_image_061, x, y); break;
|
case 61: r = kernel_tex_image_interp(__tex_image_byte_061, x, y); break;
|
||||||
case 62: r = kernel_tex_image_interp(__tex_image_062, x, y); break;
|
case 62: r = kernel_tex_image_interp(__tex_image_byte_062, x, y); break;
|
||||||
case 63: r = kernel_tex_image_interp(__tex_image_063, x, y); break;
|
case 63: r = kernel_tex_image_interp(__tex_image_byte_063, x, y); break;
|
||||||
case 64: r = kernel_tex_image_interp(__tex_image_064, x, y); break;
|
case 64: r = kernel_tex_image_interp(__tex_image_byte_064, x, y); break;
|
||||||
case 65: r = kernel_tex_image_interp(__tex_image_065, x, y); break;
|
case 65: r = kernel_tex_image_interp(__tex_image_byte_065, x, y); break;
|
||||||
case 66: r = kernel_tex_image_interp(__tex_image_066, x, y); break;
|
case 66: r = kernel_tex_image_interp(__tex_image_byte_066, x, y); break;
|
||||||
case 67: r = kernel_tex_image_interp(__tex_image_067, x, y); break;
|
case 67: r = kernel_tex_image_interp(__tex_image_byte_067, x, y); break;
|
||||||
case 68: r = kernel_tex_image_interp(__tex_image_068, x, y); break;
|
case 68: r = kernel_tex_image_interp(__tex_image_byte_068, x, y); break;
|
||||||
case 69: r = kernel_tex_image_interp(__tex_image_069, x, y); break;
|
case 69: r = kernel_tex_image_interp(__tex_image_byte_069, x, y); break;
|
||||||
case 70: r = kernel_tex_image_interp(__tex_image_070, x, y); break;
|
case 70: r = kernel_tex_image_interp(__tex_image_byte_070, x, y); break;
|
||||||
case 71: r = kernel_tex_image_interp(__tex_image_071, x, y); break;
|
case 71: r = kernel_tex_image_interp(__tex_image_byte_071, x, y); break;
|
||||||
case 72: r = kernel_tex_image_interp(__tex_image_072, x, y); break;
|
case 72: r = kernel_tex_image_interp(__tex_image_byte_072, x, y); break;
|
||||||
case 73: r = kernel_tex_image_interp(__tex_image_073, x, y); break;
|
case 73: r = kernel_tex_image_interp(__tex_image_byte_073, x, y); break;
|
||||||
case 74: r = kernel_tex_image_interp(__tex_image_074, x, y); break;
|
case 74: r = kernel_tex_image_interp(__tex_image_byte_074, x, y); break;
|
||||||
case 75: r = kernel_tex_image_interp(__tex_image_075, x, y); break;
|
case 75: r = kernel_tex_image_interp(__tex_image_byte_075, x, y); break;
|
||||||
case 76: r = kernel_tex_image_interp(__tex_image_076, x, y); break;
|
case 76: r = kernel_tex_image_interp(__tex_image_byte_076, x, y); break;
|
||||||
case 77: r = kernel_tex_image_interp(__tex_image_077, x, y); break;
|
case 77: r = kernel_tex_image_interp(__tex_image_byte_077, x, y); break;
|
||||||
case 78: r = kernel_tex_image_interp(__tex_image_078, x, y); break;
|
case 78: r = kernel_tex_image_interp(__tex_image_byte_078, x, y); break;
|
||||||
case 79: r = kernel_tex_image_interp(__tex_image_079, x, y); break;
|
case 79: r = kernel_tex_image_interp(__tex_image_byte_079, x, y); break;
|
||||||
case 80: r = kernel_tex_image_interp(__tex_image_080, x, y); break;
|
case 80: r = kernel_tex_image_interp(__tex_image_byte_080, x, y); break;
|
||||||
case 81: r = kernel_tex_image_interp(__tex_image_081, x, y); break;
|
case 81: r = kernel_tex_image_interp(__tex_image_byte_081, x, y); break;
|
||||||
case 82: r = kernel_tex_image_interp(__tex_image_082, x, y); break;
|
case 82: r = kernel_tex_image_interp(__tex_image_byte_082, x, y); break;
|
||||||
case 83: r = kernel_tex_image_interp(__tex_image_083, x, y); break;
|
case 83: r = kernel_tex_image_interp(__tex_image_byte_083, x, y); break;
|
||||||
case 84: r = kernel_tex_image_interp(__tex_image_084, x, y); break;
|
case 84: r = kernel_tex_image_interp(__tex_image_byte_084, x, y); break;
|
||||||
case 85: r = kernel_tex_image_interp(__tex_image_085, x, y); break;
|
case 85: r = kernel_tex_image_interp(__tex_image_byte_085, x, y); break;
|
||||||
case 86: r = kernel_tex_image_interp(__tex_image_086, x, y); break;
|
case 86: r = kernel_tex_image_interp(__tex_image_byte_086, x, y); break;
|
||||||
case 87: r = kernel_tex_image_interp(__tex_image_087, x, y); break;
|
case 87: r = kernel_tex_image_interp(__tex_image_byte_087, x, y); break;
|
||||||
case 88: r = kernel_tex_image_interp(__tex_image_088, x, y); break;
|
case 88: r = kernel_tex_image_interp(__tex_image_byte_088, x, y); break;
|
||||||
case 89: r = kernel_tex_image_interp(__tex_image_089, x, y); break;
|
case 89: r = kernel_tex_image_interp(__tex_image_byte_089, x, y); break;
|
||||||
case 90: r = kernel_tex_image_interp(__tex_image_090, x, y); break;
|
case 90: r = kernel_tex_image_interp(__tex_image_byte_090, x, y); break;
|
||||||
case 91: r = kernel_tex_image_interp(__tex_image_091, x, y); break;
|
case 91: r = kernel_tex_image_interp(__tex_image_byte_091, x, y); break;
|
||||||
case 92: r = kernel_tex_image_interp(__tex_image_092, x, y); break;
|
case 92: r = kernel_tex_image_interp(__tex_image_byte_092, x, y); break;
|
||||||
|
|
||||||
# if defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 300)
|
# if defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 300)
|
||||||
case 93: r = kernel_tex_image_interp(__tex_image_093, x, y); break;
|
case 93: r = kernel_tex_image_interp(__tex_image_byte_093, x, y); break;
|
||||||
case 94: r = kernel_tex_image_interp(__tex_image_094, x, y); break;
|
case 94: r = kernel_tex_image_interp(__tex_image_byte_094, x, y); break;
|
||||||
case 95: r = kernel_tex_image_interp(__tex_image_095, x, y); break;
|
case 95: r = kernel_tex_image_interp(__tex_image_byte_095, x, y); break;
|
||||||
case 96: r = kernel_tex_image_interp(__tex_image_096, x, y); break;
|
case 96: r = kernel_tex_image_interp(__tex_image_byte_096, x, y); break;
|
||||||
case 97: r = kernel_tex_image_interp(__tex_image_097, x, y); break;
|
case 97: r = kernel_tex_image_interp(__tex_image_byte_097, x, y); break;
|
||||||
case 98: r = kernel_tex_image_interp(__tex_image_098, x, y); break;
|
case 98: r = kernel_tex_image_interp(__tex_image_byte_098, x, y); break;
|
||||||
case 99: r = kernel_tex_image_interp(__tex_image_099, x, y); break;
|
case 99: r = kernel_tex_image_interp(__tex_image_byte_099, x, y); break;
|
||||||
case 100: r = kernel_tex_image_interp(__tex_image_100, x, y); break;
|
case 100: r = kernel_tex_image_interp(__tex_image_byte_100, x, y); break;
|
||||||
case 101: r = kernel_tex_image_interp(__tex_image_101, x, y); break;
|
case 101: r = kernel_tex_image_interp(__tex_image_byte_101, x, y); break;
|
||||||
case 102: r = kernel_tex_image_interp(__tex_image_102, x, y); break;
|
case 102: r = kernel_tex_image_interp(__tex_image_byte_102, x, y); break;
|
||||||
case 103: r = kernel_tex_image_interp(__tex_image_103, x, y); break;
|
case 103: r = kernel_tex_image_interp(__tex_image_byte_103, x, y); break;
|
||||||
case 104: r = kernel_tex_image_interp(__tex_image_104, x, y); break;
|
case 104: r = kernel_tex_image_interp(__tex_image_byte_104, x, y); break;
|
||||||
case 105: r = kernel_tex_image_interp(__tex_image_105, x, y); break;
|
case 105: r = kernel_tex_image_interp(__tex_image_byte_105, x, y); break;
|
||||||
case 106: r = kernel_tex_image_interp(__tex_image_106, x, y); break;
|
case 106: r = kernel_tex_image_interp(__tex_image_byte_106, x, y); break;
|
||||||
case 107: r = kernel_tex_image_interp(__tex_image_107, x, y); break;
|
case 107: r = kernel_tex_image_interp(__tex_image_byte_107, x, y); break;
|
||||||
case 108: r = kernel_tex_image_interp(__tex_image_108, x, y); break;
|
case 108: r = kernel_tex_image_interp(__tex_image_byte_108, x, y); break;
|
||||||
case 109: r = kernel_tex_image_interp(__tex_image_109, x, y); break;
|
case 109: r = kernel_tex_image_interp(__tex_image_byte_109, x, y); break;
|
||||||
case 110: r = kernel_tex_image_interp(__tex_image_110, x, y); break;
|
case 110: r = kernel_tex_image_interp(__tex_image_byte_110, x, y); break;
|
||||||
case 111: r = kernel_tex_image_interp(__tex_image_111, x, y); break;
|
case 111: r = kernel_tex_image_interp(__tex_image_byte_111, x, y); break;
|
||||||
case 112: r = kernel_tex_image_interp(__tex_image_112, x, y); break;
|
case 112: r = kernel_tex_image_interp(__tex_image_byte_112, x, y); break;
|
||||||
case 113: r = kernel_tex_image_interp(__tex_image_113, x, y); break;
|
case 113: r = kernel_tex_image_interp(__tex_image_byte_113, x, y); break;
|
||||||
case 114: r = kernel_tex_image_interp(__tex_image_114, x, y); break;
|
case 114: r = kernel_tex_image_interp(__tex_image_byte_114, x, y); break;
|
||||||
case 115: r = kernel_tex_image_interp(__tex_image_115, x, y); break;
|
case 115: r = kernel_tex_image_interp(__tex_image_byte_115, x, y); break;
|
||||||
case 116: r = kernel_tex_image_interp(__tex_image_116, x, y); break;
|
case 116: r = kernel_tex_image_interp(__tex_image_byte_116, x, y); break;
|
||||||
case 117: r = kernel_tex_image_interp(__tex_image_117, x, y); break;
|
case 117: r = kernel_tex_image_interp(__tex_image_byte_117, x, y); break;
|
||||||
case 118: r = kernel_tex_image_interp(__tex_image_118, x, y); break;
|
case 118: r = kernel_tex_image_interp(__tex_image_byte_118, x, y); break;
|
||||||
case 119: r = kernel_tex_image_interp(__tex_image_119, x, y); break;
|
case 119: r = kernel_tex_image_interp(__tex_image_byte_119, x, y); break;
|
||||||
case 120: r = kernel_tex_image_interp(__tex_image_120, x, y); break;
|
case 120: r = kernel_tex_image_interp(__tex_image_byte_120, x, y); break;
|
||||||
case 121: r = kernel_tex_image_interp(__tex_image_121, x, y); break;
|
case 121: r = kernel_tex_image_interp(__tex_image_byte_121, x, y); break;
|
||||||
case 122: r = kernel_tex_image_interp(__tex_image_122, x, y); break;
|
case 122: r = kernel_tex_image_interp(__tex_image_byte_122, x, y); break;
|
||||||
case 123: r = kernel_tex_image_interp(__tex_image_123, x, y); break;
|
case 123: r = kernel_tex_image_interp(__tex_image_byte_123, x, y); break;
|
||||||
case 124: r = kernel_tex_image_interp(__tex_image_124, x, y); break;
|
case 124: r = kernel_tex_image_interp(__tex_image_byte_124, x, y); break;
|
||||||
case 125: r = kernel_tex_image_interp(__tex_image_125, x, y); break;
|
case 125: r = kernel_tex_image_interp(__tex_image_byte_125, x, y); break;
|
||||||
case 126: r = kernel_tex_image_interp(__tex_image_126, x, y); break;
|
case 126: r = kernel_tex_image_interp(__tex_image_byte_126, x, y); break;
|
||||||
case 127: r = kernel_tex_image_interp(__tex_image_127, x, y); break;
|
case 127: r = kernel_tex_image_interp(__tex_image_byte_127, x, y); break;
|
||||||
case 128: r = kernel_tex_image_interp(__tex_image_128, x, y); break;
|
case 128: r = kernel_tex_image_interp(__tex_image_byte_128, x, y); break;
|
||||||
case 129: r = kernel_tex_image_interp(__tex_image_129, x, y); break;
|
case 129: r = kernel_tex_image_interp(__tex_image_byte_129, x, y); break;
|
||||||
case 130: r = kernel_tex_image_interp(__tex_image_130, x, y); break;
|
case 130: r = kernel_tex_image_interp(__tex_image_byte_130, x, y); break;
|
||||||
case 131: r = kernel_tex_image_interp(__tex_image_131, x, y); break;
|
case 131: r = kernel_tex_image_interp(__tex_image_byte_131, x, y); break;
|
||||||
case 132: r = kernel_tex_image_interp(__tex_image_132, x, y); break;
|
case 132: r = kernel_tex_image_interp(__tex_image_byte_132, x, y); break;
|
||||||
case 133: r = kernel_tex_image_interp(__tex_image_133, x, y); break;
|
case 133: r = kernel_tex_image_interp(__tex_image_byte_133, x, y); break;
|
||||||
case 134: r = kernel_tex_image_interp(__tex_image_134, x, y); break;
|
case 134: r = kernel_tex_image_interp(__tex_image_byte_134, x, y); break;
|
||||||
case 135: r = kernel_tex_image_interp(__tex_image_135, x, y); break;
|
case 135: r = kernel_tex_image_interp(__tex_image_byte_135, x, y); break;
|
||||||
case 136: r = kernel_tex_image_interp(__tex_image_136, x, y); break;
|
case 136: r = kernel_tex_image_interp(__tex_image_byte_136, x, y); break;
|
||||||
case 137: r = kernel_tex_image_interp(__tex_image_137, x, y); break;
|
case 137: r = kernel_tex_image_interp(__tex_image_byte_137, x, y); break;
|
||||||
case 138: r = kernel_tex_image_interp(__tex_image_138, x, y); break;
|
case 138: r = kernel_tex_image_interp(__tex_image_byte_138, x, y); break;
|
||||||
case 139: r = kernel_tex_image_interp(__tex_image_139, x, y); break;
|
case 139: r = kernel_tex_image_interp(__tex_image_byte_139, x, y); break;
|
||||||
case 140: r = kernel_tex_image_interp(__tex_image_140, x, y); break;
|
case 140: r = kernel_tex_image_interp(__tex_image_byte_140, x, y); break;
|
||||||
case 141: r = kernel_tex_image_interp(__tex_image_141, x, y); break;
|
case 141: r = kernel_tex_image_interp(__tex_image_byte_141, x, y); break;
|
||||||
case 142: r = kernel_tex_image_interp(__tex_image_142, x, y); break;
|
case 142: r = kernel_tex_image_interp(__tex_image_byte_142, x, y); break;
|
||||||
case 143: r = kernel_tex_image_interp(__tex_image_143, x, y); break;
|
case 143: r = kernel_tex_image_interp(__tex_image_byte_143, x, y); break;
|
||||||
case 144: r = kernel_tex_image_interp(__tex_image_144, x, y); break;
|
case 144: r = kernel_tex_image_interp(__tex_image_byte_144, x, y); break;
|
||||||
case 145: r = kernel_tex_image_interp(__tex_image_145, x, y); break;
|
case 145: r = kernel_tex_image_interp(__tex_image_byte_145, x, y); break;
|
||||||
case 146: r = kernel_tex_image_interp(__tex_image_146, x, y); break;
|
case 146: r = kernel_tex_image_interp(__tex_image_byte_146, x, y); break;
|
||||||
case 147: r = kernel_tex_image_interp(__tex_image_147, x, y); break;
|
case 147: r = kernel_tex_image_interp(__tex_image_byte_147, x, y); break;
|
||||||
case 148: r = kernel_tex_image_interp(__tex_image_148, x, y); break;
|
case 148: r = kernel_tex_image_interp(__tex_image_byte_148, x, y); break;
|
||||||
case 149: r = kernel_tex_image_interp(__tex_image_149, x, y); break;
|
case 149: r = kernel_tex_image_interp(__tex_image_byte_149, x, y); break;
|
||||||
case 150: r = kernel_tex_image_interp(__tex_image_150, x, y); break;
|
case 150: r = kernel_tex_image_interp(__tex_image_byte_150, x, y); break;
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@ -322,7 +322,7 @@ ccl_device float4 svm_image_texture(KernelGlobals *kg, int id, float x, float y,
|
|||||||
|
|
||||||
if(use_alpha && alpha != 1.0f && alpha != 0.0f) {
|
if(use_alpha && alpha != 1.0f && alpha != 0.0f) {
|
||||||
r_ssef = r_ssef / ssef(alpha);
|
r_ssef = r_ssef / ssef(alpha);
|
||||||
if(id >= TEX_NUM_FLOAT_IMAGES)
|
if(id >= TEX_NUM_FLOAT4_IMAGES)
|
||||||
r_ssef = min(r_ssef, ssef(1.0f));
|
r_ssef = min(r_ssef, ssef(1.0f));
|
||||||
r.w = alpha;
|
r.w = alpha;
|
||||||
}
|
}
|
||||||
@ -338,7 +338,7 @@ ccl_device float4 svm_image_texture(KernelGlobals *kg, int id, float x, float y,
|
|||||||
r.y *= invw;
|
r.y *= invw;
|
||||||
r.z *= invw;
|
r.z *= invw;
|
||||||
|
|
||||||
if(id >= TEX_NUM_FLOAT_IMAGES) {
|
if(id >= TEX_NUM_FLOAT4_IMAGES) {
|
||||||
r.x = min(r.x, 1.0f);
|
r.x = min(r.x, 1.0f);
|
||||||
r.y = min(r.y, 1.0f);
|
r.y = min(r.y, 1.0f);
|
||||||
r.z = min(r.z, 1.0f);
|
r.z = min(r.z, 1.0f);
|
||||||
|
@ -42,31 +42,31 @@ ImageManager::ImageManager(const DeviceInfo& info)
|
|||||||
/* CPU */
|
/* CPU */
|
||||||
if(info.type == DEVICE_CPU) {
|
if(info.type == DEVICE_CPU) {
|
||||||
tex_num_images[IMAGE_DATA_TYPE_BYTE] = TEX_NUM_BYTE_IMAGES_CPU;
|
tex_num_images[IMAGE_DATA_TYPE_BYTE] = TEX_NUM_BYTE_IMAGES_CPU;
|
||||||
tex_num_images[IMAGE_DATA_TYPE_FLOAT] = TEX_NUM_FLOAT_IMAGES_CPU;
|
tex_num_images[IMAGE_DATA_TYPE_FLOAT4] = TEX_NUM_FLOAT4_IMAGES_CPU;
|
||||||
tex_image_byte_start = TEX_IMAGE_BYTE_START_CPU;
|
tex_image_byte_start = TEX_IMAGE_BYTE_START_CPU;
|
||||||
}
|
}
|
||||||
/* CUDA (Fermi) */
|
/* CUDA (Fermi) */
|
||||||
else if((info.type == DEVICE_CUDA || info.type == DEVICE_MULTI) && !info.extended_images) {
|
else if((info.type == DEVICE_CUDA || info.type == DEVICE_MULTI) && !info.extended_images) {
|
||||||
tex_num_images[IMAGE_DATA_TYPE_BYTE] = TEX_NUM_BYTE_IMAGES_CUDA;
|
tex_num_images[IMAGE_DATA_TYPE_BYTE] = TEX_NUM_BYTE_IMAGES_CUDA;
|
||||||
tex_num_images[IMAGE_DATA_TYPE_FLOAT] = TEX_NUM_FLOAT_IMAGES_CUDA;
|
tex_num_images[IMAGE_DATA_TYPE_FLOAT4] = TEX_NUM_FLOAT4_IMAGES_CUDA;
|
||||||
tex_image_byte_start = TEX_IMAGE_BYTE_START_CUDA;
|
tex_image_byte_start = TEX_IMAGE_BYTE_START_CUDA;
|
||||||
}
|
}
|
||||||
/* CUDA (Kepler and above) */
|
/* CUDA (Kepler and above) */
|
||||||
else if((info.type == DEVICE_CUDA || info.type == DEVICE_MULTI) && info.extended_images) {
|
else if((info.type == DEVICE_CUDA || info.type == DEVICE_MULTI) && info.extended_images) {
|
||||||
tex_num_images[IMAGE_DATA_TYPE_BYTE] = TEX_NUM_BYTE_IMAGES_CUDA_KEPLER;
|
tex_num_images[IMAGE_DATA_TYPE_BYTE] = TEX_NUM_BYTE_IMAGES_CUDA_KEPLER;
|
||||||
tex_num_images[IMAGE_DATA_TYPE_FLOAT] = TEX_NUM_FLOAT_IMAGES_CUDA_KEPLER;
|
tex_num_images[IMAGE_DATA_TYPE_FLOAT4] = TEX_NUM_FLOAT4_IMAGES_CUDA_KEPLER;
|
||||||
tex_image_byte_start = TEX_IMAGE_BYTE_START_CUDA_KELPER;
|
tex_image_byte_start = TEX_IMAGE_BYTE_START_CUDA_KELPER;
|
||||||
}
|
}
|
||||||
/* OpenCL */
|
/* OpenCL */
|
||||||
else if(info.pack_images) {
|
else if(info.pack_images) {
|
||||||
tex_num_images[IMAGE_DATA_TYPE_BYTE] = TEX_NUM_BYTE_IMAGES_OPENCL;
|
tex_num_images[IMAGE_DATA_TYPE_BYTE] = TEX_NUM_BYTE_IMAGES_OPENCL;
|
||||||
tex_num_images[IMAGE_DATA_TYPE_FLOAT] = TEX_NUM_FLOAT_IMAGES_OPENCL;
|
tex_num_images[IMAGE_DATA_TYPE_FLOAT4] = TEX_NUM_FLOAT4_IMAGES_OPENCL;
|
||||||
tex_image_byte_start = TEX_IMAGE_BYTE_START_OPENCL;
|
tex_image_byte_start = TEX_IMAGE_BYTE_START_OPENCL;
|
||||||
}
|
}
|
||||||
/* Should never happen */
|
/* Should never happen */
|
||||||
else {
|
else {
|
||||||
tex_num_images[IMAGE_DATA_TYPE_BYTE] = 0;
|
tex_num_images[IMAGE_DATA_TYPE_BYTE] = 0;
|
||||||
tex_num_images[IMAGE_DATA_TYPE_FLOAT] = 0;
|
tex_num_images[IMAGE_DATA_TYPE_FLOAT4] = 0;
|
||||||
tex_image_byte_start = 0;
|
tex_image_byte_start = 0;
|
||||||
assert(0);
|
assert(0);
|
||||||
}
|
}
|
||||||
@ -184,14 +184,14 @@ int ImageManager::flattened_slot_to_type_index(int slot, ImageDataType *type)
|
|||||||
return slot -= tex_image_byte_start;
|
return slot -= tex_image_byte_start;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
*type = IMAGE_DATA_TYPE_FLOAT;
|
*type = IMAGE_DATA_TYPE_FLOAT4;
|
||||||
return slot;
|
return slot;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
string ImageManager::name_from_type(int type)
|
string ImageManager::name_from_type(int type)
|
||||||
{
|
{
|
||||||
if(type == IMAGE_DATA_TYPE_FLOAT)
|
if(type == IMAGE_DATA_TYPE_FLOAT4)
|
||||||
return "float";
|
return "float";
|
||||||
else
|
else
|
||||||
return "byte";
|
return "byte";
|
||||||
@ -225,7 +225,7 @@ int ImageManager::add_image(const string& filename,
|
|||||||
/* Load image info and find out if we need a float texture. */
|
/* Load image info and find out if we need a float texture. */
|
||||||
is_float = (pack_images)? false: is_float_image(filename, builtin_data, is_linear);
|
is_float = (pack_images)? false: is_float_image(filename, builtin_data, is_linear);
|
||||||
|
|
||||||
ImageDataType type = is_float? IMAGE_DATA_TYPE_FLOAT : IMAGE_DATA_TYPE_BYTE;
|
ImageDataType type = is_float? IMAGE_DATA_TYPE_FLOAT4 : IMAGE_DATA_TYPE_BYTE;
|
||||||
|
|
||||||
/* Fnd existing image. */
|
/* Fnd existing image. */
|
||||||
for(slot = 0; slot < images[type].size(); slot++) {
|
for(slot = 0; slot < images[type].size(); slot++) {
|
||||||
@ -641,8 +641,8 @@ void ImageManager::device_load_image(Device *device, DeviceScene *dscene, int sl
|
|||||||
string filename = path_filename(images[type][slot_offset]->filename);
|
string filename = path_filename(images[type][slot_offset]->filename);
|
||||||
progress->set_status("Updating Images", "Loading " + filename);
|
progress->set_status("Updating Images", "Loading " + filename);
|
||||||
|
|
||||||
if(type == IMAGE_DATA_TYPE_FLOAT) {
|
if(type == IMAGE_DATA_TYPE_FLOAT4) {
|
||||||
device_vector<float4>& tex_img = dscene->tex_float_image[slot_offset];
|
device_vector<float4>& tex_img = dscene->tex_float4_image[slot_offset];
|
||||||
|
|
||||||
if(tex_img.device_pointer) {
|
if(tex_img.device_pointer) {
|
||||||
thread_scoped_lock device_lock(device_mutex);
|
thread_scoped_lock device_lock(device_mutex);
|
||||||
@ -661,9 +661,9 @@ void ImageManager::device_load_image(Device *device, DeviceScene *dscene, int sl
|
|||||||
|
|
||||||
string name;
|
string name;
|
||||||
|
|
||||||
if(slot >= 100) name = string_printf("__tex_image_float_%d", slot);
|
if(slot >= 100) name = string_printf("__tex_image_float4_%d", slot);
|
||||||
else if(slot >= 10) name = string_printf("__tex_image_float_0%d", slot);
|
else if(slot >= 10) name = string_printf("__tex_image_float4_0%d", slot);
|
||||||
else name = string_printf("__tex_image_float_00%d", slot);
|
else name = string_printf("__tex_image_float4_00%d", slot);
|
||||||
|
|
||||||
if(!pack_images) {
|
if(!pack_images) {
|
||||||
thread_scoped_lock device_lock(device_mutex);
|
thread_scoped_lock device_lock(device_mutex);
|
||||||
@ -674,7 +674,7 @@ void ImageManager::device_load_image(Device *device, DeviceScene *dscene, int sl
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
device_vector<uchar4>& tex_img = dscene->tex_image[slot_offset];
|
device_vector<uchar4>& tex_img = dscene->tex_byte_image[slot_offset];
|
||||||
|
|
||||||
if(tex_img.device_pointer) {
|
if(tex_img.device_pointer) {
|
||||||
thread_scoped_lock device_lock(device_mutex);
|
thread_scoped_lock device_lock(device_mutex);
|
||||||
@ -693,9 +693,9 @@ void ImageManager::device_load_image(Device *device, DeviceScene *dscene, int sl
|
|||||||
|
|
||||||
string name;
|
string name;
|
||||||
|
|
||||||
if(slot >= 100) name = string_printf("__tex_image_%d", slot);
|
if(slot >= 100) name = string_printf("__tex_image_byte_%d", slot);
|
||||||
else if(slot >= 10) name = string_printf("__tex_image_0%d", slot);
|
else if(slot >= 10) name = string_printf("__tex_image_byte_0%d", slot);
|
||||||
else name = string_printf("__tex_image_00%d", slot);
|
else name = string_printf("__tex_image_byte_00%d", slot);
|
||||||
|
|
||||||
if(!pack_images) {
|
if(!pack_images) {
|
||||||
thread_scoped_lock device_lock(device_mutex);
|
thread_scoped_lock device_lock(device_mutex);
|
||||||
@ -725,8 +725,8 @@ void ImageManager::device_free_image(Device *device, DeviceScene *dscene, int sl
|
|||||||
((OSL::TextureSystem*)osl_texture_system)->invalidate(filename);
|
((OSL::TextureSystem*)osl_texture_system)->invalidate(filename);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else if(type == IMAGE_DATA_TYPE_FLOAT) {
|
else if(type == IMAGE_DATA_TYPE_FLOAT4) {
|
||||||
device_vector<float4>& tex_img = dscene->tex_float_image[slot_offset];
|
device_vector<float4>& tex_img = dscene->tex_float4_image[slot_offset];
|
||||||
|
|
||||||
if(tex_img.device_pointer) {
|
if(tex_img.device_pointer) {
|
||||||
thread_scoped_lock device_lock(device_mutex);
|
thread_scoped_lock device_lock(device_mutex);
|
||||||
@ -739,7 +739,7 @@ void ImageManager::device_free_image(Device *device, DeviceScene *dscene, int sl
|
|||||||
images[type][slot_offset] = NULL;
|
images[type][slot_offset] = NULL;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
device_vector<uchar4>& tex_img = dscene->tex_image[slot_offset];
|
device_vector<uchar4>& tex_img = dscene->tex_byte_image[slot_offset];
|
||||||
|
|
||||||
if(tex_img.device_pointer) {
|
if(tex_img.device_pointer) {
|
||||||
thread_scoped_lock device_lock(device_mutex);
|
thread_scoped_lock device_lock(device_mutex);
|
||||||
@ -824,7 +824,7 @@ void ImageManager::device_pack_images(Device *device,
|
|||||||
if(!images[type][slot])
|
if(!images[type][slot])
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
device_vector<uchar4>& tex_img = dscene->tex_image[slot];
|
device_vector<uchar4>& tex_img = dscene->tex_byte_image[slot];
|
||||||
size += tex_img.size();
|
size += tex_img.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -837,7 +837,7 @@ void ImageManager::device_pack_images(Device *device,
|
|||||||
if(!images[type][slot])
|
if(!images[type][slot])
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
device_vector<uchar4>& tex_img = dscene->tex_image[slot];
|
device_vector<uchar4>& tex_img = dscene->tex_byte_image[slot];
|
||||||
|
|
||||||
/* todo: support 3D textures, only CPU for now */
|
/* todo: support 3D textures, only CPU for now */
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ public:
|
|||||||
~ImageManager();
|
~ImageManager();
|
||||||
|
|
||||||
enum ImageDataType {
|
enum ImageDataType {
|
||||||
IMAGE_DATA_TYPE_FLOAT = 0,
|
IMAGE_DATA_TYPE_FLOAT4 = 0,
|
||||||
IMAGE_DATA_TYPE_BYTE = 1,
|
IMAGE_DATA_TYPE_BYTE = 1,
|
||||||
|
|
||||||
IMAGE_DATA_NUM_TYPES
|
IMAGE_DATA_NUM_TYPES
|
||||||
|
@ -109,8 +109,8 @@ public:
|
|||||||
device_vector<uint> sobol_directions;
|
device_vector<uint> sobol_directions;
|
||||||
|
|
||||||
/* cpu images */
|
/* cpu images */
|
||||||
device_vector<uchar4> tex_image[TEX_NUM_BYTE_IMAGES_CPU];
|
device_vector<uchar4> tex_byte_image[TEX_NUM_BYTE_IMAGES_CPU];
|
||||||
device_vector<float4> tex_float_image[TEX_NUM_FLOAT_IMAGES_CPU];
|
device_vector<float4> tex_float4_image[TEX_NUM_FLOAT4_IMAGES_CPU];
|
||||||
|
|
||||||
/* opencl images */
|
/* opencl images */
|
||||||
device_vector<uchar4> tex_image_packed;
|
device_vector<uchar4> tex_image_packed;
|
||||||
|
@ -23,23 +23,23 @@ CCL_NAMESPACE_BEGIN
|
|||||||
|
|
||||||
/* CPU */
|
/* CPU */
|
||||||
#define TEX_NUM_BYTE_IMAGES_CPU 1024
|
#define TEX_NUM_BYTE_IMAGES_CPU 1024
|
||||||
#define TEX_NUM_FLOAT_IMAGES_CPU 1024
|
#define TEX_NUM_FLOAT4_IMAGES_CPU 1024
|
||||||
#define TEX_IMAGE_BYTE_START_CPU TEX_NUM_FLOAT_IMAGES_CPU
|
#define TEX_IMAGE_BYTE_START_CPU TEX_NUM_FLOAT4_IMAGES_CPU
|
||||||
|
|
||||||
/* CUDA (Fermi) */
|
/* CUDA (Fermi) */
|
||||||
#define TEX_NUM_BYTE_IMAGES_CUDA 88
|
#define TEX_NUM_BYTE_IMAGES_CUDA 88
|
||||||
#define TEX_NUM_FLOAT_IMAGES_CUDA 5
|
#define TEX_NUM_FLOAT4_IMAGES_CUDA 5
|
||||||
#define TEX_IMAGE_BYTE_START_CUDA TEX_NUM_FLOAT_IMAGES_CUDA
|
#define TEX_IMAGE_BYTE_START_CUDA TEX_NUM_FLOAT4_IMAGES_CUDA
|
||||||
|
|
||||||
/* CUDA (KEPLER and above) */
|
/* CUDA (KEPLER and above) */
|
||||||
#define TEX_NUM_BYTE_IMAGES_CUDA_KEPLER 145
|
#define TEX_NUM_BYTE_IMAGES_CUDA_KEPLER 145
|
||||||
#define TEX_NUM_FLOAT_IMAGES_CUDA_KEPLER 5
|
#define TEX_NUM_FLOAT4_IMAGES_CUDA_KEPLER 5
|
||||||
#define TEX_IMAGE_BYTE_START_CUDA_KELPER TEX_NUM_FLOAT_IMAGES_CUDA_KEPLER
|
#define TEX_IMAGE_BYTE_START_CUDA_KELPER TEX_NUM_FLOAT4_IMAGES_CUDA_KEPLER
|
||||||
|
|
||||||
/* OpenCL */
|
/* OpenCL */
|
||||||
#define TEX_NUM_BYTE_IMAGES_OPENCL 1024
|
#define TEX_NUM_BYTE_IMAGES_OPENCL 1024
|
||||||
#define TEX_NUM_FLOAT_IMAGES_OPENCL 0
|
#define TEX_NUM_FLOAT4_IMAGES_OPENCL 0
|
||||||
#define TEX_IMAGE_BYTE_START_OPENCL TEX_NUM_FLOAT_IMAGES_OPENCL
|
#define TEX_IMAGE_BYTE_START_OPENCL TEX_NUM_FLOAT4_IMAGES_OPENCL
|
||||||
|
|
||||||
|
|
||||||
/* Color to use when textures are not found. */
|
/* Color to use when textures are not found. */
|
||||||
|
Loading…
Reference in New Issue
Block a user