|
|
|
@@ -62,155 +62,156 @@ macro_rules! cl_format_table {
|
|
|
|
|
|
|
|
|
|
cl_format_table!([
|
|
|
|
|
// broken on iris/gen12
|
|
|
|
|
// (CL_A, CL_HALF_FLOAT) => pipe_format::PIPE_FORMAT_A16_FLOAT,
|
|
|
|
|
// (CL_A, CL_FLOAT) => pipe_format::PIPE_FORMAT_A32_FLOAT,
|
|
|
|
|
// (CL_A, CL_SIGNED_INT8) => pipe_format::PIPE_FORMAT_A8_SINT,
|
|
|
|
|
// (CL_A, CL_SIGNED_INT16) => pipe_format::PIPE_FORMAT_A16_SINT,
|
|
|
|
|
(CL_A, CL_SIGNED_INT32) => pipe_format::PIPE_FORMAT_A32_SINT,
|
|
|
|
|
// (CL_A, CL_HALF_FLOAT) => pipe_format::PIPE_FORMAT_A16_FLOAT,
|
|
|
|
|
// (CL_A, CL_FLOAT) => pipe_format::PIPE_FORMAT_A32_FLOAT,
|
|
|
|
|
// (CL_A, CL_SIGNED_INT8) => pipe_format::PIPE_FORMAT_A8_SINT,
|
|
|
|
|
// (CL_A, CL_SIGNED_INT16) => pipe_format::PIPE_FORMAT_A16_SINT,
|
|
|
|
|
(CL_A, CL_SIGNED_INT32) => pipe_format::PIPE_FORMAT_A32_SINT,
|
|
|
|
|
// broken on iris/gen12
|
|
|
|
|
// (CL_A, CL_UNSIGNED_INT8) => pipe_format::PIPE_FORMAT_A8_UINT,
|
|
|
|
|
// (CL_A, CL_UNSIGNED_INT16) => pipe_format::PIPE_FORMAT_A16_UINT,
|
|
|
|
|
(CL_A, CL_UNSIGNED_INT32) => pipe_format::PIPE_FORMAT_A32_UINT,
|
|
|
|
|
(CL_A, CL_SNORM_INT8) => pipe_format::PIPE_FORMAT_A8_SNORM,
|
|
|
|
|
(CL_A, CL_SNORM_INT16) => pipe_format::PIPE_FORMAT_A16_SNORM,
|
|
|
|
|
(CL_A, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_A8_UNORM,
|
|
|
|
|
(CL_A, CL_UNORM_INT16) => pipe_format::PIPE_FORMAT_A16_UNORM,
|
|
|
|
|
// (CL_A, CL_UNSIGNED_INT8) => pipe_format::PIPE_FORMAT_A8_UINT,
|
|
|
|
|
// (CL_A, CL_UNSIGNED_INT16) => pipe_format::PIPE_FORMAT_A16_UINT,
|
|
|
|
|
(CL_A, CL_UNSIGNED_INT32) => pipe_format::PIPE_FORMAT_A32_UINT,
|
|
|
|
|
(CL_A, CL_SNORM_INT8) => pipe_format::PIPE_FORMAT_A8_SNORM,
|
|
|
|
|
(CL_A, CL_SNORM_INT16) => pipe_format::PIPE_FORMAT_A16_SNORM,
|
|
|
|
|
(CL_A, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_A8_UNORM,
|
|
|
|
|
(CL_A, CL_UNORM_INT16) => pipe_format::PIPE_FORMAT_A16_UNORM,
|
|
|
|
|
|
|
|
|
|
(CL_R, CL_HALF_FLOAT) => pipe_format::PIPE_FORMAT_R16_FLOAT,
|
|
|
|
|
(CL_R, CL_FLOAT) => pipe_format::PIPE_FORMAT_R32_FLOAT,
|
|
|
|
|
(CL_R, CL_SIGNED_INT8) => pipe_format::PIPE_FORMAT_R8_SINT,
|
|
|
|
|
(CL_R, CL_SIGNED_INT16) => pipe_format::PIPE_FORMAT_R16_SINT,
|
|
|
|
|
(CL_R, CL_SIGNED_INT32) => pipe_format::PIPE_FORMAT_R32_SINT,
|
|
|
|
|
(CL_R, CL_UNSIGNED_INT8) => pipe_format::PIPE_FORMAT_R8_UINT,
|
|
|
|
|
(CL_R, CL_UNSIGNED_INT16) => pipe_format::PIPE_FORMAT_R16_UINT,
|
|
|
|
|
(CL_R, CL_UNSIGNED_INT32) => pipe_format::PIPE_FORMAT_R32_UINT,
|
|
|
|
|
(CL_R, CL_SNORM_INT8) => pipe_format::PIPE_FORMAT_R8_SNORM,
|
|
|
|
|
(CL_R, CL_SNORM_INT16) => pipe_format::PIPE_FORMAT_R16_SNORM,
|
|
|
|
|
(CL_R, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_R8_UNORM,
|
|
|
|
|
(CL_R, CL_UNORM_INT16) => pipe_format::PIPE_FORMAT_R16_UNORM,
|
|
|
|
|
(CL_R, CL_HALF_FLOAT) => pipe_format::PIPE_FORMAT_R16_FLOAT,
|
|
|
|
|
(CL_R, CL_FLOAT) => pipe_format::PIPE_FORMAT_R32_FLOAT,
|
|
|
|
|
(CL_R, CL_SIGNED_INT8) => pipe_format::PIPE_FORMAT_R8_SINT,
|
|
|
|
|
(CL_R, CL_SIGNED_INT16) => pipe_format::PIPE_FORMAT_R16_SINT,
|
|
|
|
|
(CL_R, CL_SIGNED_INT32) => pipe_format::PIPE_FORMAT_R32_SINT,
|
|
|
|
|
(CL_R, CL_UNSIGNED_INT8) => pipe_format::PIPE_FORMAT_R8_UINT,
|
|
|
|
|
(CL_R, CL_UNSIGNED_INT16) => pipe_format::PIPE_FORMAT_R16_UINT,
|
|
|
|
|
(CL_R, CL_UNSIGNED_INT32) => pipe_format::PIPE_FORMAT_R32_UINT,
|
|
|
|
|
(CL_R, CL_SNORM_INT8) => pipe_format::PIPE_FORMAT_R8_SNORM,
|
|
|
|
|
(CL_R, CL_SNORM_INT16) => pipe_format::PIPE_FORMAT_R16_SNORM,
|
|
|
|
|
(CL_R, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_R8_UNORM,
|
|
|
|
|
(CL_R, CL_UNORM_INT16) => pipe_format::PIPE_FORMAT_R16_UNORM,
|
|
|
|
|
|
|
|
|
|
(CL_RA, CL_HALF_FLOAT) => pipe_format::PIPE_FORMAT_R16A16_FLOAT,
|
|
|
|
|
(CL_RA, CL_FLOAT) => pipe_format::PIPE_FORMAT_R32A32_FLOAT,
|
|
|
|
|
(CL_RA, CL_SIGNED_INT8) => pipe_format::PIPE_FORMAT_R8A8_SINT,
|
|
|
|
|
(CL_RA, CL_SIGNED_INT16) => pipe_format::PIPE_FORMAT_R16A16_SINT,
|
|
|
|
|
(CL_RA, CL_SIGNED_INT32) => pipe_format::PIPE_FORMAT_R32A32_SINT,
|
|
|
|
|
(CL_RA, CL_UNSIGNED_INT8) => pipe_format::PIPE_FORMAT_R8A8_UINT,
|
|
|
|
|
(CL_RA, CL_UNSIGNED_INT16) => pipe_format::PIPE_FORMAT_R16A16_UINT,
|
|
|
|
|
(CL_RA, CL_UNSIGNED_INT32) => pipe_format::PIPE_FORMAT_R32A32_UINT,
|
|
|
|
|
(CL_RA, CL_SNORM_INT8) => pipe_format::PIPE_FORMAT_R8A8_SNORM,
|
|
|
|
|
(CL_RA, CL_SNORM_INT16) => pipe_format::PIPE_FORMAT_R16A16_SNORM,
|
|
|
|
|
(CL_RA, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_R8A8_UNORM,
|
|
|
|
|
(CL_RA, CL_UNORM_INT16) => pipe_format::PIPE_FORMAT_R16A16_UNORM,
|
|
|
|
|
(CL_RA, CL_HALF_FLOAT) => pipe_format::PIPE_FORMAT_R16A16_FLOAT,
|
|
|
|
|
(CL_RA, CL_FLOAT) => pipe_format::PIPE_FORMAT_R32A32_FLOAT,
|
|
|
|
|
(CL_RA, CL_SIGNED_INT8) => pipe_format::PIPE_FORMAT_R8A8_SINT,
|
|
|
|
|
(CL_RA, CL_SIGNED_INT16) => pipe_format::PIPE_FORMAT_R16A16_SINT,
|
|
|
|
|
(CL_RA, CL_SIGNED_INT32) => pipe_format::PIPE_FORMAT_R32A32_SINT,
|
|
|
|
|
(CL_RA, CL_UNSIGNED_INT8) => pipe_format::PIPE_FORMAT_R8A8_UINT,
|
|
|
|
|
(CL_RA, CL_UNSIGNED_INT16) => pipe_format::PIPE_FORMAT_R16A16_UINT,
|
|
|
|
|
(CL_RA, CL_UNSIGNED_INT32) => pipe_format::PIPE_FORMAT_R32A32_UINT,
|
|
|
|
|
(CL_RA, CL_SNORM_INT8) => pipe_format::PIPE_FORMAT_R8A8_SNORM,
|
|
|
|
|
(CL_RA, CL_SNORM_INT16) => pipe_format::PIPE_FORMAT_R16A16_SNORM,
|
|
|
|
|
(CL_RA, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_R8A8_UNORM,
|
|
|
|
|
(CL_RA, CL_UNORM_INT16) => pipe_format::PIPE_FORMAT_R16A16_UNORM,
|
|
|
|
|
|
|
|
|
|
(CL_RG, CL_HALF_FLOAT) => pipe_format::PIPE_FORMAT_R16G16_FLOAT,
|
|
|
|
|
(CL_RG, CL_FLOAT) => pipe_format::PIPE_FORMAT_R32G32_FLOAT,
|
|
|
|
|
(CL_RG, CL_SIGNED_INT8) => pipe_format::PIPE_FORMAT_R8G8_SINT,
|
|
|
|
|
(CL_RG, CL_SIGNED_INT16) => pipe_format::PIPE_FORMAT_R16G16_SINT,
|
|
|
|
|
(CL_RG, CL_SIGNED_INT32) => pipe_format::PIPE_FORMAT_R32G32_SINT,
|
|
|
|
|
(CL_RG, CL_UNSIGNED_INT8) => pipe_format::PIPE_FORMAT_R8G8_UINT,
|
|
|
|
|
(CL_RG, CL_UNSIGNED_INT16) => pipe_format::PIPE_FORMAT_R16G16_UINT,
|
|
|
|
|
(CL_RG, CL_UNSIGNED_INT32) => pipe_format::PIPE_FORMAT_R32G32_UINT,
|
|
|
|
|
(CL_RG, CL_SNORM_INT8) => pipe_format::PIPE_FORMAT_R8G8_SNORM,
|
|
|
|
|
(CL_RG, CL_SNORM_INT16) => pipe_format::PIPE_FORMAT_R16G16_SNORM,
|
|
|
|
|
(CL_RG, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_R8G8_UNORM,
|
|
|
|
|
(CL_RG, CL_UNORM_INT16) => pipe_format::PIPE_FORMAT_R16G16_UNORM,
|
|
|
|
|
(CL_RG, CL_HALF_FLOAT) => pipe_format::PIPE_FORMAT_R16G16_FLOAT,
|
|
|
|
|
(CL_RG, CL_FLOAT) => pipe_format::PIPE_FORMAT_R32G32_FLOAT,
|
|
|
|
|
(CL_RG, CL_SIGNED_INT8) => pipe_format::PIPE_FORMAT_R8G8_SINT,
|
|
|
|
|
(CL_RG, CL_SIGNED_INT16) => pipe_format::PIPE_FORMAT_R16G16_SINT,
|
|
|
|
|
(CL_RG, CL_SIGNED_INT32) => pipe_format::PIPE_FORMAT_R32G32_SINT,
|
|
|
|
|
(CL_RG, CL_UNSIGNED_INT8) => pipe_format::PIPE_FORMAT_R8G8_UINT,
|
|
|
|
|
(CL_RG, CL_UNSIGNED_INT16) => pipe_format::PIPE_FORMAT_R16G16_UINT,
|
|
|
|
|
(CL_RG, CL_UNSIGNED_INT32) => pipe_format::PIPE_FORMAT_R32G32_UINT,
|
|
|
|
|
(CL_RG, CL_SNORM_INT8) => pipe_format::PIPE_FORMAT_R8G8_SNORM,
|
|
|
|
|
(CL_RG, CL_SNORM_INT16) => pipe_format::PIPE_FORMAT_R16G16_SNORM,
|
|
|
|
|
(CL_RG, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_R8G8_UNORM,
|
|
|
|
|
(CL_RG, CL_UNORM_INT16) => pipe_format::PIPE_FORMAT_R16G16_UNORM,
|
|
|
|
|
|
|
|
|
|
(CL_RGB, CL_HALF_FLOAT) => pipe_format::PIPE_FORMAT_R16G16B16_FLOAT,
|
|
|
|
|
(CL_RGB, CL_FLOAT) => pipe_format::PIPE_FORMAT_R32G32B32_FLOAT,
|
|
|
|
|
(CL_RGB, CL_SIGNED_INT8) => pipe_format::PIPE_FORMAT_R8G8B8_SINT,
|
|
|
|
|
(CL_RGB, CL_SIGNED_INT16) => pipe_format::PIPE_FORMAT_R16G16B16_SINT,
|
|
|
|
|
(CL_RGB, CL_SIGNED_INT32) => pipe_format::PIPE_FORMAT_R32G32B32_SINT,
|
|
|
|
|
(CL_RGB, CL_UNSIGNED_INT8) => pipe_format::PIPE_FORMAT_R8G8B8_UINT,
|
|
|
|
|
(CL_RGB, CL_UNSIGNED_INT16) => pipe_format::PIPE_FORMAT_R16G16B16_UINT,
|
|
|
|
|
(CL_RGB, CL_UNSIGNED_INT32) => pipe_format::PIPE_FORMAT_R32G32B32_UINT,
|
|
|
|
|
(CL_RGB, CL_SNORM_INT8) => pipe_format::PIPE_FORMAT_R8G8B8_SNORM,
|
|
|
|
|
(CL_RGB, CL_SNORM_INT16) => pipe_format::PIPE_FORMAT_R16G16B16_SNORM,
|
|
|
|
|
(CL_RGB, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_R8G8B8_UNORM,
|
|
|
|
|
(CL_RGB, CL_UNORM_INT16) => pipe_format::PIPE_FORMAT_R16G16B16_UNORM,
|
|
|
|
|
(CL_RGB, CL_HALF_FLOAT) => pipe_format::PIPE_FORMAT_R16G16B16_FLOAT,
|
|
|
|
|
(CL_RGB, CL_FLOAT) => pipe_format::PIPE_FORMAT_R32G32B32_FLOAT,
|
|
|
|
|
(CL_RGB, CL_SIGNED_INT8) => pipe_format::PIPE_FORMAT_R8G8B8_SINT,
|
|
|
|
|
(CL_RGB, CL_SIGNED_INT16) => pipe_format::PIPE_FORMAT_R16G16B16_SINT,
|
|
|
|
|
(CL_RGB, CL_SIGNED_INT32) => pipe_format::PIPE_FORMAT_R32G32B32_SINT,
|
|
|
|
|
(CL_RGB, CL_UNSIGNED_INT8) => pipe_format::PIPE_FORMAT_R8G8B8_UINT,
|
|
|
|
|
(CL_RGB, CL_UNSIGNED_INT16) => pipe_format::PIPE_FORMAT_R16G16B16_UINT,
|
|
|
|
|
(CL_RGB, CL_UNSIGNED_INT32) => pipe_format::PIPE_FORMAT_R32G32B32_UINT,
|
|
|
|
|
(CL_RGB, CL_SNORM_INT8) => pipe_format::PIPE_FORMAT_R8G8B8_SNORM,
|
|
|
|
|
(CL_RGB, CL_SNORM_INT16) => pipe_format::PIPE_FORMAT_R16G16B16_SNORM,
|
|
|
|
|
(CL_RGB, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_R8G8B8_UNORM,
|
|
|
|
|
(CL_RGB, CL_UNORM_INT16) => pipe_format::PIPE_FORMAT_R16G16B16_UNORM,
|
|
|
|
|
// broken
|
|
|
|
|
// (CL_RGB, CL_UNORM_SHORT_565) => pipe_format::PIPE_FORMAT_R5G6B5_UNORM,
|
|
|
|
|
// (CL_RGB, CL_UNORM_SHORT_565) => pipe_format::PIPE_FORMAT_B5G6R5_UNORM,
|
|
|
|
|
|
|
|
|
|
(CL_ABGR, CL_SIGNED_INT8) => pipe_format::PIPE_FORMAT_A8B8G8R8_SINT,
|
|
|
|
|
(CL_ABGR, CL_UNSIGNED_INT8) => pipe_format::PIPE_FORMAT_A8B8G8R8_UINT,
|
|
|
|
|
(CL_ABGR, CL_SNORM_INT8) => pipe_format::PIPE_FORMAT_A8B8G8R8_SNORM,
|
|
|
|
|
(CL_ABGR, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_A8B8G8R8_UNORM,
|
|
|
|
|
(CL_ABGR, CL_SIGNED_INT8) => pipe_format::PIPE_FORMAT_A8B8G8R8_SINT,
|
|
|
|
|
(CL_ABGR, CL_UNSIGNED_INT8) => pipe_format::PIPE_FORMAT_A8B8G8R8_UINT,
|
|
|
|
|
(CL_ABGR, CL_SNORM_INT8) => pipe_format::PIPE_FORMAT_A8B8G8R8_SNORM,
|
|
|
|
|
(CL_ABGR, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_A8B8G8R8_UNORM,
|
|
|
|
|
(CL_ABGR, CL_UNORM_INT_2_101010_EXT) => pipe_format::PIPE_FORMAT_R10G10B10A2_UNORM,
|
|
|
|
|
|
|
|
|
|
(CL_ARGB, CL_SIGNED_INT8) => pipe_format::PIPE_FORMAT_A8R8G8B8_SINT,
|
|
|
|
|
(CL_ARGB, CL_UNSIGNED_INT8) => pipe_format::PIPE_FORMAT_A8R8G8B8_UINT,
|
|
|
|
|
(CL_ARGB, CL_SNORM_INT8) => pipe_format::PIPE_FORMAT_A8R8G8B8_SNORM,
|
|
|
|
|
(CL_ARGB, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_A8R8G8B8_UNORM,
|
|
|
|
|
(CL_ARGB, CL_SIGNED_INT8) => pipe_format::PIPE_FORMAT_A8R8G8B8_SINT,
|
|
|
|
|
(CL_ARGB, CL_UNSIGNED_INT8) => pipe_format::PIPE_FORMAT_A8R8G8B8_UINT,
|
|
|
|
|
(CL_ARGB, CL_SNORM_INT8) => pipe_format::PIPE_FORMAT_A8R8G8B8_SNORM,
|
|
|
|
|
(CL_ARGB, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_A8R8G8B8_UNORM,
|
|
|
|
|
|
|
|
|
|
(CL_BGRA, CL_SIGNED_INT8) => pipe_format::PIPE_FORMAT_B8G8R8A8_SINT,
|
|
|
|
|
(CL_BGRA, CL_UNSIGNED_INT8) => pipe_format::PIPE_FORMAT_B8G8R8A8_UINT,
|
|
|
|
|
(CL_BGRA, CL_SNORM_INT8) => pipe_format::PIPE_FORMAT_B8G8R8A8_SNORM,
|
|
|
|
|
(CL_BGRA, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_B8G8R8A8_UNORM,
|
|
|
|
|
(CL_BGRA, CL_SIGNED_INT8) => pipe_format::PIPE_FORMAT_B8G8R8A8_SINT,
|
|
|
|
|
(CL_BGRA, CL_UNSIGNED_INT8) => pipe_format::PIPE_FORMAT_B8G8R8A8_UINT,
|
|
|
|
|
(CL_BGRA, CL_SNORM_INT8) => pipe_format::PIPE_FORMAT_B8G8R8A8_SNORM,
|
|
|
|
|
(CL_BGRA, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_B8G8R8A8_UNORM,
|
|
|
|
|
|
|
|
|
|
(CL_RGBA, CL_HALF_FLOAT) => pipe_format::PIPE_FORMAT_R16G16B16A16_FLOAT,
|
|
|
|
|
(CL_RGBA, CL_FLOAT) => pipe_format::PIPE_FORMAT_R32G32B32A32_FLOAT,
|
|
|
|
|
(CL_RGBA, CL_SIGNED_INT8) => pipe_format::PIPE_FORMAT_R8G8B8A8_SINT,
|
|
|
|
|
(CL_RGBA, CL_SIGNED_INT16) => pipe_format::PIPE_FORMAT_R16G16B16A16_SINT,
|
|
|
|
|
(CL_RGBA, CL_SIGNED_INT32) => pipe_format::PIPE_FORMAT_R32G32B32A32_SINT,
|
|
|
|
|
(CL_RGBA, CL_UNSIGNED_INT8) => pipe_format::PIPE_FORMAT_R8G8B8A8_UINT,
|
|
|
|
|
(CL_RGBA, CL_UNSIGNED_INT16) => pipe_format::PIPE_FORMAT_R16G16B16A16_UINT,
|
|
|
|
|
(CL_RGBA, CL_UNSIGNED_INT32) => pipe_format::PIPE_FORMAT_R32G32B32A32_UINT,
|
|
|
|
|
(CL_RGBA, CL_SNORM_INT8) => pipe_format::PIPE_FORMAT_R8G8B8A8_SNORM,
|
|
|
|
|
(CL_RGBA, CL_SNORM_INT16) => pipe_format::PIPE_FORMAT_R16G16B16A16_SNORM,
|
|
|
|
|
(CL_RGBA, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_R8G8B8A8_UNORM,
|
|
|
|
|
(CL_RGBA, CL_UNORM_INT16) => pipe_format::PIPE_FORMAT_R16G16B16A16_UNORM,
|
|
|
|
|
(CL_RGBA, CL_UNORM_INT_101010_2) => pipe_format::PIPE_FORMAT_A2B10G10R10_UNORM,
|
|
|
|
|
(CL_RGBA, CL_HALF_FLOAT) => pipe_format::PIPE_FORMAT_R16G16B16A16_FLOAT,
|
|
|
|
|
(CL_RGBA, CL_FLOAT) => pipe_format::PIPE_FORMAT_R32G32B32A32_FLOAT,
|
|
|
|
|
(CL_RGBA, CL_SIGNED_INT8) => pipe_format::PIPE_FORMAT_R8G8B8A8_SINT,
|
|
|
|
|
(CL_RGBA, CL_SIGNED_INT16) => pipe_format::PIPE_FORMAT_R16G16B16A16_SINT,
|
|
|
|
|
(CL_RGBA, CL_SIGNED_INT32) => pipe_format::PIPE_FORMAT_R32G32B32A32_SINT,
|
|
|
|
|
(CL_RGBA, CL_UNSIGNED_INT8) => pipe_format::PIPE_FORMAT_R8G8B8A8_UINT,
|
|
|
|
|
(CL_RGBA, CL_UNSIGNED_INT16) => pipe_format::PIPE_FORMAT_R16G16B16A16_UINT,
|
|
|
|
|
(CL_RGBA, CL_UNSIGNED_INT32) => pipe_format::PIPE_FORMAT_R32G32B32A32_UINT,
|
|
|
|
|
(CL_RGBA, CL_SNORM_INT8) => pipe_format::PIPE_FORMAT_R8G8B8A8_SNORM,
|
|
|
|
|
(CL_RGBA, CL_SNORM_INT16) => pipe_format::PIPE_FORMAT_R16G16B16A16_SNORM,
|
|
|
|
|
(CL_RGBA, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_R8G8B8A8_UNORM,
|
|
|
|
|
(CL_RGBA, CL_UNORM_INT16) => pipe_format::PIPE_FORMAT_R16G16B16A16_UNORM,
|
|
|
|
|
(CL_RGBA, CL_UNORM_INT_101010_2) => pipe_format::PIPE_FORMAT_A2B10G10R10_UNORM,
|
|
|
|
|
|
|
|
|
|
// broken
|
|
|
|
|
// (CL_RGBx, CL_HALF_FLOAT) => pipe_format::PIPE_FORMAT_R16G16B16X16_FLOAT,
|
|
|
|
|
// (CL_RGBx, CL_FLOAT) => pipe_format::PIPE_FORMAT_R32G32B32X32_FLOAT,
|
|
|
|
|
// (CL_RGBx, CL_SIGNED_INT8) => pipe_format::PIPE_FORMAT_R8G8B8X8_SINT,
|
|
|
|
|
// (CL_RGBx, CL_SIGNED_INT16) => pipe_format::PIPE_FORMAT_R16G16B16X16_SINT,
|
|
|
|
|
// (CL_RGBx, CL_SIGNED_INT32) => pipe_format::PIPE_FORMAT_R32G32B32X32_SINT,
|
|
|
|
|
// (CL_RGBx, CL_UNSIGNED_INT8) => pipe_format::PIPE_FORMAT_R8G8B8X8_UINT,
|
|
|
|
|
// (CL_RGBx, CL_UNSIGNED_INT16) => pipe_format::PIPE_FORMAT_R16G16B16X16_UINT,
|
|
|
|
|
// (CL_RGBx, CL_UNSIGNED_INT32) => pipe_format::PIPE_FORMAT_R32G32B32X32_UINT,
|
|
|
|
|
// (CL_RGBx, CL_SNORM_INT8) => pipe_format::PIPE_FORMAT_R8G8B8X8_SNORM,
|
|
|
|
|
// (CL_RGBx, CL_SNORM_INT16) => pipe_format::PIPE_FORMAT_R16G16B16X16_SNORM,
|
|
|
|
|
// (CL_RGBx, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_R8G8B8X8_UNORM,
|
|
|
|
|
// (CL_RGBx, CL_UNORM_INT16) => pipe_format::PIPE_FORMAT_R16G16B16X16_UNORM,
|
|
|
|
|
// (CL_RGBx, CL_UNORM_SHORT_555) => pipe_format::PIPE_FORMAT_R5G5B5X1_UNORM,
|
|
|
|
|
// (CL_RGBx, CL_UNORM_INT_101010) => pipe_format::PIPE_FORMAT_R10G10B10X2_UNORM,
|
|
|
|
|
// (CL_RGBx, CL_HALF_FLOAT) => pipe_format::PIPE_FORMAT_R16G16B16X16_FLOAT,
|
|
|
|
|
// (CL_RGBx, CL_FLOAT) => pipe_format::PIPE_FORMAT_R32G32B32X32_FLOAT,
|
|
|
|
|
// (CL_RGBx, CL_SIGNED_INT8) => pipe_format::PIPE_FORMAT_R8G8B8X8_SINT,
|
|
|
|
|
// (CL_RGBx, CL_SIGNED_INT16) => pipe_format::PIPE_FORMAT_R16G16B16X16_SINT,
|
|
|
|
|
// (CL_RGBx, CL_SIGNED_INT32) => pipe_format::PIPE_FORMAT_R32G32B32X32_SINT,
|
|
|
|
|
// (CL_RGBx, CL_UNSIGNED_INT8) => pipe_format::PIPE_FORMAT_R8G8B8X8_UINT,
|
|
|
|
|
// (CL_RGBx, CL_UNSIGNED_INT16) => pipe_format::PIPE_FORMAT_R16G16B16X16_UINT,
|
|
|
|
|
// (CL_RGBx, CL_UNSIGNED_INT32) => pipe_format::PIPE_FORMAT_R32G32B32X32_UINT,
|
|
|
|
|
// (CL_RGBx, CL_SNORM_INT8) => pipe_format::PIPE_FORMAT_R8G8B8X8_SNORM,
|
|
|
|
|
// (CL_RGBx, CL_SNORM_INT16) => pipe_format::PIPE_FORMAT_R16G16B16X16_SNORM,
|
|
|
|
|
// (CL_RGBx, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_R8G8B8X8_UNORM,
|
|
|
|
|
// (CL_RGBx, CL_UNORM_INT16) => pipe_format::PIPE_FORMAT_R16G16B16X16_UNORM,
|
|
|
|
|
// (CL_RGBx, CL_UNORM_SHORT_555) => pipe_format::PIPE_FORMAT_R5G5B5X1_UNORM,
|
|
|
|
|
// (CL_RGBx, CL_UNORM_INT_101010) => pipe_format::PIPE_FORMAT_R10G10B10X2_UNORM,
|
|
|
|
|
|
|
|
|
|
(CL_sRGBA, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_R8G8B8A8_SRGB,
|
|
|
|
|
(CL_sBGRA, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_B8G8R8A8_SRGB,
|
|
|
|
|
(CL_sRGBA, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_R8G8B8A8_SRGB,
|
|
|
|
|
(CL_sBGRA, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_B8G8R8A8_SRGB,
|
|
|
|
|
// broken
|
|
|
|
|
// (CL_sRGBx, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_R8G8B8X8_SRGB,
|
|
|
|
|
// (CL_sRGBx, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_R8G8B8X8_SRGB,
|
|
|
|
|
|
|
|
|
|
// yes, we use non depth formats for CL_DEPTH, because OpenCL requires normal pixel semantics
|
|
|
|
|
// and not implicit depth format semantics (e.g. implicit value clamping). Intel NEO does the
|
|
|
|
|
// same.
|
|
|
|
|
(CL_DEPTH, CL_FLOAT) => pipe_format::PIPE_FORMAT_R32_FLOAT,
|
|
|
|
|
(CL_DEPTH, CL_UNORM_INT16) => pipe_format::PIPE_FORMAT_R16_UNORM,
|
|
|
|
|
(CL_DEPTH, CL_FLOAT) => pipe_format::PIPE_FORMAT_R32_FLOAT,
|
|
|
|
|
(CL_DEPTH, CL_UNORM_INT16) => pipe_format::PIPE_FORMAT_R16_UNORM,
|
|
|
|
|
|
|
|
|
|
(CL_LUMINANCE, CL_HALF_FLOAT) => pipe_format::PIPE_FORMAT_L16_FLOAT,
|
|
|
|
|
(CL_LUMINANCE, CL_FLOAT) => pipe_format::PIPE_FORMAT_L32_FLOAT,
|
|
|
|
|
(CL_LUMINANCE, CL_SIGNED_INT8) => pipe_format::PIPE_FORMAT_L8_SINT,
|
|
|
|
|
(CL_LUMINANCE, CL_SIGNED_INT16) => pipe_format::PIPE_FORMAT_L16_SINT,
|
|
|
|
|
(CL_LUMINANCE, CL_SIGNED_INT32) => pipe_format::PIPE_FORMAT_L32_SINT,
|
|
|
|
|
(CL_LUMINANCE, CL_UNSIGNED_INT8) => pipe_format::PIPE_FORMAT_L8_UINT,
|
|
|
|
|
(CL_LUMINANCE, CL_UNSIGNED_INT16) => pipe_format::PIPE_FORMAT_L16_UINT,
|
|
|
|
|
(CL_LUMINANCE, CL_UNSIGNED_INT32) => pipe_format::PIPE_FORMAT_L32_UINT,
|
|
|
|
|
(CL_LUMINANCE, CL_SNORM_INT8) => pipe_format::PIPE_FORMAT_L8_SNORM,
|
|
|
|
|
(CL_LUMINANCE, CL_SNORM_INT16) => pipe_format::PIPE_FORMAT_L16_SNORM,
|
|
|
|
|
(CL_LUMINANCE, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_L8_UNORM,
|
|
|
|
|
(CL_LUMINANCE, CL_UNORM_INT16) => pipe_format::PIPE_FORMAT_L16_UNORM,
|
|
|
|
|
(CL_LUMINANCE, CL_HALF_FLOAT) => pipe_format::PIPE_FORMAT_L16_FLOAT,
|
|
|
|
|
(CL_LUMINANCE, CL_FLOAT) => pipe_format::PIPE_FORMAT_L32_FLOAT,
|
|
|
|
|
(CL_LUMINANCE, CL_SIGNED_INT8) => pipe_format::PIPE_FORMAT_L8_SINT,
|
|
|
|
|
(CL_LUMINANCE, CL_SIGNED_INT16) => pipe_format::PIPE_FORMAT_L16_SINT,
|
|
|
|
|
(CL_LUMINANCE, CL_SIGNED_INT32) => pipe_format::PIPE_FORMAT_L32_SINT,
|
|
|
|
|
(CL_LUMINANCE, CL_UNSIGNED_INT8) => pipe_format::PIPE_FORMAT_L8_UINT,
|
|
|
|
|
(CL_LUMINANCE, CL_UNSIGNED_INT16) => pipe_format::PIPE_FORMAT_L16_UINT,
|
|
|
|
|
(CL_LUMINANCE, CL_UNSIGNED_INT32) => pipe_format::PIPE_FORMAT_L32_UINT,
|
|
|
|
|
(CL_LUMINANCE, CL_SNORM_INT8) => pipe_format::PIPE_FORMAT_L8_SNORM,
|
|
|
|
|
(CL_LUMINANCE, CL_SNORM_INT16) => pipe_format::PIPE_FORMAT_L16_SNORM,
|
|
|
|
|
(CL_LUMINANCE, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_L8_UNORM,
|
|
|
|
|
(CL_LUMINANCE, CL_UNORM_INT16) => pipe_format::PIPE_FORMAT_L16_UNORM,
|
|
|
|
|
|
|
|
|
|
(CL_INTENSITY, CL_HALF_FLOAT) => pipe_format::PIPE_FORMAT_I16_FLOAT,
|
|
|
|
|
(CL_INTENSITY, CL_FLOAT) => pipe_format::PIPE_FORMAT_I32_FLOAT,
|
|
|
|
|
(CL_INTENSITY, CL_SIGNED_INT8) => pipe_format::PIPE_FORMAT_I8_SINT,
|
|
|
|
|
(CL_INTENSITY, CL_SIGNED_INT16) => pipe_format::PIPE_FORMAT_I16_SINT,
|
|
|
|
|
(CL_INTENSITY, CL_SIGNED_INT32) => pipe_format::PIPE_FORMAT_I32_SINT,
|
|
|
|
|
(CL_INTENSITY, CL_UNSIGNED_INT8) => pipe_format::PIPE_FORMAT_I8_UINT,
|
|
|
|
|
(CL_INTENSITY, CL_UNSIGNED_INT16) => pipe_format::PIPE_FORMAT_I16_UINT,
|
|
|
|
|
(CL_INTENSITY, CL_UNSIGNED_INT32) => pipe_format::PIPE_FORMAT_I32_UINT,
|
|
|
|
|
(CL_INTENSITY, CL_SNORM_INT8) => pipe_format::PIPE_FORMAT_I8_SNORM,
|
|
|
|
|
(CL_INTENSITY, CL_SNORM_INT16) => pipe_format::PIPE_FORMAT_I16_SNORM,
|
|
|
|
|
(CL_INTENSITY, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_I8_UNORM,
|
|
|
|
|
(CL_INTENSITY, CL_UNORM_INT16) => pipe_format::PIPE_FORMAT_I16_UNORM,
|
|
|
|
|
(CL_INTENSITY, CL_HALF_FLOAT) => pipe_format::PIPE_FORMAT_I16_FLOAT,
|
|
|
|
|
(CL_INTENSITY, CL_FLOAT) => pipe_format::PIPE_FORMAT_I32_FLOAT,
|
|
|
|
|
(CL_INTENSITY, CL_SIGNED_INT8) => pipe_format::PIPE_FORMAT_I8_SINT,
|
|
|
|
|
(CL_INTENSITY, CL_SIGNED_INT16) => pipe_format::PIPE_FORMAT_I16_SINT,
|
|
|
|
|
(CL_INTENSITY, CL_SIGNED_INT32) => pipe_format::PIPE_FORMAT_I32_SINT,
|
|
|
|
|
(CL_INTENSITY, CL_UNSIGNED_INT8) => pipe_format::PIPE_FORMAT_I8_UINT,
|
|
|
|
|
(CL_INTENSITY, CL_UNSIGNED_INT16) => pipe_format::PIPE_FORMAT_I16_UINT,
|
|
|
|
|
(CL_INTENSITY, CL_UNSIGNED_INT32) => pipe_format::PIPE_FORMAT_I32_UINT,
|
|
|
|
|
(CL_INTENSITY, CL_SNORM_INT8) => pipe_format::PIPE_FORMAT_I8_SNORM,
|
|
|
|
|
(CL_INTENSITY, CL_SNORM_INT16) => pipe_format::PIPE_FORMAT_I16_SNORM,
|
|
|
|
|
(CL_INTENSITY, CL_UNORM_INT8) => pipe_format::PIPE_FORMAT_I8_UNORM,
|
|
|
|
|
(CL_INTENSITY, CL_UNORM_INT16) => pipe_format::PIPE_FORMAT_I16_UNORM,
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
#[rustfmt::skip]
|
|
|
|
@@ -416,7 +417,9 @@ impl CLFormatInfo for cl_image_format {
|
|
|
|
|
| CL_HALF_FLOAT => Some((2, false)),
|
|
|
|
|
CL_SIGNED_INT32 | CL_UNSIGNED_INT32 | CL_FLOAT => Some((4, false)),
|
|
|
|
|
CL_UNORM_SHORT_555 | CL_UNORM_SHORT_565 => Some((2, true)),
|
|
|
|
|
CL_UNORM_INT_101010 | CL_UNORM_INT_101010_2 => Some((4, true)),
|
|
|
|
|
CL_UNORM_INT_101010 | CL_UNORM_INT_101010_2 | CL_UNORM_INT_2_101010_EXT => {
|
|
|
|
|
Some((4, true))
|
|
|
|
|
}
|
|
|
|
|
_ => None,
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|