view TaskManager/Gpu/GpuError.h @ 1553:21ddbc06dcde draft

fix GpuScheduler
author Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
date Sun, 17 Feb 2013 19:42:36 +0900
parents 890cb39418ca
children
line wrap: on
line source

const char* convert_error_status(cl_uint status){
    static const struct {
        const cl_uint status;
        const char *status_string;
    } Error_Status[] = {
        {CL_SUCCESS,                         "CL_SUCCESS"}
        ,{CL_DEVICE_NOT_FOUND,                "CL_DEVICE_NOT_FOUND"}
        ,{CL_DEVICE_NOT_AVAILABLE,            "CL_DEVICE_NOT_AVAILABLE"}
        ,{CL_COMPILER_NOT_AVAILABLE,          "CL_COMPILER_NOT_AVAILABLE"}
        ,{CL_MEM_OBJECT_ALLOCATION_FAILURE,   "CL_MEM_OBJECT_ALLOCATION_FAILURE"}
        ,{CL_OUT_OF_RESOURCES,                "CL_OUT_OF_RESOURCES"}
        ,{CL_OUT_OF_HOST_MEMORY,              "CL_OUT_OF_HOST_MEMORY"}
        ,{CL_PROFILING_INFO_NOT_AVAILABLE,    "CL_PROFILING_INFO_NOT_AVAILABLE"}
        ,{CL_MEM_COPY_OVERLAP,                "CL_MEM_COPY_OVERLAP"}
        ,{CL_IMAGE_FORMAT_MISMATCH,           "CL_IMAGE_FORMAT_MISMATCH"}
        ,{CL_IMAGE_FORMAT_NOT_SUPPORTED,      "CL_IMAGE_FORMAT_NOT_SUPPORTED"}
        ,{CL_BUILD_PROGRAM_FAILURE,           "CL_BUILD_PROGRAM_FAILURE"}
        ,{CL_MAP_FAILURE,                     "CL_MAP_FAILURE"}
        ,{CL_INVALID_VALUE,                   "CL_INVALID_VALUE"}
        ,{CL_INVALID_DEVICE_TYPE,             "CL_INVALID_DEVICE_TYPE"}
        ,{CL_INVALID_PLATFORM,                "CL_INVALID_PLATFORM"}
        ,{CL_INVALID_DEVICE,                  "CL_INVALID_DEVICE"}
        ,{CL_INVALID_CONTEXT,                 "CL_INVALID_CONTEXT"}
        ,{CL_INVALID_QUEUE_PROPERTIES,        "CL_INVALID_QUEUE_PROPERTIES"}
        ,{CL_INVALID_COMMAND_QUEUE,           "CL_INVALID_COMMAND_QUEUE"}
        ,{CL_INVALID_HOST_PTR,                "CL_INVALID_HOST_PTR"}
        ,{CL_INVALID_MEM_OBJECT,              "CL_INVALID_MEM_OBJECT"}
        ,{CL_INVALID_IMAGE_FORMAT_DESCRIPTOR, "CL_INVALID_IMAGE_FORMAT_DESCRIPTOR"}
        ,{CL_INVALID_IMAGE_SIZE,              "CL_INVALID_IMAGE_SIZE"}
        ,{CL_INVALID_SAMPLER,                 "CL_INVALID_SAMPLER"}
        ,{CL_INVALID_BINARY,                  "CL_INVALID_BINARY"}
        ,{CL_INVALID_BUILD_OPTIONS,           "CL_INVALID_BUILD_OPTIONS"}
        ,{CL_INVALID_PROGRAM,                 "CL_INVALID_PROGRAM"}
        ,{CL_INVALID_PROGRAM_EXECUTABLE,      "CL_INVALID_PROGRAM_EXECUTABLE"}
        ,{CL_INVALID_KERNEL_NAME,             "CL_INVALID_KERNEL_NAME"}
        ,{CL_INVALID_KERNEL_DEFINITION,       "CL_INVALID_KERNEL_DEFINITION"}
        ,{CL_INVALID_KERNEL,                  "CL_INVALID_KERNEL"}
        ,{CL_INVALID_ARG_INDEX,               "CL_INVALID_ARG_INDEX"}
        ,{CL_INVALID_ARG_VALUE,               "CL_INVALID_ARG_VALUE"}
        ,{CL_INVALID_ARG_SIZE,                "CL_INVALID_ARG_SIZE"}
        ,{CL_INVALID_KERNEL_ARGS,             "CL_INVALID_KERNEL_ARGS"}
        ,{CL_INVALID_WORK_DIMENSION,          "CL_INVALID_WORK_DIMENSION"}
        ,{CL_INVALID_WORK_GROUP_SIZE,         "CL_INVALID_WORK_GROUP_SIZE"}
        ,{CL_INVALID_WORK_ITEM_SIZE,          "CL_INVALID_WORK_ITEM_SIZE"}
        ,{CL_INVALID_GLOBAL_OFFSET,           "CL_INVALID_GLOBAL_OFFSET"}
        ,{CL_INVALID_EVENT_WAIT_LIST,         "CL_INVALID_EVENT_WAIT_LIST"}
        ,{CL_INVALID_EVENT,                   "CL_INVALID_EVENT"}
        ,{CL_INVALID_OPERATION,               "CL_INVALID_OPERATION"}
        ,{CL_INVALID_GL_OBJECT,               "CL_INVALID_GL_OBJECT"}
        ,{CL_INVALID_BUFFER_SIZE,             "CL_INVALID_BUFFER_SIZE"}
        ,{CL_INVALID_MIP_LEVEL,               "CL_INVALID_MIP_LEVEL"}
        ,{0, NULL}
    };
    const char* message;

    for(int i=0; Error_Status[i].status_string !=NULL; i++){
        if (Error_Status[i].status == status) {
            message = Error_Status[i].status_string;
        }
    }
    return message;
}