In doc there is a table "Hardware Support for Direct3D 11 Formats"
| Format(DXGI_FORMAT_*) | # Bits | Format Target | |||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | ||
| UNKNOWN | 0 | X | X | X | |||||||||||||||||||||||||||||||||||
| R32G32B32A32_TYPELESS | 128 | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||||
| R32G32B32A32_FLOAT | 128 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | o | X | X | X | |||||||||||||||
| R32G32B32A32_UINT | 128 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | o | X | X | ||||||||||||||||||||
| R32G32B32A32_SINT | 128 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | o | X | X | ||||||||||||||||||||
| R32G32B32_TYPELESS | 96 | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||||
| R32G32B32_FLOAT | 96 | X | X | X | X | X | X | X | X | o | o | X | o | o | o1 | X | X | X | o | X | X | X | |||||||||||||||||
| R32G32B32_UINT | 96 | X | X | X | X | X | X | X | X | X | o | X | X | X | o | X | X | ||||||||||||||||||||||
| R32G32B32_SINT | 96 | X | X | X | X | X | X | X | X | X | o | X | X | X | o | X | X | ||||||||||||||||||||||
| R16G16B16A16_TYPELESS | 64 | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||||
| R16G16B16A16_FLOAT | 64 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | X | X | |||||||||||||||
| R16G16B16A16_UNORM | 64 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | X | ||||||||||||||||
| R16G16B16A16_UINT | 64 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | |||||||||||||||||||||
| R16G16B16A16_SNORM | 64 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | X | ||||||||||||||||
| R16G16B16A16_SINT | 64 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | |||||||||||||||||||||
| R32G32_TYPELESS | 64 | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||||
| R32G32_FLOAT | 64 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | X | |||||||||||||||
| R32G32_UINT | 64 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | ||||||||||||||||||||
| R32G32_SINT | 64 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | ||||||||||||||||||||
| R32G8X24_TYPELESS | 64 | X | X | X | X | X | X | ||||||||||||||||||||||||||||||||
| D32_FLOAT_S8X24_UINT | 64 | X | X | X | X | X | X | X | X | o | X | ||||||||||||||||||||||||||||
| R32_FLOAT_X8X24_TYPELESS | 64 | X | X | X | X | X | X | X | X | X | X | X | X | ||||||||||||||||||||||||||
| X32_TYPELESS_G8X24_UINT | 64 | X | X | X | X | X | X | X | X | ||||||||||||||||||||||||||||||
| R10G10B10A2_TYPELESS | 32 | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||||
| R10G10B10A2_UNORM | 32 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | X | X | |||||||||||||||
| R10G10B10A2_UINT | 32 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | |||||||||||||||||||||
| R10G10B10_XR_BIAS_A2_UNORM | 32 | X | X | X | X | ||||||||||||||||||||||||||||||||||
| R11G11B10_FLOAT | 32 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | |||||||||||||||||
| R8G8B8A8_TYPELESS | 32 | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||||
| R8G8B8A8_UNORM | 32 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | X | X | |||||||||||||||
| R8G8B8A8_UNORM_SRGB | 32 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | X | X | |||||||||||||||||||
| R8G8B8A8_UINT | 32 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | |||||||||||||||||||||
| R8G8B8A8_SNORM | 32 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | X | ||||||||||||||||
| R8G8B8A8_SINT | 32 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | |||||||||||||||||||||
| R16G16_TYPELESS | 32 | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||||
| R16G16_FLOAT | 32 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | X | ||||||||||||||||
| R16G16_UNORM | 32 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | X | ||||||||||||||||
| R16G16_UINT | 32 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | |||||||||||||||||||||
| R16G16_SNORM | 32 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | X | ||||||||||||||||
| R16G16_SINT | 32 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | |||||||||||||||||||||
| R32_TYPELESS | 32 | X | X | X | X | X | X | X | X | ||||||||||||||||||||||||||||||
| D32_FLOAT | 32 | X | X | X | X | X | X | X | X | o | X | ||||||||||||||||||||||||||||
| R32_FLOAT | 32 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | X | |||||||||||
| R32_UINT | 32 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | ||||||||||||
| R32_SINT | 32 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | |||||||||||||
| R24G8_TYPELESS | 32 | X | X | X | X | X | X | ||||||||||||||||||||||||||||||||
| D24_UNORM_S8_UINT | 32 | X | X | X | X | X | X | X | X | o | X | ||||||||||||||||||||||||||||
| R24_UNORM_X8_TYPELESS | 32 | X | X | X | X | X | X | X | X | X | X | X | X | ||||||||||||||||||||||||||
| X24_TYPELESS_G8_UINT | 32 | X | X | X | X | X | X | X | X | ||||||||||||||||||||||||||||||
| R8G8_TYPELESS | 16 | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||||
| R8G8_UNORM | 16 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | X | ||||||||||||||||
| R8G8_UINT | 16 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | |||||||||||||||||||||
| R8G8_SNORM | 16 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | X | ||||||||||||||||
| R8G8_SINT | 16 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | |||||||||||||||||||||
| R16_TYPELESS | 16 | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||||
| R16_FLOAT | 16 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | X | ||||||||||||||||
| D16_UNORM | 16 | X | X | X | X | X | X | X | X | o | X | ||||||||||||||||||||||||||||
| R16_UNORM | 16 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | X | ||||||||||||||
| R16_UINT | 16 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | ||||||||||||||||||||
| R16_SNORM | 16 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | X | ||||||||||||||||
| R16_SINT | 16 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | |||||||||||||||||||||
| R8_TYPELESS | 8 | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||||
| R8_UNORM | 8 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | X | ||||||||||||||||
| R8_UINT | 8 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | |||||||||||||||||||||
| R8_SNORM | 8 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | X | ||||||||||||||||
| R8_SINT | 8 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | |||||||||||||||||||||
| A8_UNORM | 8 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | |||||||||||||||||||
| R9G9B9E5_SHAREDEXP | 32 | X | X | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||
| R8G8_B8G8_UNORM | 16 | X | X | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||
| G8R8_G8B8_UNORM | 16 | X | X | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||
| BC1_TYPELESS | 4 | X | X | X | X | X | X | ||||||||||||||||||||||||||||||||
| BC1_UNORM | 4 | X | X | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||
| BC1_UNORM_SRGB | 4 | X | X | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||
| BC2_TYPELESS | 8 | X | X | X | X | X | X | ||||||||||||||||||||||||||||||||
| BC2_UNORM | 8 | X | X | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||
| BC2_UNORM_SRGB | 8 | X | X | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||
| BC3_TYPELESS | 8 | X | X | X | X | X | X | ||||||||||||||||||||||||||||||||
| BC3_UNORM | 8 | X | X | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||
| BC3_UNORM_SRGB | 8 | X | X | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||
| BC4_TYPELESS | 4 | X | X | X | X | X | X | ||||||||||||||||||||||||||||||||
| BC4_UNORM | 4 | X | X | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||
| BC4_SNORM | 4 | X | X | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||
| BC5_TYPELESS | 8 | X | X | X | X | X | X | ||||||||||||||||||||||||||||||||
| BC5_UNORM | 8 | X | X | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||
| BC5_SNORM | 8 | X | X | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||
| B8G8R8A8_TYPELESS | 32 | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||||
| B8G8R8A8_UNORM | 32 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | X | X | |||||||||||||||||
| B8G8R8A8_UNORM_SRGB | 32 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | X | X | |||||||||||||||||||
| B8G8R8X8_TYPELESS | 32 | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||||
| B8G8R8X8_UNORM | 32 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | X | ||||||||||||||||||
| B8G8R8X8_UNORM_SRGB | 32 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | o | X | X | X | ||||||||||||||||||||
| BC6H_TYPELESS | 8 | X | X | X | X | X | X | ||||||||||||||||||||||||||||||||
| BC6H_UF16 | 8 | X | X | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||
| BC6H_SF16 | 8 | X | X | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||
| BC7_TYPELESS | 8 | X | X | X | X | X | X | ||||||||||||||||||||||||||||||||
| BC7_UNORM | 8 | X | X | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||
| BC7_UNORM_SRGB | 8 | X | X | X | X | X | X | X | X | X | |||||||||||||||||||||||||||||
- Buffer
- Input Assembler Vertex Buffer
- Input Assembler Index Buffer
- Stream Output Buffer
- Texture1D
- Texture2D
- Texture3D
- TextureCube
- Shader ld
- Shader sample (any filter)
- Shader sample_c (comparison filter)
- Shader sample (mono 1-bit filter)
- Shader gather4
- Shader gather4_c
- Mipmap
- Mipmap Auto-Generation
- RenderTarget
- Blendable RenderTarget
- Depth/Stencil Target
- Raw UAV and SRV
- Structured UAV and SRV
- Typed UAV
- UAV Typed Store
- UAV Typed Load
- UAV Atomic Add
- UAV Atomic Bitwise Ops
- UAV Atomic Cmp Store or Cmp Exch
- UAV Atomic Exchange
- UAV Atomic Signed Min or Max
- UAV Atomic Unsigned Min or Max
- CPU Lockable
- 4x Multisample RenderTarget
- 8x Multisample RenderTarget
- Other Multisample Count RT
- Multisample Resolve
- Multisample Load
- Display Scan-Out
- Cast Within Bit Layout
Would be good to write a program for checking the formats supported by AMD and Nvidia..
In CUDA 3.0 you have:
1, 2 or 4 components:
*Signed or unsigned 8-, 16- or 32-bit integers (18)
*16-bit floats (currently only supported through the driver (6)
API), or 32-bit floats
24 tex formats
For CUDA-GL interop (from forums):
works for FP textures:
XXXX = R,RG,RGB or RGBA
YY = 16 or 32
XXXX = R,RG,RGB or RGBA
YY = 16 or 32
i.e. 8 FP formats
works for integer texes:
XXXX = R,G,RGB or RGBA
YY = 8,16 or 32
ZZ = I or UI
XXXX = R,G,RGB or RGBA
YY = 8,16 or 32
ZZ = I or UI
i.e. 24 FP formats
depth renderbuffers doesn't work I don't know if color renderbuffers work I assume yes at least for CUDA 3.0 final..
use:
glGenTextures(1,&tex);
glBindTexture(GL_TEXTURE_2D , tex);
glTexImage2D(GL_TEXTURE_2D , 0 , GL_XXXXYYF , width , height , 0 , GL_RGBA , GL_FLOAT , 0);
glTexParameteri(GL_TEXTURE_2D , GL_TEXTURE_MIN_FILTER , GL_NEAREST);
cudaGraphicsGLRegisterImage (&resource , tex , GL_TEXTURE_2D , cudaGraphicsMapFlagsNone);
for integer texes change to that:
glTexImage2D(GL_TEXTURE_2D , 0 , GL_XXXXYYZZ , width , height , 0 , GL_RGBA_INTEGER , GL_UNSIGNED_BYTE , 0);
notes:
Notice that it is important to set the minification filter to GL_NEAREST.
In conclusion, it looks like the cudaGraphicsGL interface is working for most formats, excluding normalized internal formats such as the commonly used GL_RGBA8 format.
cuda GL allows to use RGB texes altough CUDA seems not from DOC!
OCL DX interop for Nvidia:
------------------------------------------------------------------
DXGI Format cl_channel_order cl_channel_type
------------------------------ ---------------- ---------------
DXGI_FORMAT_R32G32B32A32_FLOAT CL_RGBA CL_FLOAT
DXGI_FORMAT_R32G32B32A32_UINT CL_RGBA CL_UNSIGNED_INT32
DXGI_FORMAT_R32G32B32A32_SINT CL_RGBA CL_SIGNED_INT32
DXGI_FORMAT_R16G16B16A16_FLOAT CL_RGBA CL_HALF_FLOAT
DXGI_FORMAT_R16G16B16A16_UNORM CL_RGBA CL_UNORM_INT16
DXGI_FORMAT_R16G16B16A16_UINT CL_RGBA CL_UNSIGNED_INT16
DXGI_FORMAT_R16G16B16A16_SNORM CL_RGBA CL_SNORM_INT16
DXGI_FORMAT_R16G16B16A16_SINT CL_RGBA CL_SIGNED_INT16
DXGI_FORMAT_R8G8B8A8_UNORM CL_RGBA CL_UNORM_INT8
DXGI_FORMAT_R8G8B8A8_UINT CL_RGBA CL_UNSIGNED_INT8
DXGI_FORMAT_R8G8B8A8_SNORM CL_RGBA CL_SNORM_INT8
DXGI_FORMAT_R8G8B8A8_SINT CL_RGBA CL_SIGNED_INT8
DXGI_FORMAT_R32G32_FLOAT CL_RG CL_FLOAT
DXGI_FORMAT_R32G32_UINT CL_RG CL_UNSIGNED_INT32
DXGI_FORMAT_R32G32_SINT CL_RG CL_SIGNED_INT32
DXGI_FORMAT_R16G16_FLOAT CL_RG CL_HALF_FLOAT
DXGI_FORMAT_R16G16_UNORM CL_RG CL_UNORM_INT16
DXGI_FORMAT_R16G16_UINT CL_RG CL_UNSIGNED_INT16
DXGI_FORMAT_R16G16_SNORM CL_RG CL_SNORM_INT16
DXGI_FORMAT_R16G16_SINT CL_RG CL_SIGNED_INT16
DXGI_FORMAT_R8G8_UNORM CL_RG CL_UNORM_INT8
DXGI_FORMAT_R8G8_UINT CL_RG CL_UNSIGNED_INT8
DXGI_FORMAT_R8G8_SNORM CL_RG CL_SNORM_INT8
DXGI_FORMAT_R8G8_SINT CL_RG CL_SIGNED_INT8
DXGI_FORMAT_R32_FLOAT CL_R CL_FLOAT
DXGI_FORMAT_R32_UINT CL_R CL_UNSIGNED_INT32
DXGI_FORMAT_R32_SINT CL_R CL_SIGNED_INT32
DXGI_FORMAT_R16_FLOAT CL_R CL_HALF_FLOAT
DXGI_FORMAT_R16_UNORM CL_R CL_UNORM_INT16
DXGI_FORMAT_R16_UINT CL_R CL_UNSIGNED_INT16
DXGI_FORMAT_R16_SNORM CL_R CL_SNORM_INT16
DXGI_FORMAT_R16_SINT CL_R CL_SIGNED_INT16
DXGI_FORMAT_R8_UNORM CL_R CL_UNORM_INT8
DXGI_FORMAT_R8_UINT CL_R CL_UNSIGNED_INT8
DXGI_FORMAT_R8_SNORM CL_R CL_SNORM_INT8
DXGI_FORMAT_R8_SINT CL_R CL_SIGNED_INT8
OCL supported textures see my program:
clGetSupportedImageFormats
use
void getimageinfo(cl_context context,cl_mem_flags m,cl_mem_object_type te)
{
size_t num_entries; cl_image_format *image_formats;
cl_int status=clGetSupportedImageFormats (context,m,te,0,NULL,&num_entries);
if(status==CL_SUCCESS&&num_entries>0)
{
image_formats=(cl_image_format*)malloc(num_entries*sizeof(cl_image_format));
status=clGetSupportedImageFormats (context,m,te,num_entries,image_formats,NULL);
if(status==CL_SUCCESS)
{
int o,t;
int i,j;
cl_int orders[]={CL_R, CL_A,CL_INTENSITY, CL_LUMINANCE,CL_RG, CL_RA,CL_RGB,CL_RGBA,CL_ARGB, CL_BGRA};
char *or[]={"CL_R", "CL_A","CL_INTENSITY", "CL_LUMINANCE","CL_RG", "CL_RA","CL_RGB","CL_RGBA","CL_ARGB", "CL_BGRA"};
cl_int types[]={
CL_SNORM_INT8 , CL_SNORM_INT16, CL_UNORM_INT8, CL_UNORM_INT16, CL_UNORM_SHORT_565, CL_UNORM_SHORT_555, CL_UNORM_INT_101010,CL_SIGNED_INT8,
CL_SIGNED_INT16, CL_SIGNED_INT32, CL_UNSIGNED_INT8, CL_UNSIGNED_INT16, CL_UNSIGNED_INT32, CL_HALF_FLOAT, CL_FLOAT};
char * tt[]={"CL_SNORM_INT8" ,"CL_SNORM_INT16","CL_UNORM_INT8","CL_UNORM_INT16","CL_UNORM_SHORT_565","CL_UNORM_SHORT_555","CL_UNORM_INT_101010",
"CL_SIGNED_INT8","CL_SIGNED_INT16","CL_SIGNED_INT32","CL_UNSIGNED_INT8","CL_UNSIGNED_INT16","CL_UNSIGNED_INT32","CL_HALF_FLOAT","CL_FLOAT"};
for(i=0; i
{
for(j=0; j
{
if(image_formats[i].image_channel_order==orders[j])
o=j;
}
for(j=0; j
{
if(image_formats[i].image_channel_data_type==types[j])
t=j;
}
printf("Format %d: %s, %s\n",i,or[o],tt[t]);
}
}
free(image_formats);
}
}
AMD and Nvidia return same for all args cl_mem_flags flags read or write only and cl_mem_object_type image_type set to 2d or 3d.. perhaps 3d write could report 0?
Nvidia:
Format 0: CL_R, CL_FLOAT
Format 1: CL_R, CL_HALF_FLOAT
Format 2: CL_R, CL_UNORM_INT8
Format 3: CL_R, CL_UNORM_INT16
Format 4: CL_R, CL_SNORM_INT16
Format 5: CL_R, CL_SIGNED_INT8
Format 6: CL_R, CL_SIGNED_INT16
Format 7: CL_R, CL_SIGNED_INT32
Format 8: CL_R, CL_UNSIGNED_INT8
Format 9: CL_R, CL_UNSIGNED_INT16
Format 10: CL_R, CL_UNSIGNED_INT32
Format 11: CL_A, CL_FLOAT
Format 12: CL_A, CL_HALF_FLOAT
Format 13: CL_A, CL_UNORM_INT8
Format 14: CL_A, CL_UNORM_INT16
Format 15: CL_A, CL_SNORM_INT16
Format 16: CL_A, CL_SIGNED_INT8
Format 17: CL_A, CL_SIGNED_INT16
Format 18: CL_A, CL_SIGNED_INT32
Format 19: CL_A, CL_UNSIGNED_INT8
Format 20: CL_A, CL_UNSIGNED_INT16
Format 21: CL_A, CL_UNSIGNED_INT32
Format 22: CL_RG, CL_FLOAT
Format 23: CL_RG, CL_HALF_FLOAT
Format 24: CL_RG, CL_UNORM_INT8
Format 25: CL_RG, CL_UNORM_INT16
Format 26: CL_RG, CL_SNORM_INT16
Format 27: CL_RG, CL_SIGNED_INT8
Format 28: CL_RG, CL_SIGNED_INT16
Format 29: CL_RG, CL_SIGNED_INT32
Format 30: CL_RG, CL_UNSIGNED_INT8
Format 31: CL_RG, CL_UNSIGNED_INT16
Format 32: CL_RG, CL_UNSIGNED_INT32
Format 33: CL_RA, CL_FLOAT
Format 34: CL_RA, CL_HALF_FLOAT
Format 35: CL_RA, CL_UNORM_INT8
Format 36: CL_RA, CL_UNORM_INT16
Format 37: CL_RA, CL_SNORM_INT16
Format 38: CL_RA, CL_SIGNED_INT8
Format 39: CL_RA, CL_SIGNED_INT16
Format 40: CL_RA, CL_SIGNED_INT32
Format 41: CL_RA, CL_UNSIGNED_INT8
Format 42: CL_RA, CL_UNSIGNED_INT16
Format 43: CL_RA, CL_UNSIGNED_INT32
Format 44: CL_RGBA, CL_FLOAT
Format 45: CL_RGBA, CL_HALF_FLOAT
Format 46: CL_RGBA, CL_UNORM_INT8
Format 47: CL_RGBA, CL_UNORM_INT16
Format 48: CL_RGBA, CL_SNORM_INT16
Format 49: CL_RGBA, CL_SIGNED_INT8
Format 50: CL_RGBA, CL_SIGNED_INT16
Format 51: CL_RGBA, CL_SIGNED_INT32
Format 52: CL_RGBA, CL_UNSIGNED_INT8
Format 53: CL_RGBA, CL_UNSIGNED_INT16
Format 54: CL_RGBA, CL_UNSIGNED_INT32
Format 55: CL_BGRA, CL_UNORM_INT8
Format 56: CL_BGRA, CL_SIGNED_INT8
Format 57: CL_BGRA, CL_UNSIGNED_INT8
Format 58: CL_ARGB, CL_UNORM_INT8
Format 59: CL_ARGB, CL_SIGNED_INT8
Format 60: CL_ARGB, CL_UNSIGNED_INT8
Format 61: CL_INTENSITY, CL_FLOAT
Format 62: CL_INTENSITY, CL_HALF_FLOAT
Format 63: CL_INTENSITY, CL_UNORM_INT8
Format 64: CL_INTENSITY, CL_UNORM_INT16
Format 65: CL_INTENSITY, CL_SNORM_INT16
Format 66: CL_LUMINANCE, CL_FLOAT
Format 67: CL_LUMINANCE, CL_HALF_FLOAT
Format 68: CL_LUMINANCE, CL_UNORM_INT8
Format 69: CL_LUMINANCE, CL_UNORM_INT16
Format 70: CL_LUMINANCE, CL_SNORM_INT16
AMD:
Format 0: CL_RGBA, CL_UNORM_INT8
Format 1: CL_RGBA, CL_UNORM_INT16
Format 2: CL_RGBA, CL_SIGNED_INT8
Format 3: CL_RGBA, CL_SIGNED_INT16
Format 4: CL_RGBA, CL_SIGNED_INT32
Format 5: CL_RGBA, CL_UNSIGNED_INT8
Format 6: CL_RGBA, CL_UNSIGNED_INT16
Format 7: CL_RGBA, CL_UNSIGNED_INT32
Format 8: CL_RGBA, CL_HALF_FLOAT
Format 9: CL_RGBA, CL_FLOAT
Format 10: CL_BGRA, CL_UNORM_INT8
OCL-GL interop I don't know:
for Nvidia is either the 70 above or the CUDA-GL supported formats or the GL equivalent of CUDA interop.. I suspect the CL_RGB ones supported..
for AMD either the CL image ones or CAL DX interop ones
I suspect RGB formats
AMD CAL:
CAL has textures exposed and CAL DX interop would be good to explore..
0 comments:
Post a Comment