Home | History | Annotate | Download | only in cl_12
      1 /*
      2  * Copyright 2017 Google Inc.
      3  *
      4  * Use of this source code is governed by a BSD-style license that can
      5  * be found in the LICENSE file.
      6  *
      7  */
      8 
      9 #ifndef SKC_ONCE_SKC_CREATE_CL
     10 #define SKC_ONCE_SKC_CREATE_CL
     11 
     12 //
     13 //
     14 //
     15 
     16 #ifdef __APPLE__
     17 #include "OpenCL/opencl.h"
     18 #else
     19 #include "CL/opencl.h"
     20 #endif
     21 
     22 //
     23 //
     24 //
     25 
     26 #include "skc.h"
     27 
     28 //
     29 // CONTEXT CREATION
     30 //
     31 
     32 skc_err
     33 skc_context_create_cl(skc_context_t * context,
     34                       cl_context      context_cl,
     35                       cl_device_id    device_id_cl);
     36 
     37 //
     38 // SURFACE RENDER FRAMEBUFFER TYPES
     39 //
     40 
     41 typedef enum skc_framebuffer_cl_mem_type {
     42   SKC_FRAMEBUFFER_CL_IMAGE2D,
     43   SKC_FRAMEBUFFER_CL_GL_RENDERBUFFER,
     44   SKC_FRAMEBUFFER_CL_GL_TEXTURE
     45 } skc_framebuffer_cl_mem_type;
     46 
     47 struct skc_framebuffer_cl
     48 {
     49   skc_framebuffer_cl_mem_type type;
     50   cl_mem                      mem;
     51   struct skc_interop        * interop;
     52   void                     (* post_render)(struct skc_interop * interop);
     53 };
     54 
     55 //
     56 //
     57 //
     58 
     59 #endif
     60 
     61 //
     62 //
     63 //
     64