Quantcast
Channel: Intel® Software - OpenCL*
Viewing all articles
Browse latest Browse all 1182

No image object were created with Intel HD 4400 and 4600

$
0
0

Hello, 

As you can see the subject, I can't create image object with my Intel HD graphics.

I have 3 computers that each computer has 'NVidia', 'Intel HD 4400', 'Intel HD 4600' graphic chip-set. Initially made program and kernels with NVidia first. And now, I tried to run my application on other computers but it failed.

Intel HD graphic chip-set returns 'CL_INVALID_IMAGE_DESCRIPTOR(-65)' for create image with cl::Image2D(...) .

I am using Windows 7, Intel OpenCL SDK for build. and 10.18.10.3496 driver for Intel HD graphics. I have saw Intel HD graphics OpenCL driver version is 1.2 and succeed image creation from OpenGL texture sharing. So, I tested which image format is supported by Intel HD graphics.

Here is the source code for doing test,

const cl_channel_order channel_order_value[] = {
CL_R,
CL_A,
CL_RG,
CL_RA,
CL_RGB,
CL_RGBA,
CL_BGRA,
CL_ARGB,
CL_INTENSITY,
CL_LUMINANCE,
CL_Rx,
CL_RGx,
CL_RGBx,
CL_DEPTH,
CL_DEPTH_STENCIL
};

const cl_channel_type channel_type_value[] = {
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,
CL_UNORM_INT24
};

const char* channel_order_name[] = { "CL_R","CL_A","CL_RG","CL_RA","CL_RGB","CL_RGBA","CL_BGRA","CL_ARGB","CL_INTENSITY","CL_LUMINANCE","CL_Rx","CL_RGx","CL_RGBx","CL_DEPTH","CL_DEPTH_STENCIL"
};

const char* channel_type_name[] = { "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","CL_UNORM_INT24"
};

void doImageCreationTest()
{
    cl_int err = CL_SUCCESS;

    for (int order = 0; order < 15; ++order)
    {
        for (int type = 0; type < 16; ++type)
        {
            err = CL_SUCCESS;
            cl::Image2D img = cl::Image2D(context, CL_MEM_READ_WRITE, cl::ImageFormat(channel_order_value[order], channel_type_value[type]), 512, 512, 0, 0, &err);
            if (err == CL_SUCCESS)
            {
                cout << "=> "<< channel_order_name[order] << " with "<< channel_type_name[type] << endl;
            }
        }
    }
}

result:

[NVIDIA]

