Mesa (master): anv: Add func anv_gem_get_tiling()
Chad Versace
chadversary at kemper.freedesktop.org
Tue Oct 17 18:26:54 UTC 2017
Module: Mesa
Branch: master
Commit: b5dc551014f45daba07339f884e89f87c1be923e
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b5dc551014f45daba07339f884e89f87c1be923e
Author: Chad Versace <chadversary at chromium.org>
Date: Tue Aug 29 01:34:44 2017 -0700
anv: Add func anv_gem_get_tiling()
Will use in VK_ANDROID_native_buffer.
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
---
src/intel/vulkan/anv_gem.c | 16 ++++++++++++++++
src/intel/vulkan/anv_private.h | 1 +
2 files changed, 17 insertions(+)
diff --git a/src/intel/vulkan/anv_gem.c b/src/intel/vulkan/anv_gem.c
index 3994c6b66c..34c0989108 100644
--- a/src/intel/vulkan/anv_gem.c
+++ b/src/intel/vulkan/anv_gem.c
@@ -192,6 +192,22 @@ anv_gem_execbuffer(struct anv_device *device,
return anv_ioctl(device->fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, execbuf);
}
+/** Return -1 on error. */
+int
+anv_gem_get_tiling(struct anv_device *device, uint32_t gem_handle)
+{
+ struct drm_i915_gem_get_tiling get_tiling = {
+ .handle = gem_handle,
+ };
+
+ if (anv_ioctl(device->fd, DRM_IOCTL_I915_GEM_GET_TILING, &get_tiling)) {
+ assert(!"Failed to get BO tiling");
+ return -1;
+ }
+
+ return get_tiling.tiling_mode;
+}
+
int
anv_gem_set_tiling(struct anv_device *device,
uint32_t gem_handle, uint32_t stride, uint32_t tiling)
diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h
index 27d2c34203..8af3f5c69e 100644
--- a/src/intel/vulkan/anv_private.h
+++ b/src/intel/vulkan/anv_private.h
@@ -929,6 +929,7 @@ int anv_gem_destroy_context(struct anv_device *device, int context);
int anv_gem_get_context_param(int fd, int context, uint32_t param,
uint64_t *value);
int anv_gem_get_param(int fd, uint32_t param);
+int anv_gem_get_tiling(struct anv_device *device, uint32_t gem_handle);
bool anv_gem_get_bit6_swizzle(int fd, uint32_t tiling);
int anv_gem_get_aperture(int fd, uint64_t *size);
bool anv_gem_supports_48b_addresses(int fd);
More information about the mesa-commit
mailing list