summaryrefslogtreecommitdiff
path: root/src/gallium/winsys/drm/intel/gem/intel_be_api.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/winsys/drm/intel/gem/intel_be_api.c')
-rw-r--r--src/gallium/winsys/drm/intel/gem/intel_be_api.c26
1 files changed, 24 insertions, 2 deletions
diff --git a/src/gallium/winsys/drm/intel/gem/intel_be_api.c b/src/gallium/winsys/drm/intel/gem/intel_be_api.c
index f4ef7c2d88..dd5f814da3 100644
--- a/src/gallium/winsys/drm/intel/gem/intel_be_api.c
+++ b/src/gallium/winsys/drm/intel/gem/intel_be_api.c
@@ -1,15 +1,37 @@
#include "intel_be_api.h"
#include "i915simple/i915_winsys.h"
+#include "identity/id_drm.h"
+#include "trace/tr_drm.h"
-struct drm_api drm_api_hooks =
+static void destroy(struct drm_api *api)
+{
+
+}
+
+struct drm_api intel_be_drm_api =
{
/* intel_be_context.c */
.create_context = intel_be_create_context,
/* intel_be_device.c */
.create_screen = intel_be_create_screen,
- .buffer_from_texture = i915_get_texture_buffer,
+ .buffer_from_texture = intel_be_get_texture_buffer,
.buffer_from_handle = intel_be_buffer_from_handle,
.handle_from_buffer = intel_be_handle_from_buffer,
.global_handle_from_buffer = intel_be_global_handle_from_buffer,
+ .destroy = destroy,
};
+
+struct drm_api *
+drm_api_create()
+{
+#ifdef DEBUG
+#if 0
+ return identity_drm_create(&intel_be_drm_api);
+#else
+ return trace_drm_create(&intel_be_drm_api);
+#endif
+#else
+ return &intel_be_drm_api;
+#endif
+}