=> CL_R with CL_SNORM_INT8
=> CL_R with CL_SNORM_INT16
=> CL_R with CL_UNORM_INT8
=> CL_R with CL_UNORM_INT16
=> CL_R with CL_SIGNED_INT8
=> CL_R with CL_SIGNED_INT16
=> CL_R with CL_SIGNED_INT32
=> CL_R with CL_UNSIGNED_INT8
=> CL_R with CL_UNSIGNED_INT16
=> CL_R with CL_UNSIGNED_INT32
=> CL_R with CL_HALF_FLOAT
=> CL_R with CL_FLOAT
=> CL_A with CL_SNORM_INT8
=> CL_A with CL_SNORM_INT16
=> CL_A with CL_UNORM_INT8
=> CL_A with CL_UNORM_INT16
=> CL_A with CL_SIGNED_INT8
=> CL_A with CL_SIGNED_INT16
=> CL_A with CL_SIGNED_INT32
=> CL_A with CL_UNSIGNED_INT8
=> CL_A with CL_UNSIGNED_INT16
=> CL_A with CL_UNSIGNED_INT32
=> CL_A with CL_HALF_FLOAT
=> CL_A with CL_FLOAT
=> CL_RG with CL_SNORM_INT8
=> CL_RG with CL_SNORM_INT16
=> CL_RG with CL_UNORM_INT8
=> CL_RG with CL_UNORM_INT16
=> CL_RG with CL_SIGNED_INT8
=> CL_RG with CL_SIGNED_INT16
=> CL_RG with CL_SIGNED_INT32
=> CL_RG with CL_UNSIGNED_INT8
=> CL_RG with CL_UNSIGNED_INT16
=> CL_RG with CL_UNSIGNED_INT32
=> CL_RG with CL_HALF_FLOAT
=> CL_RG with CL_FLOAT
=> CL_RA with CL_SNORM_INT8
=> CL_RA with CL_SNORM_INT16
=> CL_RA with CL_UNORM_INT8
=> CL_RA with CL_UNORM_INT16
=> CL_RA with CL_SIGNED_INT8
=> CL_RA with CL_SIGNED_INT16
=> CL_RA with CL_SIGNED_INT32
=> CL_RA with CL_UNSIGNED_INT8
=> CL_RA with CL_UNSIGNED_INT16
=> CL_RA with CL_UNSIGNED_INT32
=> CL_RA with CL_HALF_FLOAT
=> CL_RA with CL_FLOAT
=> CL_RGB with CL_SNORM_INT8
=> CL_RGB with CL_SNORM_INT16
=> CL_RGB with CL_UNORM_INT8
=> CL_RGB with CL_UNORM_INT16
=> CL_RGB with CL_UNORM_SHORT_565
=> CL_RGB with CL_UNORM_SHORT_555
=> CL_RGB with CL_UNORM_INT_101010
=> CL_RGB with CL_SIGNED_INT8
=> CL_RGB with CL_SIGNED_INT16
=> CL_RGB with CL_SIGNED_INT32
=> CL_RGB with CL_UNSIGNED_INT8
=> CL_RGB with CL_UNSIGNED_INT16
=> CL_RGB with CL_UNSIGNED_INT32
=> CL_RGB with CL_HALF_FLOAT
=> CL_RGB with CL_FLOAT
=> CL_RGBA with CL_SNORM_INT8
=> CL_RGBA with CL_SNORM_INT16
=> CL_RGBA with CL_UNORM_INT8
=> CL_RGBA with CL_UNORM_INT16
=> CL_RGBA with CL_SIGNED_INT8
=> CL_RGBA with CL_SIGNED_INT16
=> CL_RGBA with CL_SIGNED_INT32
=> CL_RGBA with CL_UNSIGNED_INT8
=> CL_RGBA with CL_UNSIGNED_INT16
=> CL_RGBA with CL_UNSIGNED_INT32
=> CL_RGBA with CL_HALF_FLOAT
=> CL_RGBA with CL_FLOAT
=> CL_BGRA with CL_SNORM_INT8
=> CL_BGRA with CL_SNORM_INT16
=> CL_BGRA with CL_UNORM_INT8
=> CL_BGRA with CL_UNORM_INT16
=> CL_BGRA with CL_SIGNED_INT8
=> CL_BGRA with CL_SIGNED_INT16
=> CL_BGRA with CL_SIGNED_INT32
=> CL_BGRA with CL_UNSIGNED_INT8
=> CL_BGRA with CL_UNSIGNED_INT16
=> CL_BGRA with CL_UNSIGNED_INT32
=> CL_BGRA with CL_HALF_FLOAT
=> CL_BGRA with CL_FLOAT
=> CL_ARGB with CL_SNORM_INT8
=> CL_ARGB with CL_SNORM_INT16
=> CL_ARGB with CL_UNORM_INT8
=> CL_ARGB with CL_UNORM_INT16
=> CL_ARGB with CL_SIGNED_INT8
=> CL_ARGB with CL_SIGNED_INT16
=> CL_ARGB with CL_SIGNED_INT32
=> CL_ARGB with CL_UNSIGNED_INT8
=> CL_ARGB with CL_UNSIGNED_INT16
=> CL_ARGB with CL_UNSIGNED_INT32
=> CL_ARGB with CL_HALF_FLOAT
=> CL_ARGB with CL_FLOAT
=> CL_INTENSITY with CL_SNORM_INT8
=> CL_INTENSITY with CL_SNORM_INT16
=> CL_INTENSITY with CL_UNORM_INT8
=> CL_INTENSITY with CL_UNORM_INT16
=> CL_INTENSITY with CL_SIGNED_INT8
=> CL_INTENSITY with CL_SIGNED_INT16
=> CL_INTENSITY with CL_SIGNED_INT32
=> CL_INTENSITY with CL_UNSIGNED_INT8
=> CL_INTENSITY with CL_UNSIGNED_INT16
=> CL_INTENSITY with CL_UNSIGNED_INT32
=> CL_INTENSITY with CL_HALF_FLOAT
=> CL_INTENSITY with CL_FLOAT
=> CL_LUMINANCE with CL_SNORM_INT8
=> CL_LUMINANCE with CL_SNORM_INT16
=> CL_LUMINANCE with CL_UNORM_INT8
=> CL_LUMINANCE with CL_UNORM_INT16
=> CL_LUMINANCE with CL_SIGNED_INT8
=> CL_LUMINANCE with CL_SIGNED_INT16
=> CL_LUMINANCE with CL_SIGNED_INT32
=> CL_LUMINANCE with CL_UNSIGNED_INT8
=> CL_LUMINANCE with CL_UNSIGNED_INT16
=> CL_LUMINANCE with CL_UNSIGNED_INT32
=> CL_LUMINANCE with CL_HALF_FLOAT
=> CL_LUMINANCE with CL_FLOAT
=> CL_DEPTH with CL_SNORM_INT8
=> CL_DEPTH with CL_SNORM_INT16
=> CL_DEPTH with CL_UNORM_INT8
=> CL_DEPTH with CL_UNORM_INT16
=> CL_DEPTH with CL_SIGNED_INT8
=> CL_DEPTH with CL_SIGNED_INT16
=> CL_DEPTH with CL_SIGNED_INT32
=> CL_DEPTH with CL_UNSIGNED_INT8
=> CL_DEPTH with CL_UNSIGNED_INT16
=> CL_DEPTH with CL_UNSIGNED_INT32
=> CL_DEPTH with CL_HALF_FLOAT
=> CL_DEPTH with CL_FLOAT

But Intel HD cannot create any type of images.

What would I do for Intel HD graphics?

I am sorry for my poor English.


Viewing all articles
Browse latest Browse all 1182

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>