Partage
  • Partager sur Facebook
  • Partager sur Twitter

clCreateFromGLBuffer crash

[opengl][opencl][vbo]

    25 octobre 2018 à 21:59:24

    Hello les zero !
    J'essaye d'utiliser un vbo sous opencl, mais je rencontre quelque difficultés ...
    J'ai un crash lors de l'appel à clCreateFromGLBuffer :(
    Ci-dessous un code qui reproduit le crash: 
    sf::ContextSettings settings;
    settings.depthBits = 24;
    settings.stencilBits = 8;
    settings.antialiasingLevel = 2;
    sf::Window window(sf::VideoMode(2048, 1024), "GAME",
        		sf::Style::Fullscreen, settings);
    glewInit();
    cl_platform_id platform_id = NULL;
    cl_device_id device_id = NULL;
    cl_uint ret_num_devices;
    cl_uint ret_num_platforms;
    cl_int ret = clGetPlatformIDs(1, &platform_id, &ret_num_platforms);
        
    ret = clGetDeviceIDs(platform_id, CL_DEVICE_TYPE_GPU, 1, &device_id,
        		&ret_num_devices);
        
    cl_context_properties props[] = { CL_GL_CONTEXT_KHR,
        		(cl_context_properties) wglGetCurrentContext(), CL_WGL_HDC_KHR,
        		(cl_context_properties) wglGetCurrentDC(), CL_CONTEXT_PLATFORM,
        		(cl_context_properties) platform_id, 0 };
        
    cl_context context = clCreateContext(props, 1, &device_id, NULL, NULL,
        		&ret);
        
    GLuint vboID_m = 0;
    
    glGenBuffers(1, &vboID_m);
    glBindBuffer(GL_ARRAY_BUFFER, vboID_m);
    {
        
        std::vector<float> tmp = { 0., 0., 0., 0., 0., 0., 0., 0., 0. };
        
        glBufferData(GL_ARRAY_BUFFER, (tmp.size()) * sizeof(float), 0,
        	GL_STATIC_DRAW);
        glBufferSubData(GL_ARRAY_BUFFER, 0, tmp.size() * sizeof(float),
        		tmp.data());
    }
    glBindBuffer(GL_ARRAY_BUFFER, 0);
        
    glFlush();
    
    cl_int status;
    clCreateFromGLBuffer(context, CL_MEM_READ_WRITE, vboID_m, &status);
    return 0;
    Merci pour votre future aide !

    -
    Edité par theotsiv 25 octobre 2018 à 22:05:18

    • Partager sur Facebook
    • Partager sur Twitter

    clCreateFromGLBuffer crash

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown