From: Junyan He <junyan...@intel.com>

Signed-off-by: Junyan He <junyan...@intel.com>
---
 src/CMakeLists.txt            |   2 +-
 src/cl_image.c                |   2 +-
 src/gen/intel_batchbuffer.c   | 189 +++++++++++++++++++++++
 src/gen/intel_batchbuffer.h   | 151 ++++++++++++++++++
 src/gen/intel_defines.h       | 351 ++++++++++++++++++++++++++++++++++++++++++
 src/intel/intel_batchbuffer.c | 189 -----------------------
 src/intel/intel_batchbuffer.h | 151 ------------------
 src/intel/intel_defines.h     | 351 ------------------------------------------
 src/intel/intel_driver.c      |   2 +-
 src/intel/intel_gpgpu.c       |   2 +-
 src/intel/intel_gpgpu.h       |   2 +-
 11 files changed, 696 insertions(+), 696 deletions(-)
 create mode 100644 src/gen/intel_batchbuffer.c
 create mode 100644 src/gen/intel_batchbuffer.h
 create mode 100644 src/gen/intel_defines.h
 delete mode 100644 src/intel/intel_batchbuffer.c
 delete mode 100644 src/intel/intel_batchbuffer.h
 delete mode 100644 src/intel/intel_defines.h

diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 81210fd..8d2bf5b 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -101,8 +101,8 @@ set(OPENCL_SRC
     cl_driver.h
     cl_driver.cpp
     cl_driver_defs.c
+    gen/intel_batchbuffer.c
     intel/intel_gpgpu.c
-    intel/intel_batchbuffer.c
     intel/intel_driver.c
     performance.c)
 
diff --git a/src/cl_image.c b/src/cl_image.c
index 5ff459a..89b5c72 100644
--- a/src/cl_image.c
+++ b/src/cl_image.c
@@ -19,7 +19,7 @@
 
 #include "cl_image.h"
 #include "cl_utils.h"
-#include "intel/intel_defines.h"
+#include "gen/intel_defines.h"
 
 #include <assert.h>
 
diff --git a/src/gen/intel_batchbuffer.c b/src/gen/intel_batchbuffer.c
new file mode 100644
index 0000000..078908c
--- /dev/null
+++ b/src/gen/intel_batchbuffer.c
@@ -0,0 +1,189 @@
+/* 
+ * Copyright © 2012 Intel Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Author: Benjamin Segovia <benjamin.sego...@intel.com>
+ */
+
+/**************************************************************************
+ * 
+ * Copyright 2006 Tungsten Graphics, Inc., Cedar Park, Texas.
+ * All Rights Reserved.
+ * 
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sub license, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ * 
+ * The above copyright notice and this permission notice (including the
+ * next paragraph) shall be included in all copies or substantial portions
+ * of the Software.
+ * 
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+ * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
+ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ * 
+ **************************************************************************/
+
+#include "intel_batchbuffer.h"
+#include "intel/intel_driver.h"
+#include "cl_alloc.h"
+#include "cl_utils.h"
+
+#include <stdlib.h>
+#include <string.h>
+#include <assert.h>
+#include <errno.h>
+
+LOCAL int
+intel_batchbuffer_reset(intel_batchbuffer_t *batch, size_t sz)
+{
+  if (batch->buffer != NULL) {
+    dri_bo_unreference(batch->buffer);
+    batch->buffer = NULL;
+    batch->last_bo = NULL;
+  }
+
+  batch->buffer = dri_bo_alloc(batch->intel->bufmgr,
+                               "batch buffer",
+                               sz,
+                               64);
+  if (!batch->buffer || (dri_bo_map(batch->buffer, 1) != 0)) {
+    if (batch->buffer)
+      dri_bo_unreference(batch->buffer);
+    batch->buffer = NULL;
+    return -1;
+  }
+  batch->map = (uint8_t*) batch->buffer->virtual;
+  batch->size = sz;
+  batch->ptr = batch->map;
+  batch->atomic = 0;
+  batch->last_bo = batch->buffer;
+  batch->enable_slm = 0;
+  return 0;
+}
+
+LOCAL void
+intel_batchbuffer_init(intel_batchbuffer_t *batch, intel_driver_t *intel)
+{
+  assert(intel);
+  batch->intel = intel;
+}
+
+LOCAL void
+intel_batchbuffer_terminate(intel_batchbuffer_t *batch)
+{
+  assert(batch->buffer);
+
+  if (batch->map) {
+    dri_bo_unmap(batch->buffer);
+    batch->map = NULL;
+  }
+
+  dri_bo_unreference(batch->buffer);
+  batch->buffer = NULL;
+}
+
+LOCAL int
+intel_batchbuffer_flush(intel_batchbuffer_t *batch)
+{
+  uint32_t used = batch->ptr - batch->map;
+  int is_locked = batch->intel->locked;
+  int err = 0;
+
+  if (used == 0)
+    return 0;
+
+  if ((used & 4) == 0) {
+    *(uint32_t*) batch->ptr = 0;
+    batch->ptr += 4;
+  }
+
+  *(uint32_t*)batch->ptr = MI_BATCH_BUFFER_END;
+  batch->ptr += 4;
+  used = batch->ptr - batch->map;
+  dri_bo_unmap(batch->buffer);
+  batch->ptr = batch->map = NULL;
+
+  if (!is_locked)
+    intel_driver_lock_hardware(batch->intel);
+
+  int flag = I915_EXEC_RENDER;
+  if(batch->enable_slm) {
+    /* use the hard code here temp, must change to
+     * I915_EXEC_ENABLE_SLM when it drm accept the patch */
+    flag |= (1<<13);
+  }
+  if (drm_intel_gem_bo_context_exec(batch->buffer, batch->intel->ctx, used, 
flag) < 0) {
+    fprintf(stderr, "drm_intel_gem_bo_context_exec() failed: %s\n", 
strerror(errno));
+    err = -1;
+  }
+
+  if (!is_locked)
+    intel_driver_unlock_hardware(batch->intel);
+
+  return err;
+}
+
+LOCAL void 
+intel_batchbuffer_emit_reloc(intel_batchbuffer_t *batch,
+                             dri_bo *bo, 
+                             uint32_t read_domains,
+                             uint32_t write_domains, 
+                             uint32_t delta)
+{
+  assert(batch->ptr - batch->map < batch->size);
+  dri_bo_emit_reloc(batch->buffer,
+                    read_domains,
+                    write_domains,
+                    delta,
+                    batch->ptr - batch->map,
+                    bo);
+  intel_batchbuffer_emit_dword(batch, bo->offset + delta);
+}
+
+LOCAL intel_batchbuffer_t*
+intel_batchbuffer_new(intel_driver_t *intel)
+{
+  intel_batchbuffer_t *batch = NULL;
+  assert(intel);
+  TRY_ALLOC_NO_ERR (batch, CL_CALLOC(1, sizeof(intel_batchbuffer_t)));
+  intel_batchbuffer_init(batch, intel);
+
+exit:
+  return batch;
+error:
+  intel_batchbuffer_delete(batch);
+  batch = NULL;
+  goto exit;
+}
+
+LOCAL void
+intel_batchbuffer_delete(intel_batchbuffer_t *batch)
+{
+  if (batch == NULL)
+    return;
+  if(batch->buffer)
+    intel_batchbuffer_terminate(batch);
+
+  CL_FREE(batch);
+}
diff --git a/src/gen/intel_batchbuffer.h b/src/gen/intel_batchbuffer.h
new file mode 100644
index 0000000..0544e9a
--- /dev/null
+++ b/src/gen/intel_batchbuffer.h
@@ -0,0 +1,151 @@
+/* 
+ * Copyright © 2012 Intel Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Author: Benjamin Segovia <benjamin.sego...@intel.com>
+ */
+
+/**************************************************************************
+ * 
+ * Copyright 2006 Tungsten Graphics, Inc., Cedar Park, Texas.
+ * All Rights Reserved.
+ * 
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sub license, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ * 
+ * The above copyright notice and this permission notice (including the
+ * next paragraph) shall be included in all copies or substantial portions
+ * of the Software.
+ * 
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+ * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
+ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ * 
+ **************************************************************************/
+#ifndef _INTEL_BATCHBUFFER_H_
+#define _INTEL_BATCHBUFFER_H_
+
+#include "intel_defines.h"
+#include "cl_utils.h"
+
+#include <xf86drm.h>
+#include <drm.h>
+#include <i915_drm.h>
+#include <intel_bufmgr.h>
+#include <stdint.h>
+#include <memory.h>
+#include <assert.h>
+
+#define BEGIN_BATCH(b, n) do {                                            \
+  intel_batchbuffer_require_space(b, (n) * 4);                            \
+} while (0)
+
+#define OUT_BATCH(b, d) do {                                              \
+  intel_batchbuffer_emit_dword(b, d);                                     \
+} while (0)
+
+#define OUT_RELOC(b, bo, read_domains, write_domain, delta) do {          \
+  assert((delta) >= 0);                                                   \
+  intel_batchbuffer_emit_reloc(b, bo, read_domains, write_domain, delta); \
+} while (0)
+
+#define ADVANCE_BATCH(b) do { } while (0)
+
+struct intel_driver;
+
+typedef struct intel_batchbuffer
+{
+  struct intel_driver *intel;
+  drm_intel_bo *buffer;
+  /** Last bo submitted to the hardware.  used for clFinish. */
+  drm_intel_bo *last_bo;
+  uint32_t size;
+  uint8_t *map;
+  uint8_t *ptr;
+  /** HSW: can't set LRI in batch buffer, set I915_EXEC_ENABLE_SLM
+   *  flag when call exec. */
+  uint8_t enable_slm;
+  int atomic;
+} intel_batchbuffer_t;
+
+extern intel_batchbuffer_t* intel_batchbuffer_new(struct intel_driver*);
+extern void intel_batchbuffer_delete(intel_batchbuffer_t*);
+extern void intel_batchbuffer_emit_reloc(intel_batchbuffer_t*,
+                                         drm_intel_bo*,
+                                         uint32_t read_domains,
+                                         uint32_t write_domains,
+                                         uint32_t delta);
+extern void intel_batchbuffer_init(intel_batchbuffer_t*, struct intel_driver*);
+extern void intel_batchbuffer_terminate(intel_batchbuffer_t*);
+extern int intel_batchbuffer_flush(intel_batchbuffer_t*);
+extern int intel_batchbuffer_reset(intel_batchbuffer_t*, size_t sz);
+
+static INLINE uint32_t
+intel_batchbuffer_space(const intel_batchbuffer_t *batch)
+{
+  assert(batch->ptr);
+  return batch->size - (batch->ptr - batch->map);
+}
+
+static INLINE void
+intel_batchbuffer_emit_dword(intel_batchbuffer_t *batch, uint32_t x)
+{
+  assert(intel_batchbuffer_space(batch) >= 4);
+  *(uint32_t*)batch->ptr = x;
+  batch->ptr += 4;
+}
+
+static INLINE void
+intel_batchbuffer_require_space(intel_batchbuffer_t *batch, uint32_t size) {
+  assert(size < batch->size - 8);
+  if (intel_batchbuffer_space(batch) < size)
+    intel_batchbuffer_space(batch);
+}
+
+static INLINE uint8_t*
+intel_batchbuffer_alloc_space(intel_batchbuffer_t *batch, uint32_t size)
+{
+  assert(intel_batchbuffer_space(batch) >= size);
+  uint8_t *space_ptr = batch->ptr;
+  batch->ptr += size;
+  return space_ptr;
+}
+
+static INLINE void
+intel_batchbuffer_start_atomic(intel_batchbuffer_t *batch, uint32_t size)
+{
+  assert(!batch->atomic);
+  intel_batchbuffer_require_space(batch, size);
+  batch->atomic = 1;
+}
+
+static INLINE void
+intel_batchbuffer_end_atomic(intel_batchbuffer_t *batch)
+{
+  assert(batch->atomic);
+  batch->atomic = 0;
+}
+
+#endif /* _INTEL_BATCHBUFFER_H_ */
+
diff --git a/src/gen/intel_defines.h b/src/gen/intel_defines.h
new file mode 100644
index 0000000..6ada30c
--- /dev/null
+++ b/src/gen/intel_defines.h
@@ -0,0 +1,351 @@
+/* 
+ * Copyright © 2012 Intel Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Author: Benjamin Segovia <benjamin.sego...@intel.com>
+ */
+
+/*
+ Copyright (C) Intel Corp.  2006.  All Rights Reserved.
+ Intel funded Tungsten Graphics (http://www.tungstengraphics.com) to
+ develop this 3D driver.
+ 
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+ 
+ The above copyright notice and this permission notice (including the
+ next paragraph) shall be included in all copies or substantial
+ portions of the Software.
+ 
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ 
+ **********************************************************************/
+ /*
+  * Authors:
+  *   Keith Whitwell <ke...@tungstengraphics.com>
+  */
+#ifndef __GENX_DEFINES_H__
+#define __GENX_DEFINES_H__
+
+#define CMD(PIPELINE,OP,SUB_OP) ((3 << 29) |          \
+                                ((PIPELINE) << 27) |  \
+                                ((OP) << 24) |        \
+                                ((SUB_OP) << 16))
+
+#define CMD_URB_FENCE                           CMD(0, 0, 0)
+#define CMD_CS_URB_STATE                        CMD(0, 0, 1)
+#define CMD_CONSTANT_BUFFER                     CMD(0, 0, 2)
+#define CMD_STATE_PREFETCH                      CMD(0, 0, 3)
+#define CMD_MEDIA_GATEWAY_STATE                 CMD(2, 0, 3)
+#define CMD_MEDIA_STATE_FLUSH                   CMD(2, 0, 4)
+#define CMD_GPGPU_WALKER                        CMD(2, 1, 5)
+#define CMD_PIPE_CONTROL                        CMD(3, 2, 0)
+
+#define CMD_LOAD_REGISTER_IMM                   (0x22 << 23)
+
+#define CMD_STATE_BASE_ADDRESS                  CMD(0, 1, 1)
+#define CMD_STATE_SIP                           CMD(0, 1, 2)
+#define CMD_PIPELINE_SELECT                     CMD(1, 1, 4)
+#define CMD_SAMPLER_PALETTE_LOAD                CMD(3, 1, 2)
+
+#define CMD_MEDIA_STATE_POINTERS                CMD(2, 0, 0)
+#define CMD_MEDIA                               CMD(2, 1, 0)
+#define CMD_MEDIA_EX                            CMD(2, 1, 1)
+
+#define CMD_PIPELINED_POINTERS                  CMD(3, 0, 0)
+#define CMD_BINDING_TABLE_POINTERS              CMD(3, 0, 1)
+#define CMD_VERTEX_BUFFERS                      CMD(3, 0, 8)
+#define CMD_VERTEX_ELEMENTS                     CMD(3, 0, 9)
+#define CMD_DRAWING_RECTANGLE                   CMD(3, 1, 0)
+#define CMD_CONSTANT_COLOR                      CMD(3, 1, 1)
+#define CMD_3DPRIMITIVE                         CMD(3, 3, 0)
+
+#define BASE_ADDRESS_MODIFY             (1 << 0)
+
+#define PIPELINE_SELECT_3D              0
+#define PIPELINE_SELECT_MEDIA           1
+#define PIPELINE_SELECT_GPGPU           2
+#define PIPELINE_SELECT_MASK            (3 << 8)
+
+#define UF0_CS_REALLOC                  (1 << 13)
+#define UF0_VFE_REALLOC                 (1 << 12)
+#define UF0_SF_REALLOC                  (1 << 11)
+#define UF0_CLIP_REALLOC                (1 << 10)
+#define UF0_GS_REALLOC                  (1 << 9)
+#define UF0_VS_REALLOC                  (1 << 8)
+#define UF1_CLIP_FENCE_SHIFT            20
+#define UF1_GS_FENCE_SHIFT              10
+#define UF1_VS_FENCE_SHIFT              0
+#define UF2_CS_FENCE_SHIFT              20
+#define UF2_VFE_FENCE_SHIFT             10
+#define UF2_SF_FENCE_SHIFT              0
+
+#define FLOATING_POINT_IEEE_754        0
+#define FLOATING_POINT_NON_IEEE_754    1
+
+#define I965_SURFACE_1D      0
+#define I965_SURFACE_2D      1
+#define I965_SURFACE_3D      2
+#define I965_SURFACE_CUBE    3
+#define I965_SURFACE_BUFFER  4
+#define I965_SURFACE_NULL    7
+
+#define I965_SURFACEFORMAT_R32G32B32A32_FLOAT             0x000 
+#define I965_SURFACEFORMAT_R32G32B32A32_SINT              0x001 
+#define I965_SURFACEFORMAT_R32G32B32A32_UINT              0x002 
+#define I965_SURFACEFORMAT_R32G32B32A32_UNORM             0x003 
+#define I965_SURFACEFORMAT_R32G32B32A32_SNORM             0x004 
+#define I965_SURFACEFORMAT_R64G64_FLOAT                   0x005 
+#define I965_SURFACEFORMAT_R32G32B32X32_FLOAT             0x006 
+#define I965_SURFACEFORMAT_R32G32B32A32_SSCALED           0x007
+#define I965_SURFACEFORMAT_R32G32B32A32_USCALED           0x008
+#define I965_SURFACEFORMAT_R32G32B32_FLOAT                0x040 
+#define I965_SURFACEFORMAT_R32G32B32_SINT                 0x041 
+#define I965_SURFACEFORMAT_R32G32B32_UINT                 0x042 
+#define I965_SURFACEFORMAT_R32G32B32_UNORM                0x043 
+#define I965_SURFACEFORMAT_R32G32B32_SNORM                0x044 
+#define I965_SURFACEFORMAT_R32G32B32_SSCALED              0x045 
+#define I965_SURFACEFORMAT_R32G32B32_USCALED              0x046 
+#define I965_SURFACEFORMAT_R16G16B16A16_UNORM             0x080 
+#define I965_SURFACEFORMAT_R16G16B16A16_SNORM             0x081 
+#define I965_SURFACEFORMAT_R16G16B16A16_SINT              0x082 
+#define I965_SURFACEFORMAT_R16G16B16A16_UINT              0x083 
+#define I965_SURFACEFORMAT_R16G16B16A16_FLOAT             0x084 
+#define I965_SURFACEFORMAT_R32G32_FLOAT                   0x085 
+#define I965_SURFACEFORMAT_R32G32_SINT                    0x086 
+#define I965_SURFACEFORMAT_R32G32_UINT                    0x087 
+#define I965_SURFACEFORMAT_R32_FLOAT_X8X24_TYPELESS       0x088 
+#define I965_SURFACEFORMAT_X32_TYPELESS_G8X24_UINT        0x089 
+#define I965_SURFACEFORMAT_L32A32_FLOAT                   0x08A 
+#define I965_SURFACEFORMAT_R32G32_UNORM                   0x08B 
+#define I965_SURFACEFORMAT_R32G32_SNORM                   0x08C 
+#define I965_SURFACEFORMAT_R64_FLOAT                      0x08D 
+#define I965_SURFACEFORMAT_R16G16B16X16_UNORM             0x08E 
+#define I965_SURFACEFORMAT_R16G16B16X16_FLOAT             0x08F 
+#define I965_SURFACEFORMAT_A32X32_FLOAT                   0x090 
+#define I965_SURFACEFORMAT_L32X32_FLOAT                   0x091 
+#define I965_SURFACEFORMAT_I32X32_FLOAT                   0x092 
+#define I965_SURFACEFORMAT_R16G16B16A16_SSCALED           0x093
+#define I965_SURFACEFORMAT_R16G16B16A16_USCALED           0x094
+#define I965_SURFACEFORMAT_R32G32_SSCALED                 0x095
+#define I965_SURFACEFORMAT_R32G32_USCALED                 0x096
+#define I965_SURFACEFORMAT_B8G8R8A8_UNORM                 0x0C0 
+#define I965_SURFACEFORMAT_B8G8R8A8_UNORM_SRGB            0x0C1 
+#define I965_SURFACEFORMAT_R10G10B10A2_UNORM              0x0C2 
+#define I965_SURFACEFORMAT_R10G10B10A2_UNORM_SRGB         0x0C3 
+#define I965_SURFACEFORMAT_R10G10B10A2_UINT               0x0C4 
+#define I965_SURFACEFORMAT_R10G10B10_SNORM_A2_UNORM       0x0C5 
+#define I965_SURFACEFORMAT_R8G8B8A8_UNORM                 0x0C7 
+#define I965_SURFACEFORMAT_R8G8B8A8_UNORM_SRGB            0x0C8 
+#define I965_SURFACEFORMAT_R8G8B8A8_SNORM                 0x0C9 
+#define I965_SURFACEFORMAT_R8G8B8A8_SINT                  0x0CA 
+#define I965_SURFACEFORMAT_R8G8B8A8_UINT                  0x0CB 
+#define I965_SURFACEFORMAT_R16G16_UNORM                   0x0CC 
+#define I965_SURFACEFORMAT_R16G16_SNORM                   0x0CD 
+#define I965_SURFACEFORMAT_R16G16_SINT                    0x0CE 
+#define I965_SURFACEFORMAT_R16G16_UINT                    0x0CF 
+#define I965_SURFACEFORMAT_R16G16_FLOAT                   0x0D0 
+#define I965_SURFACEFORMAT_B10G10R10A2_UNORM              0x0D1 
+#define I965_SURFACEFORMAT_B10G10R10A2_UNORM_SRGB         0x0D2 
+#define I965_SURFACEFORMAT_R11G11B10_FLOAT                0x0D3 
+#define I965_SURFACEFORMAT_R32_SINT                       0x0D6 
+#define I965_SURFACEFORMAT_R32_UINT                       0x0D7 
+#define I965_SURFACEFORMAT_R32_FLOAT                      0x0D8 
+#define I965_SURFACEFORMAT_R24_UNORM_X8_TYPELESS          0x0D9 
+#define I965_SURFACEFORMAT_X24_TYPELESS_G8_UINT           0x0DA 
+#define I965_SURFACEFORMAT_L16A16_UNORM                   0x0DF 
+#define I965_SURFACEFORMAT_I24X8_UNORM                    0x0E0 
+#define I965_SURFACEFORMAT_L24X8_UNORM                    0x0E1 
+#define I965_SURFACEFORMAT_A24X8_UNORM                    0x0E2 
+#define I965_SURFACEFORMAT_I32_FLOAT                      0x0E3 
+#define I965_SURFACEFORMAT_L32_FLOAT                      0x0E4 
+#define I965_SURFACEFORMAT_A32_FLOAT                      0x0E5 
+#define I965_SURFACEFORMAT_B8G8R8X8_UNORM                 0x0E9 
+#define I965_SURFACEFORMAT_B8G8R8X8_UNORM_SRGB            0x0EA 
+#define I965_SURFACEFORMAT_R8G8B8X8_UNORM                 0x0EB 
+#define I965_SURFACEFORMAT_R8G8B8X8_UNORM_SRGB            0x0EC 
+#define I965_SURFACEFORMAT_R9G9B9E5_SHAREDEXP             0x0ED 
+#define I965_SURFACEFORMAT_B10G10R10X2_UNORM              0x0EE 
+#define I965_SURFACEFORMAT_L16A16_FLOAT                   0x0F0 
+#define I965_SURFACEFORMAT_R32_UNORM                      0x0F1 
+#define I965_SURFACEFORMAT_R32_SNORM                      0x0F2 
+#define I965_SURFACEFORMAT_R10G10B10X2_USCALED            0x0F3
+#define I965_SURFACEFORMAT_R8G8B8A8_SSCALED               0x0F4
+#define I965_SURFACEFORMAT_R8G8B8A8_USCALED               0x0F5
+#define I965_SURFACEFORMAT_R16G16_SSCALED                 0x0F6
+#define I965_SURFACEFORMAT_R16G16_USCALED                 0x0F7
+#define I965_SURFACEFORMAT_R32_SSCALED                    0x0F8
+#define I965_SURFACEFORMAT_R32_USCALED                    0x0F9
+#define I965_SURFACEFORMAT_B5G6R5_UNORM                   0x100 
+#define I965_SURFACEFORMAT_B5G6R5_UNORM_SRGB              0x101 
+#define I965_SURFACEFORMAT_B5G5R5A1_UNORM                 0x102 
+#define I965_SURFACEFORMAT_B5G5R5A1_UNORM_SRGB            0x103 
+#define I965_SURFACEFORMAT_B4G4R4A4_UNORM                 0x104 
+#define I965_SURFACEFORMAT_B4G4R4A4_UNORM_SRGB            0x105 
+#define I965_SURFACEFORMAT_R8G8_UNORM                     0x106 
+#define I965_SURFACEFORMAT_R8G8_SNORM                     0x107 
+#define I965_SURFACEFORMAT_R8G8_SINT                      0x108 
+#define I965_SURFACEFORMAT_R8G8_UINT                      0x109 
+#define I965_SURFACEFORMAT_R16_UNORM                      0x10A 
+#define I965_SURFACEFORMAT_R16_SNORM                      0x10B 
+#define I965_SURFACEFORMAT_R16_SINT                       0x10C 
+#define I965_SURFACEFORMAT_R16_UINT                       0x10D 
+#define I965_SURFACEFORMAT_R16_FLOAT                      0x10E 
+#define I965_SURFACEFORMAT_I16_UNORM                      0x111 
+#define I965_SURFACEFORMAT_L16_UNORM                      0x112 
+#define I965_SURFACEFORMAT_A16_UNORM                      0x113 
+#define I965_SURFACEFORMAT_L8A8_UNORM                     0x114 
+#define I965_SURFACEFORMAT_I16_FLOAT                      0x115
+#define I965_SURFACEFORMAT_L16_FLOAT                      0x116
+#define I965_SURFACEFORMAT_A16_FLOAT                      0x117 
+#define I965_SURFACEFORMAT_R5G5_SNORM_B6_UNORM            0x119 
+#define I965_SURFACEFORMAT_B5G5R5X1_UNORM                 0x11A 
+#define I965_SURFACEFORMAT_B5G5R5X1_UNORM_SRGB            0x11B
+#define I965_SURFACEFORMAT_R8G8_SSCALED                   0x11C
+#define I965_SURFACEFORMAT_R8G8_USCALED                   0x11D
+#define I965_SURFACEFORMAT_R16_SSCALED                    0x11E
+#define I965_SURFACEFORMAT_R16_USCALED                    0x11F
+#define I965_SURFACEFORMAT_R8_UNORM                       0x140 
+#define I965_SURFACEFORMAT_R8_SNORM                       0x141 
+#define I965_SURFACEFORMAT_R8_SINT                        0x142 
+#define I965_SURFACEFORMAT_R8_UINT                        0x143 
+#define I965_SURFACEFORMAT_A8_UNORM                       0x144 
+#define I965_SURFACEFORMAT_I8_UNORM                       0x145 
+#define I965_SURFACEFORMAT_L8_UNORM                       0x146 
+#define I965_SURFACEFORMAT_P4A4_UNORM                     0x147 
+#define I965_SURFACEFORMAT_A4P4_UNORM                     0x148
+#define I965_SURFACEFORMAT_R8_SSCALED                     0x149
+#define I965_SURFACEFORMAT_R8_USCALED                     0x14A
+#define I965_SURFACEFORMAT_R1_UINT                        0x181 
+#define I965_SURFACEFORMAT_YCRCB_NORMAL                   0x182 
+#define I965_SURFACEFORMAT_YCRCB_SWAPUVY                  0x183 
+#define I965_SURFACEFORMAT_BC1_UNORM                      0x186 
+#define I965_SURFACEFORMAT_BC2_UNORM                      0x187 
+#define I965_SURFACEFORMAT_BC3_UNORM                      0x188 
+#define I965_SURFACEFORMAT_BC4_UNORM                      0x189 
+#define I965_SURFACEFORMAT_BC5_UNORM                      0x18A 
+#define I965_SURFACEFORMAT_BC1_UNORM_SRGB                 0x18B 
+#define I965_SURFACEFORMAT_BC2_UNORM_SRGB                 0x18C 
+#define I965_SURFACEFORMAT_BC3_UNORM_SRGB                 0x18D 
+#define I965_SURFACEFORMAT_MONO8                          0x18E 
+#define I965_SURFACEFORMAT_YCRCB_SWAPUV                   0x18F 
+#define I965_SURFACEFORMAT_YCRCB_SWAPY                    0x190 
+#define I965_SURFACEFORMAT_DXT1_RGB                       0x191 
+#define I965_SURFACEFORMAT_FXT1                           0x192 
+#define I965_SURFACEFORMAT_R8G8B8_UNORM                   0x193 
+#define I965_SURFACEFORMAT_R8G8B8_SNORM                   0x194 
+#define I965_SURFACEFORMAT_R8G8B8_SSCALED                 0x195 
+#define I965_SURFACEFORMAT_R8G8B8_USCALED                 0x196 
+#define I965_SURFACEFORMAT_R64G64B64A64_FLOAT             0x197 
+#define I965_SURFACEFORMAT_R64G64B64_FLOAT                0x198 
+#define I965_SURFACEFORMAT_BC4_SNORM                      0x199 
+#define I965_SURFACEFORMAT_BC5_SNORM                      0x19A 
+#define I965_SURFACEFORMAT_R16G16B16_UNORM                0x19C 
+#define I965_SURFACEFORMAT_R16G16B16_SNORM                0x19D 
+#define I965_SURFACEFORMAT_R16G16B16_SSCALED              0x19E 
+#define I965_SURFACEFORMAT_R16G16B16_USCALED              0x19F
+#define I965_SURFACEFORMAT_RAW                            0x1FF
+
+#define I965_MAPFILTER_NEAREST        0x0 
+#define I965_MAPFILTER_LINEAR         0x1 
+#define I965_MAPFILTER_ANISOTROPIC    0x2
+
+#define I965_MIPFILTER_NONE        0
+#define I965_MIPFILTER_NEAREST     1
+#define I965_MIPFILTER_LINEAR      3
+
+#define I965_TEXCOORDMODE_WRAP            0
+#define I965_TEXCOORDMODE_MIRROR          1
+#define I965_TEXCOORDMODE_CLAMP           2
+#define I965_TEXCOORDMODE_CUBE            3
+#define I965_TEXCOORDMODE_CLAMP_BORDER    4
+#define I965_TEXCOORDMODE_MIRROR_ONCE     5
+
+#define I965_SURFACERETURNFORMAT_FLOAT32  0
+#define I965_SURFACERETURNFORMAT_S1       1
+
+#define I965_TILEWALK_XMAJOR                 0
+#define I965_TILEWALK_YMAJOR                 1
+
+#define GEN8_TILEMODE_LINEAR                 0
+#define GEN8_TILEMODE_WMAJOR                 1
+#define GEN8_TILEMODE_XMAJOR                 2
+#define GEN8_TILEMODE_YMAJOR                 3
+
+#define I965_SURCHAN_SELECT_ZERO             0
+#define I965_SURCHAN_SELECT_ONE              1
+#define I965_SURCHAN_SELECT_RED              4
+#define I965_SURCHAN_SELECT_GREEN            5
+#define I965_SURCHAN_SELECT_BLUE             6
+#define I965_SURCHAN_SELECT_ALPHA            7
+
+#define URB_SIZE(intel)         (IS_IGDNG(intel->device_id) ? 1024 : \
+                                 IS_G4X(intel->device_id) ? 384 : 256)
+// HSW
+#define HSW_SCRATCH1_OFFSET                      (0xB038)
+#define HSW_ROW_CHICKEN3_HDC_OFFSET              (0xE49C)
+
+// L3 cache stuff 
+#define GEN7_L3_SQC_REG1_ADDRESS_OFFSET          (0XB010)
+#define GEN7_L3_CNTL_REG2_ADDRESS_OFFSET         (0xB020)
+#define GEN7_L3_CNTL_REG3_ADDRESS_OFFSET         (0xB024)
+
+#define GEN8_L3_CNTL_REG_ADDRESS_OFFSET          (0x7034)
+
+// To issue pipe controls (reset L3 / SLM or stall)
+#define GEN7_PIPE_CONTROL_MEDIA 0x2
+#define GEN7_PIPE_CONTROL_3D 0x3
+#define GEN7_PIPE_CONTROL_INSTRUCTION_GFX 0x3
+#define GEN7_PIPE_CONTROL_OPCODE_3D_CONTROL 0x2
+#define GEN7_PIPE_CONTROL_SUBOPCODE_3D_CONTROL 0x0
+#define GEN7_PIPE_CONTROL_WRITE_TIMESTAMP        (3 << 14)
+#define GEN7_PIPE_CONTROL_GLOBAL_GTT_WRITE       (1 << 2)
+
+
+#define GEN_MAPFILTER_NEAREST        0x0
+#define GEN_MAPFILTER_LINEAR         0x1
+#define GEN_MAPFILTER_ANISOTROPIC    0x2
+
+#define GEN_MIPFILTER_NONE        0
+#define GEN_MIPFILTER_NEAREST     1
+#define GEN_MIPFILTER_LINEAR      3
+
+#define GEN_ADDRESS_ROUNDING_ENABLE_U_MAG      0x20
+#define GEN_ADDRESS_ROUNDING_ENABLE_U_MIN      0x10
+#define GEN_ADDRESS_ROUNDING_ENABLE_V_MAG      0x08
+#define GEN_ADDRESS_ROUNDING_ENABLE_V_MIN      0x04
+#define GEN_ADDRESS_ROUNDING_ENABLE_R_MAG      0x02
+#define GEN_ADDRESS_ROUNDING_ENABLE_R_MIN      0x01
+
+#define GEN_TEXCOORDMODE_WRAP            0
+#define GEN_TEXCOORDMODE_MIRROR          1
+#define GEN_TEXCOORDMODE_CLAMP           2
+#define GEN_TEXCOORDMODE_CUBE            3
+#define GEN_TEXCOORDMODE_CLAMP_BORDER    4
+#define GEN_TEXCOORDMODE_MIRROR_ONCE     5
+
+#endif /* __GENX_DEFINES_H__ */
+
diff --git a/src/intel/intel_batchbuffer.c b/src/intel/intel_batchbuffer.c
deleted file mode 100644
index 96453d4..0000000
--- a/src/intel/intel_batchbuffer.c
+++ /dev/null
@@ -1,189 +0,0 @@
-/* 
- * Copyright © 2012 Intel Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- * Author: Benjamin Segovia <benjamin.sego...@intel.com>
- */
-
-/**************************************************************************
- * 
- * Copyright 2006 Tungsten Graphics, Inc., Cedar Park, Texas.
- * All Rights Reserved.
- * 
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- * 
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- * 
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- * 
- **************************************************************************/
-
-#include "intel/intel_batchbuffer.h"
-#include "intel/intel_driver.h"
-#include "cl_alloc.h"
-#include "cl_utils.h"
-
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-#include <errno.h>
-
-LOCAL int
-intel_batchbuffer_reset(intel_batchbuffer_t *batch, size_t sz)
-{
-  if (batch->buffer != NULL) {
-    dri_bo_unreference(batch->buffer);
-    batch->buffer = NULL;
-    batch->last_bo = NULL;
-  }
-
-  batch->buffer = dri_bo_alloc(batch->intel->bufmgr,
-                               "batch buffer",
-                               sz,
-                               64);
-  if (!batch->buffer || (dri_bo_map(batch->buffer, 1) != 0)) {
-    if (batch->buffer)
-      dri_bo_unreference(batch->buffer);
-    batch->buffer = NULL;
-    return -1;
-  }
-  batch->map = (uint8_t*) batch->buffer->virtual;
-  batch->size = sz;
-  batch->ptr = batch->map;
-  batch->atomic = 0;
-  batch->last_bo = batch->buffer;
-  batch->enable_slm = 0;
-  return 0;
-}
-
-LOCAL void
-intel_batchbuffer_init(intel_batchbuffer_t *batch, intel_driver_t *intel)
-{
-  assert(intel);
-  batch->intel = intel;
-}
-
-LOCAL void
-intel_batchbuffer_terminate(intel_batchbuffer_t *batch)
-{
-  assert(batch->buffer);
-
-  if (batch->map) {
-    dri_bo_unmap(batch->buffer);
-    batch->map = NULL;
-  }
-
-  dri_bo_unreference(batch->buffer);
-  batch->buffer = NULL;
-}
-
-LOCAL int
-intel_batchbuffer_flush(intel_batchbuffer_t *batch)
-{
-  uint32_t used = batch->ptr - batch->map;
-  int is_locked = batch->intel->locked;
-  int err = 0;
-
-  if (used == 0)
-    return 0;
-
-  if ((used & 4) == 0) {
-    *(uint32_t*) batch->ptr = 0;
-    batch->ptr += 4;
-  }
-
-  *(uint32_t*)batch->ptr = MI_BATCH_BUFFER_END;
-  batch->ptr += 4;
-  used = batch->ptr - batch->map;
-  dri_bo_unmap(batch->buffer);
-  batch->ptr = batch->map = NULL;
-
-  if (!is_locked)
-    intel_driver_lock_hardware(batch->intel);
-
-  int flag = I915_EXEC_RENDER;
-  if(batch->enable_slm) {
-    /* use the hard code here temp, must change to
-     * I915_EXEC_ENABLE_SLM when it drm accept the patch */
-    flag |= (1<<13);
-  }
-  if (drm_intel_gem_bo_context_exec(batch->buffer, batch->intel->ctx, used, 
flag) < 0) {
-    fprintf(stderr, "drm_intel_gem_bo_context_exec() failed: %s\n", 
strerror(errno));
-    err = -1;
-  }
-
-  if (!is_locked)
-    intel_driver_unlock_hardware(batch->intel);
-
-  return err;
-}
-
-LOCAL void 
-intel_batchbuffer_emit_reloc(intel_batchbuffer_t *batch,
-                             dri_bo *bo, 
-                             uint32_t read_domains,
-                             uint32_t write_domains, 
-                             uint32_t delta)
-{
-  assert(batch->ptr - batch->map < batch->size);
-  dri_bo_emit_reloc(batch->buffer,
-                    read_domains,
-                    write_domains,
-                    delta,
-                    batch->ptr - batch->map,
-                    bo);
-  intel_batchbuffer_emit_dword(batch, bo->offset + delta);
-}
-
-LOCAL intel_batchbuffer_t*
-intel_batchbuffer_new(intel_driver_t *intel)
-{
-  intel_batchbuffer_t *batch = NULL;
-  assert(intel);
-  TRY_ALLOC_NO_ERR (batch, CL_CALLOC(1, sizeof(intel_batchbuffer_t)));
-  intel_batchbuffer_init(batch, intel);
-
-exit:
-  return batch;
-error:
-  intel_batchbuffer_delete(batch);
-  batch = NULL;
-  goto exit;
-}
-
-LOCAL void
-intel_batchbuffer_delete(intel_batchbuffer_t *batch)
-{
-  if (batch == NULL)
-    return;
-  if(batch->buffer)
-    intel_batchbuffer_terminate(batch);
-
-  CL_FREE(batch);
-}
diff --git a/src/intel/intel_batchbuffer.h b/src/intel/intel_batchbuffer.h
deleted file mode 100644
index 0544e9a..0000000
--- a/src/intel/intel_batchbuffer.h
+++ /dev/null
@@ -1,151 +0,0 @@
-/* 
- * Copyright © 2012 Intel Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- * Author: Benjamin Segovia <benjamin.sego...@intel.com>
- */
-
-/**************************************************************************
- * 
- * Copyright 2006 Tungsten Graphics, Inc., Cedar Park, Texas.
- * All Rights Reserved.
- * 
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- * 
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- * 
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- * 
- **************************************************************************/
-#ifndef _INTEL_BATCHBUFFER_H_
-#define _INTEL_BATCHBUFFER_H_
-
-#include "intel_defines.h"
-#include "cl_utils.h"
-
-#include <xf86drm.h>
-#include <drm.h>
-#include <i915_drm.h>
-#include <intel_bufmgr.h>
-#include <stdint.h>
-#include <memory.h>
-#include <assert.h>
-
-#define BEGIN_BATCH(b, n) do {                                            \
-  intel_batchbuffer_require_space(b, (n) * 4);                            \
-} while (0)
-
-#define OUT_BATCH(b, d) do {                                              \
-  intel_batchbuffer_emit_dword(b, d);                                     \
-} while (0)
-
-#define OUT_RELOC(b, bo, read_domains, write_domain, delta) do {          \
-  assert((delta) >= 0);                                                   \
-  intel_batchbuffer_emit_reloc(b, bo, read_domains, write_domain, delta); \
-} while (0)
-
-#define ADVANCE_BATCH(b) do { } while (0)
-
-struct intel_driver;
-
-typedef struct intel_batchbuffer
-{
-  struct intel_driver *intel;
-  drm_intel_bo *buffer;
-  /** Last bo submitted to the hardware.  used for clFinish. */
-  drm_intel_bo *last_bo;
-  uint32_t size;
-  uint8_t *map;
-  uint8_t *ptr;
-  /** HSW: can't set LRI in batch buffer, set I915_EXEC_ENABLE_SLM
-   *  flag when call exec. */
-  uint8_t enable_slm;
-  int atomic;
-} intel_batchbuffer_t;
-
-extern intel_batchbuffer_t* intel_batchbuffer_new(struct intel_driver*);
-extern void intel_batchbuffer_delete(intel_batchbuffer_t*);
-extern void intel_batchbuffer_emit_reloc(intel_batchbuffer_t*,
-                                         drm_intel_bo*,
-                                         uint32_t read_domains,
-                                         uint32_t write_domains,
-                                         uint32_t delta);
-extern void intel_batchbuffer_init(intel_batchbuffer_t*, struct intel_driver*);
-extern void intel_batchbuffer_terminate(intel_batchbuffer_t*);
-extern int intel_batchbuffer_flush(intel_batchbuffer_t*);
-extern int intel_batchbuffer_reset(intel_batchbuffer_t*, size_t sz);
-
-static INLINE uint32_t
-intel_batchbuffer_space(const intel_batchbuffer_t *batch)
-{
-  assert(batch->ptr);
-  return batch->size - (batch->ptr - batch->map);
-}
-
-static INLINE void
-intel_batchbuffer_emit_dword(intel_batchbuffer_t *batch, uint32_t x)
-{
-  assert(intel_batchbuffer_space(batch) >= 4);
-  *(uint32_t*)batch->ptr = x;
-  batch->ptr += 4;
-}
-
-static INLINE void
-intel_batchbuffer_require_space(intel_batchbuffer_t *batch, uint32_t size) {
-  assert(size < batch->size - 8);
-  if (intel_batchbuffer_space(batch) < size)
-    intel_batchbuffer_space(batch);
-}
-
-static INLINE uint8_t*
-intel_batchbuffer_alloc_space(intel_batchbuffer_t *batch, uint32_t size)
-{
-  assert(intel_batchbuffer_space(batch) >= size);
-  uint8_t *space_ptr = batch->ptr;
-  batch->ptr += size;
-  return space_ptr;
-}
-
-static INLINE void
-intel_batchbuffer_start_atomic(intel_batchbuffer_t *batch, uint32_t size)
-{
-  assert(!batch->atomic);
-  intel_batchbuffer_require_space(batch, size);
-  batch->atomic = 1;
-}
-
-static INLINE void
-intel_batchbuffer_end_atomic(intel_batchbuffer_t *batch)
-{
-  assert(batch->atomic);
-  batch->atomic = 0;
-}
-
-#endif /* _INTEL_BATCHBUFFER_H_ */
-
diff --git a/src/intel/intel_defines.h b/src/intel/intel_defines.h
deleted file mode 100644
index 6ada30c..0000000
--- a/src/intel/intel_defines.h
+++ /dev/null
@@ -1,351 +0,0 @@
-/* 
- * Copyright © 2012 Intel Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- * Author: Benjamin Segovia <benjamin.sego...@intel.com>
- */
-
-/*
- Copyright (C) Intel Corp.  2006.  All Rights Reserved.
- Intel funded Tungsten Graphics (http://www.tungstengraphics.com) to
- develop this 3D driver.
- 
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
- 
- The above copyright notice and this permission notice (including the
- next paragraph) shall be included in all copies or substantial
- portions of the Software.
- 
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- 
- **********************************************************************/
- /*
-  * Authors:
-  *   Keith Whitwell <ke...@tungstengraphics.com>
-  */
-#ifndef __GENX_DEFINES_H__
-#define __GENX_DEFINES_H__
-
-#define CMD(PIPELINE,OP,SUB_OP) ((3 << 29) |          \
-                                ((PIPELINE) << 27) |  \
-                                ((OP) << 24) |        \
-                                ((SUB_OP) << 16))
-
-#define CMD_URB_FENCE                           CMD(0, 0, 0)
-#define CMD_CS_URB_STATE                        CMD(0, 0, 1)
-#define CMD_CONSTANT_BUFFER                     CMD(0, 0, 2)
-#define CMD_STATE_PREFETCH                      CMD(0, 0, 3)
-#define CMD_MEDIA_GATEWAY_STATE                 CMD(2, 0, 3)
-#define CMD_MEDIA_STATE_FLUSH                   CMD(2, 0, 4)
-#define CMD_GPGPU_WALKER                        CMD(2, 1, 5)
-#define CMD_PIPE_CONTROL                        CMD(3, 2, 0)
-
-#define CMD_LOAD_REGISTER_IMM                   (0x22 << 23)
-
-#define CMD_STATE_BASE_ADDRESS                  CMD(0, 1, 1)
-#define CMD_STATE_SIP                           CMD(0, 1, 2)
-#define CMD_PIPELINE_SELECT                     CMD(1, 1, 4)
-#define CMD_SAMPLER_PALETTE_LOAD                CMD(3, 1, 2)
-
-#define CMD_MEDIA_STATE_POINTERS                CMD(2, 0, 0)
-#define CMD_MEDIA                               CMD(2, 1, 0)
-#define CMD_MEDIA_EX                            CMD(2, 1, 1)
-
-#define CMD_PIPELINED_POINTERS                  CMD(3, 0, 0)
-#define CMD_BINDING_TABLE_POINTERS              CMD(3, 0, 1)
-#define CMD_VERTEX_BUFFERS                      CMD(3, 0, 8)
-#define CMD_VERTEX_ELEMENTS                     CMD(3, 0, 9)
-#define CMD_DRAWING_RECTANGLE                   CMD(3, 1, 0)
-#define CMD_CONSTANT_COLOR                      CMD(3, 1, 1)
-#define CMD_3DPRIMITIVE                         CMD(3, 3, 0)
-
-#define BASE_ADDRESS_MODIFY             (1 << 0)
-
-#define PIPELINE_SELECT_3D              0
-#define PIPELINE_SELECT_MEDIA           1
-#define PIPELINE_SELECT_GPGPU           2
-#define PIPELINE_SELECT_MASK            (3 << 8)
-
-#define UF0_CS_REALLOC                  (1 << 13)
-#define UF0_VFE_REALLOC                 (1 << 12)
-#define UF0_SF_REALLOC                  (1 << 11)
-#define UF0_CLIP_REALLOC                (1 << 10)
-#define UF0_GS_REALLOC                  (1 << 9)
-#define UF0_VS_REALLOC                  (1 << 8)
-#define UF1_CLIP_FENCE_SHIFT            20
-#define UF1_GS_FENCE_SHIFT              10
-#define UF1_VS_FENCE_SHIFT              0
-#define UF2_CS_FENCE_SHIFT              20
-#define UF2_VFE_FENCE_SHIFT             10
-#define UF2_SF_FENCE_SHIFT              0
-
-#define FLOATING_POINT_IEEE_754        0
-#define FLOATING_POINT_NON_IEEE_754    1
-
-#define I965_SURFACE_1D      0
-#define I965_SURFACE_2D      1
-#define I965_SURFACE_3D      2
-#define I965_SURFACE_CUBE    3
-#define I965_SURFACE_BUFFER  4
-#define I965_SURFACE_NULL    7
-
-#define I965_SURFACEFORMAT_R32G32B32A32_FLOAT             0x000 
-#define I965_SURFACEFORMAT_R32G32B32A32_SINT              0x001 
-#define I965_SURFACEFORMAT_R32G32B32A32_UINT              0x002 
-#define I965_SURFACEFORMAT_R32G32B32A32_UNORM             0x003 
-#define I965_SURFACEFORMAT_R32G32B32A32_SNORM             0x004 
-#define I965_SURFACEFORMAT_R64G64_FLOAT                   0x005 
-#define I965_SURFACEFORMAT_R32G32B32X32_FLOAT             0x006 
-#define I965_SURFACEFORMAT_R32G32B32A32_SSCALED           0x007
-#define I965_SURFACEFORMAT_R32G32B32A32_USCALED           0x008
-#define I965_SURFACEFORMAT_R32G32B32_FLOAT                0x040 
-#define I965_SURFACEFORMAT_R32G32B32_SINT                 0x041 
-#define I965_SURFACEFORMAT_R32G32B32_UINT                 0x042 
-#define I965_SURFACEFORMAT_R32G32B32_UNORM                0x043 
-#define I965_SURFACEFORMAT_R32G32B32_SNORM                0x044 
-#define I965_SURFACEFORMAT_R32G32B32_SSCALED              0x045 
-#define I965_SURFACEFORMAT_R32G32B32_USCALED              0x046 
-#define I965_SURFACEFORMAT_R16G16B16A16_UNORM             0x080 
-#define I965_SURFACEFORMAT_R16G16B16A16_SNORM             0x081 
-#define I965_SURFACEFORMAT_R16G16B16A16_SINT              0x082 
-#define I965_SURFACEFORMAT_R16G16B16A16_UINT              0x083 
-#define I965_SURFACEFORMAT_R16G16B16A16_FLOAT             0x084 
-#define I965_SURFACEFORMAT_R32G32_FLOAT                   0x085 
-#define I965_SURFACEFORMAT_R32G32_SINT                    0x086 
-#define I965_SURFACEFORMAT_R32G32_UINT                    0x087 
-#define I965_SURFACEFORMAT_R32_FLOAT_X8X24_TYPELESS       0x088 
-#define I965_SURFACEFORMAT_X32_TYPELESS_G8X24_UINT        0x089 
-#define I965_SURFACEFORMAT_L32A32_FLOAT                   0x08A 
-#define I965_SURFACEFORMAT_R32G32_UNORM                   0x08B 
-#define I965_SURFACEFORMAT_R32G32_SNORM                   0x08C 
-#define I965_SURFACEFORMAT_R64_FLOAT                      0x08D 
-#define I965_SURFACEFORMAT_R16G16B16X16_UNORM             0x08E 
-#define I965_SURFACEFORMAT_R16G16B16X16_FLOAT             0x08F 
-#define I965_SURFACEFORMAT_A32X32_FLOAT                   0x090 
-#define I965_SURFACEFORMAT_L32X32_FLOAT                   0x091 
-#define I965_SURFACEFORMAT_I32X32_FLOAT                   0x092 
-#define I965_SURFACEFORMAT_R16G16B16A16_SSCALED           0x093
-#define I965_SURFACEFORMAT_R16G16B16A16_USCALED           0x094
-#define I965_SURFACEFORMAT_R32G32_SSCALED                 0x095
-#define I965_SURFACEFORMAT_R32G32_USCALED                 0x096
-#define I965_SURFACEFORMAT_B8G8R8A8_UNORM                 0x0C0 
-#define I965_SURFACEFORMAT_B8G8R8A8_UNORM_SRGB            0x0C1 
-#define I965_SURFACEFORMAT_R10G10B10A2_UNORM              0x0C2 
-#define I965_SURFACEFORMAT_R10G10B10A2_UNORM_SRGB         0x0C3 
-#define I965_SURFACEFORMAT_R10G10B10A2_UINT               0x0C4 
-#define I965_SURFACEFORMAT_R10G10B10_SNORM_A2_UNORM       0x0C5 
-#define I965_SURFACEFORMAT_R8G8B8A8_UNORM                 0x0C7 
-#define I965_SURFACEFORMAT_R8G8B8A8_UNORM_SRGB            0x0C8 
-#define I965_SURFACEFORMAT_R8G8B8A8_SNORM                 0x0C9 
-#define I965_SURFACEFORMAT_R8G8B8A8_SINT                  0x0CA 
-#define I965_SURFACEFORMAT_R8G8B8A8_UINT                  0x0CB 
-#define I965_SURFACEFORMAT_R16G16_UNORM                   0x0CC 
-#define I965_SURFACEFORMAT_R16G16_SNORM                   0x0CD 
-#define I965_SURFACEFORMAT_R16G16_SINT                    0x0CE 
-#define I965_SURFACEFORMAT_R16G16_UINT                    0x0CF 
-#define I965_SURFACEFORMAT_R16G16_FLOAT                   0x0D0 
-#define I965_SURFACEFORMAT_B10G10R10A2_UNORM              0x0D1 
-#define I965_SURFACEFORMAT_B10G10R10A2_UNORM_SRGB         0x0D2 
-#define I965_SURFACEFORMAT_R11G11B10_FLOAT                0x0D3 
-#define I965_SURFACEFORMAT_R32_SINT                       0x0D6 
-#define I965_SURFACEFORMAT_R32_UINT                       0x0D7 
-#define I965_SURFACEFORMAT_R32_FLOAT                      0x0D8 
-#define I965_SURFACEFORMAT_R24_UNORM_X8_TYPELESS          0x0D9 
-#define I965_SURFACEFORMAT_X24_TYPELESS_G8_UINT           0x0DA 
-#define I965_SURFACEFORMAT_L16A16_UNORM                   0x0DF 
-#define I965_SURFACEFORMAT_I24X8_UNORM                    0x0E0 
-#define I965_SURFACEFORMAT_L24X8_UNORM                    0x0E1 
-#define I965_SURFACEFORMAT_A24X8_UNORM                    0x0E2 
-#define I965_SURFACEFORMAT_I32_FLOAT                      0x0E3 
-#define I965_SURFACEFORMAT_L32_FLOAT                      0x0E4 
-#define I965_SURFACEFORMAT_A32_FLOAT                      0x0E5 
-#define I965_SURFACEFORMAT_B8G8R8X8_UNORM                 0x0E9 
-#define I965_SURFACEFORMAT_B8G8R8X8_UNORM_SRGB            0x0EA 
-#define I965_SURFACEFORMAT_R8G8B8X8_UNORM                 0x0EB 
-#define I965_SURFACEFORMAT_R8G8B8X8_UNORM_SRGB            0x0EC 
-#define I965_SURFACEFORMAT_R9G9B9E5_SHAREDEXP             0x0ED 
-#define I965_SURFACEFORMAT_B10G10R10X2_UNORM              0x0EE 
-#define I965_SURFACEFORMAT_L16A16_FLOAT                   0x0F0 
-#define I965_SURFACEFORMAT_R32_UNORM                      0x0F1 
-#define I965_SURFACEFORMAT_R32_SNORM                      0x0F2 
-#define I965_SURFACEFORMAT_R10G10B10X2_USCALED            0x0F3
-#define I965_SURFACEFORMAT_R8G8B8A8_SSCALED               0x0F4
-#define I965_SURFACEFORMAT_R8G8B8A8_USCALED               0x0F5
-#define I965_SURFACEFORMAT_R16G16_SSCALED                 0x0F6
-#define I965_SURFACEFORMAT_R16G16_USCALED                 0x0F7
-#define I965_SURFACEFORMAT_R32_SSCALED                    0x0F8
-#define I965_SURFACEFORMAT_R32_USCALED                    0x0F9
-#define I965_SURFACEFORMAT_B5G6R5_UNORM                   0x100 
-#define I965_SURFACEFORMAT_B5G6R5_UNORM_SRGB              0x101 
-#define I965_SURFACEFORMAT_B5G5R5A1_UNORM                 0x102 
-#define I965_SURFACEFORMAT_B5G5R5A1_UNORM_SRGB            0x103 
-#define I965_SURFACEFORMAT_B4G4R4A4_UNORM                 0x104 
-#define I965_SURFACEFORMAT_B4G4R4A4_UNORM_SRGB            0x105 
-#define I965_SURFACEFORMAT_R8G8_UNORM                     0x106 
-#define I965_SURFACEFORMAT_R8G8_SNORM                     0x107 
-#define I965_SURFACEFORMAT_R8G8_SINT                      0x108 
-#define I965_SURFACEFORMAT_R8G8_UINT                      0x109 
-#define I965_SURFACEFORMAT_R16_UNORM                      0x10A 
-#define I965_SURFACEFORMAT_R16_SNORM                      0x10B 
-#define I965_SURFACEFORMAT_R16_SINT                       0x10C 
-#define I965_SURFACEFORMAT_R16_UINT                       0x10D 
-#define I965_SURFACEFORMAT_R16_FLOAT                      0x10E 
-#define I965_SURFACEFORMAT_I16_UNORM                      0x111 
-#define I965_SURFACEFORMAT_L16_UNORM                      0x112 
-#define I965_SURFACEFORMAT_A16_UNORM                      0x113 
-#define I965_SURFACEFORMAT_L8A8_UNORM                     0x114 
-#define I965_SURFACEFORMAT_I16_FLOAT                      0x115
-#define I965_SURFACEFORMAT_L16_FLOAT                      0x116
-#define I965_SURFACEFORMAT_A16_FLOAT                      0x117 
-#define I965_SURFACEFORMAT_R5G5_SNORM_B6_UNORM            0x119 
-#define I965_SURFACEFORMAT_B5G5R5X1_UNORM                 0x11A 
-#define I965_SURFACEFORMAT_B5G5R5X1_UNORM_SRGB            0x11B
-#define I965_SURFACEFORMAT_R8G8_SSCALED                   0x11C
-#define I965_SURFACEFORMAT_R8G8_USCALED                   0x11D
-#define I965_SURFACEFORMAT_R16_SSCALED                    0x11E
-#define I965_SURFACEFORMAT_R16_USCALED                    0x11F
-#define I965_SURFACEFORMAT_R8_UNORM                       0x140 
-#define I965_SURFACEFORMAT_R8_SNORM                       0x141 
-#define I965_SURFACEFORMAT_R8_SINT                        0x142 
-#define I965_SURFACEFORMAT_R8_UINT                        0x143 
-#define I965_SURFACEFORMAT_A8_UNORM                       0x144 
-#define I965_SURFACEFORMAT_I8_UNORM                       0x145 
-#define I965_SURFACEFORMAT_L8_UNORM                       0x146 
-#define I965_SURFACEFORMAT_P4A4_UNORM                     0x147 
-#define I965_SURFACEFORMAT_A4P4_UNORM                     0x148
-#define I965_SURFACEFORMAT_R8_SSCALED                     0x149
-#define I965_SURFACEFORMAT_R8_USCALED                     0x14A
-#define I965_SURFACEFORMAT_R1_UINT                        0x181 
-#define I965_SURFACEFORMAT_YCRCB_NORMAL                   0x182 
-#define I965_SURFACEFORMAT_YCRCB_SWAPUVY                  0x183 
-#define I965_SURFACEFORMAT_BC1_UNORM                      0x186 
-#define I965_SURFACEFORMAT_BC2_UNORM                      0x187 
-#define I965_SURFACEFORMAT_BC3_UNORM                      0x188 
-#define I965_SURFACEFORMAT_BC4_UNORM                      0x189 
-#define I965_SURFACEFORMAT_BC5_UNORM                      0x18A 
-#define I965_SURFACEFORMAT_BC1_UNORM_SRGB                 0x18B 
-#define I965_SURFACEFORMAT_BC2_UNORM_SRGB                 0x18C 
-#define I965_SURFACEFORMAT_BC3_UNORM_SRGB                 0x18D 
-#define I965_SURFACEFORMAT_MONO8                          0x18E 
-#define I965_SURFACEFORMAT_YCRCB_SWAPUV                   0x18F 
-#define I965_SURFACEFORMAT_YCRCB_SWAPY                    0x190 
-#define I965_SURFACEFORMAT_DXT1_RGB                       0x191 
-#define I965_SURFACEFORMAT_FXT1                           0x192 
-#define I965_SURFACEFORMAT_R8G8B8_UNORM                   0x193 
-#define I965_SURFACEFORMAT_R8G8B8_SNORM                   0x194 
-#define I965_SURFACEFORMAT_R8G8B8_SSCALED                 0x195 
-#define I965_SURFACEFORMAT_R8G8B8_USCALED                 0x196 
-#define I965_SURFACEFORMAT_R64G64B64A64_FLOAT             0x197 
-#define I965_SURFACEFORMAT_R64G64B64_FLOAT                0x198 
-#define I965_SURFACEFORMAT_BC4_SNORM                      0x199 
-#define I965_SURFACEFORMAT_BC5_SNORM                      0x19A 
-#define I965_SURFACEFORMAT_R16G16B16_UNORM                0x19C 
-#define I965_SURFACEFORMAT_R16G16B16_SNORM                0x19D 
-#define I965_SURFACEFORMAT_R16G16B16_SSCALED              0x19E 
-#define I965_SURFACEFORMAT_R16G16B16_USCALED              0x19F
-#define I965_SURFACEFORMAT_RAW                            0x1FF
-
-#define I965_MAPFILTER_NEAREST        0x0 
-#define I965_MAPFILTER_LINEAR         0x1 
-#define I965_MAPFILTER_ANISOTROPIC    0x2
-
-#define I965_MIPFILTER_NONE        0
-#define I965_MIPFILTER_NEAREST     1
-#define I965_MIPFILTER_LINEAR      3
-
-#define I965_TEXCOORDMODE_WRAP            0
-#define I965_TEXCOORDMODE_MIRROR          1
-#define I965_TEXCOORDMODE_CLAMP           2
-#define I965_TEXCOORDMODE_CUBE            3
-#define I965_TEXCOORDMODE_CLAMP_BORDER    4
-#define I965_TEXCOORDMODE_MIRROR_ONCE     5
-
-#define I965_SURFACERETURNFORMAT_FLOAT32  0
-#define I965_SURFACERETURNFORMAT_S1       1
-
-#define I965_TILEWALK_XMAJOR                 0
-#define I965_TILEWALK_YMAJOR                 1
-
-#define GEN8_TILEMODE_LINEAR                 0
-#define GEN8_TILEMODE_WMAJOR                 1
-#define GEN8_TILEMODE_XMAJOR                 2
-#define GEN8_TILEMODE_YMAJOR                 3
-
-#define I965_SURCHAN_SELECT_ZERO             0
-#define I965_SURCHAN_SELECT_ONE              1
-#define I965_SURCHAN_SELECT_RED              4
-#define I965_SURCHAN_SELECT_GREEN            5
-#define I965_SURCHAN_SELECT_BLUE             6
-#define I965_SURCHAN_SELECT_ALPHA            7
-
-#define URB_SIZE(intel)         (IS_IGDNG(intel->device_id) ? 1024 : \
-                                 IS_G4X(intel->device_id) ? 384 : 256)
-// HSW
-#define HSW_SCRATCH1_OFFSET                      (0xB038)
-#define HSW_ROW_CHICKEN3_HDC_OFFSET              (0xE49C)
-
-// L3 cache stuff 
-#define GEN7_L3_SQC_REG1_ADDRESS_OFFSET          (0XB010)
-#define GEN7_L3_CNTL_REG2_ADDRESS_OFFSET         (0xB020)
-#define GEN7_L3_CNTL_REG3_ADDRESS_OFFSET         (0xB024)
-
-#define GEN8_L3_CNTL_REG_ADDRESS_OFFSET          (0x7034)
-
-// To issue pipe controls (reset L3 / SLM or stall)
-#define GEN7_PIPE_CONTROL_MEDIA 0x2
-#define GEN7_PIPE_CONTROL_3D 0x3
-#define GEN7_PIPE_CONTROL_INSTRUCTION_GFX 0x3
-#define GEN7_PIPE_CONTROL_OPCODE_3D_CONTROL 0x2
-#define GEN7_PIPE_CONTROL_SUBOPCODE_3D_CONTROL 0x0
-#define GEN7_PIPE_CONTROL_WRITE_TIMESTAMP        (3 << 14)
-#define GEN7_PIPE_CONTROL_GLOBAL_GTT_WRITE       (1 << 2)
-
-
-#define GEN_MAPFILTER_NEAREST        0x0
-#define GEN_MAPFILTER_LINEAR         0x1
-#define GEN_MAPFILTER_ANISOTROPIC    0x2
-
-#define GEN_MIPFILTER_NONE        0
-#define GEN_MIPFILTER_NEAREST     1
-#define GEN_MIPFILTER_LINEAR      3
-
-#define GEN_ADDRESS_ROUNDING_ENABLE_U_MAG      0x20
-#define GEN_ADDRESS_ROUNDING_ENABLE_U_MIN      0x10
-#define GEN_ADDRESS_ROUNDING_ENABLE_V_MAG      0x08
-#define GEN_ADDRESS_ROUNDING_ENABLE_V_MIN      0x04
-#define GEN_ADDRESS_ROUNDING_ENABLE_R_MAG      0x02
-#define GEN_ADDRESS_ROUNDING_ENABLE_R_MIN      0x01
-
-#define GEN_TEXCOORDMODE_WRAP            0
-#define GEN_TEXCOORDMODE_MIRROR          1
-#define GEN_TEXCOORDMODE_CLAMP           2
-#define GEN_TEXCOORDMODE_CUBE            3
-#define GEN_TEXCOORDMODE_CLAMP_BORDER    4
-#define GEN_TEXCOORDMODE_MIRROR_ONCE     5
-
-#endif /* __GENX_DEFINES_H__ */
-
diff --git a/src/intel/intel_driver.c b/src/intel/intel_driver.c
index d7b9919..5f4a080 100644
--- a/src/intel/intel_driver.c
+++ b/src/intel/intel_driver.c
@@ -60,7 +60,7 @@
 
 #include "intel_driver.h"
 #include "intel_gpgpu.h"
-#include "intel_batchbuffer.h"
+#include "gen/intel_batchbuffer.h"
 #include "intel_bufmgr.h"
 #include "cl_mem.h"
 
diff --git a/src/intel/intel_gpgpu.c b/src/intel/intel_gpgpu.c
index 817cc00..e3ad65e 100644
--- a/src/intel/intel_gpgpu.c
+++ b/src/intel/intel_gpgpu.c
@@ -32,7 +32,7 @@
 #include <errno.h>
 
 #include "intel/intel_gpgpu.h"
-#include "intel/intel_defines.h"
+#include "gen/intel_defines.h"
 #include "intel/intel_structs.h"
 #include "program.h" // for BTI_RESERVED_NUM
 
diff --git a/src/intel/intel_gpgpu.h b/src/intel/intel_gpgpu.h
index f575f8b..d3bcf0f 100644
--- a/src/intel/intel_gpgpu.h
+++ b/src/intel/intel_gpgpu.h
@@ -23,7 +23,7 @@
 
 #include "cl_utils.h"
 #include "cl_driver.h"
-#include "intel/intel_batchbuffer.h"
+#include "gen/intel_batchbuffer.h"
 #include "intel/intel_driver.h"
 
 #include <stdlib.h>
-- 
2.7.4

_______________________________________________
Beignet mailing list
Beignet@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/beignet

Reply via email to