export INTEL_DEVID_OVERRIDE=0x0166 # or, 0x0112
export DEVICE=ivb_m_gt2 # snb_gt2 for SNB GT2 desktop
-export OCL_FULSIM_RUN=1
+export OCL_SIMULATOR=1 # 0 -> HW, 1 -> fulsim, 2 -> perfsim
export OCL_FULSIM_DEBUG_MODE=$1
cl_command_queue.c
cl_command_queue_gen7.c
cl_buffer.c
+ cl_buffer.cpp
sim/sim_buffer.c
+ intel/intel_buffer.c
intel/intel_gpgpu.c
intel/intel_batchbuffer.c
intel/intel_driver.c
cl_buffer_unpin_cb *cl_buffer_unpin = NULL;
cl_buffer_subdata_cb *cl_buffer_subdata = NULL;
cl_buffer_emit_reloc_cb *cl_buffer_emit_reloc = NULL;
+cl_driver_get_bufmgr_cb *cl_driver_get_bufmgr = NULL;
+cl_driver_get_ver_cb *cl_driver_get_ver = NULL;
/* Encapsulates buffer manager */
typedef struct cl_buffer_mgr cl_buffer_mgr;
+/* Encapsulates the driver backend functionalities */
+typedef struct cl_driver cl_driver;
+
+/* Create a new driver */
+typedef cl_driver* (cl_driver_new_cb)(void);
+extern cl_driver_new_cb cl_driver_new;
+
+/* Delete the driver */
+typedef cl_driver* (cl_driver_delete_cb)(void);
+extern cl_driver_delete_cb cl_driver_delete;
+
+/* Get the buffer manager from the driver */
+typedef cl_buffer_mgr* (cl_driver_get_bufmgr_cb)(cl_driver*);
+extern cl_driver_get_bufmgr_cb *cl_driver_get_bufmgr;
+
+/* Get the Gen version from the driver */
+typedef uint32_t (cl_driver_get_ver_cb)(cl_driver*);
+extern cl_driver_get_ver_cb *cl_driver_get_ver;
+
/* Allocate a buffer */
typedef cl_buffer* (cl_buffer_alloc_cb)(cl_buffer_mgr*, const char*, unsigned long, unsigned long);
extern cl_buffer_alloc_cb *cl_buffer_alloc;
#include "cl_mem.h"
#include "cl_utils.h"
#include "cl_alloc.h"
-
-#ifdef _PLASMA
-#include "plasma/plasma_export.h"
-#else
#include "intel_bufmgr.h"
#include "intel/intel_gpgpu.h"
-#endif
#include <assert.h>
#include <stdio.h>
static void
cl_run_fulsim(void)
{
- const char *run_it = getenv("OCL_FULSIM_RUN");
+ const char *run_it = getenv("OCL_SIMULATOR");
const char *debug_mode = getenv("OCL_FULSIM_DEBUG_MODE");
- if (run_it == NULL || strcmp(run_it, "1"))
- return;
-#if EMULATE_GEN == 6 /* SNB */
- if (debug_mode == NULL || strcmp(debug_mode, "1"))
- system("wine AubLoad.exe dump.aub -device sbrB0");
- else
- system("wine AubLoad.exe dump.aub -device sbrB0 -debug");
-#elif EMULATE_GEN == 7 /* IVB */
+ if (run_it == NULL || strcmp(run_it, "1")) return;
+
+#if EMULATE_GEN == 7 /* IVB */
if (debug_mode == NULL || strcmp(debug_mode, "1"))
system("wine AubLoad.exe dump.aub -device ivbB0");
else
/* Do not include the full dependency */
struct intel_driver;
/* Get the command buffer interface */
-extern struct _drm_intel_bufmgr* intel_driver_get_buf(struct intel_driver*);
+extern struct _drm_intel_bufmgr* intel_driver_get_bufmgr(struct intel_driver*);
/* Get the Gen HW version */
extern uint32_t intel_driver_get_ver(struct intel_driver*);
struct _drm_intel_bufmgr*
cl_context_get_intel_bufmgr(cl_context ctx)
{
- return intel_driver_get_buf((struct intel_driver*) ctx->intel_drv);
+ return intel_driver_get_bufmgr((struct intel_driver*) ctx->intel_drv);
}
#include "cl_alloc.h"
#include "cl_device_id.h"
-#ifdef _PLASMA
-#include "plasma/plasma_export.h"
-#else
#include "intel/intel_driver.h"
#include "intel/intel_gpgpu.h"
#include "intel_bufmgr.h" /* libdrm_intel */
-#endif
+#include "cl_buffer.h"
#include "CL/cl.h"
#include "CL/cl_intel.h"
return name;
}
-extern drm_intel_bufmgr* intel_driver_get_buf(intel_driver_t*);
-
-LOCAL drm_intel_bufmgr*
-intel_driver_get_buf(intel_driver_t *drv)
-{
- return drv->bufmgr;
-}
-
-LOCAL uint32_t
-intel_driver_get_ver(struct intel_driver *drv)
-{
- return drv->gen_ver;
-}
-
LOCAL int
cl_intel_get_device_id(void)
{