diff options
Diffstat (limited to 'src/gallium/winsys/i915')
-rw-r--r-- | src/gallium/winsys/i915/drm/i915_drm_buffer.c | 2 | ||||
-rw-r--r-- | src/gallium/winsys/i915/drm/i915_drm_winsys.c | 22 | ||||
-rw-r--r-- | src/gallium/winsys/i915/drm/meson.build | 1 |
3 files changed, 15 insertions, 10 deletions
diff --git a/src/gallium/winsys/i915/drm/i915_drm_buffer.c b/src/gallium/winsys/i915/drm/i915_drm_buffer.c index de8f0a8ccd8..9c0086e9f8a 100644 --- a/src/gallium/winsys/i915/drm/i915_drm_buffer.c +++ b/src/gallium/winsys/i915/drm/i915_drm_buffer.c @@ -225,7 +225,7 @@ i915_drm_buffer_destroy(struct i915_winsys *iws, { drm_intel_bo_unreference(intel_bo(buffer)); -#ifdef DEBUG +#if MESA_DEBUG i915_drm_buffer(buffer)->magic = 0; i915_drm_buffer(buffer)->bo = NULL; #endif diff --git a/src/gallium/winsys/i915/drm/i915_drm_winsys.c b/src/gallium/winsys/i915/drm/i915_drm_winsys.c index 3baccb48989..1011a16d4bb 100644 --- a/src/gallium/winsys/i915/drm/i915_drm_winsys.c +++ b/src/gallium/winsys/i915/drm/i915_drm_winsys.c @@ -9,6 +9,7 @@ #include "i915_drm_public.h" #include "util/u_memory.h" +#include "intel/common/intel_gem.h" /* * Helper functions @@ -18,14 +19,8 @@ static void i915_drm_get_device_id(int fd, unsigned int *device_id) { - int ret; - struct drm_i915_getparam gp; - - gp.param = I915_PARAM_CHIPSET_ID; - gp.value = (int *)device_id; - - ret = ioctl(fd, DRM_IOCTL_I915_GETPARAM, &gp, sizeof(gp)); - assert(ret == 0); + ASSERTED bool ret = intel_gem_get_param(fd, I915_PARAM_CHIPSET_ID, (int *)device_id); + assert(ret); } static int @@ -49,11 +44,19 @@ i915_drm_winsys_destroy(struct i915_winsys *iws) FREE(idws); } +static int +i915_drm_winsys_get_fd(struct i915_winsys *iws) +{ + struct i915_drm_winsys *idws = i915_drm_winsys(iws); + + return idws->fd; +} + struct i915_winsys * i915_drm_winsys_create(int drmFD) { struct i915_drm_winsys *idws; - unsigned int deviceID; + unsigned int deviceID = 0; idws = CALLOC_STRUCT(i915_drm_winsys); if (!idws) @@ -71,6 +74,7 @@ i915_drm_winsys_create(int drmFD) idws->base.aperture_size = i915_drm_aperture_size; idws->base.destroy = i915_drm_winsys_destroy; + idws->base.get_fd = i915_drm_winsys_get_fd; idws->gem_manager = drm_intel_bufmgr_gem_init(idws->fd, idws->max_batch_size); drm_intel_bufmgr_gem_enable_reuse(idws->gem_manager); diff --git a/src/gallium/winsys/i915/drm/meson.build b/src/gallium/winsys/i915/drm/meson.build index 01300ad4c91..57597972417 100644 --- a/src/gallium/winsys/i915/drm/meson.build +++ b/src/gallium/winsys/i915/drm/meson.build @@ -27,5 +27,6 @@ libi915drm = static_library( include_directories : [ inc_include, inc_src, inc_gallium, inc_gallium_aux, inc_gallium_drivers ], + link_with : [libintel_common], dependencies : [dep_libdrm, dep_libdrm_intel], ) |