[clinfo] 26/30: Experimental support for a few other Intel extension

Andreas Beckmann anbe at moszumanska.debian.org
Tue Apr 28 12:53:54 UTC 2015


This is an automated email from the git hooks/post-receive script.

anbe pushed a commit to branch master
in repository clinfo.

commit b2b2127b0bfd66c1c502b263f59e3fb17fb51fce
Author: Giuseppe Bilotta <giuseppe.bilotta at gmail.com>
Date:   Sat Apr 4 16:39:22 2015 +0200

    Experimental support for a few other Intel extension
---
 man/clinfo.1 | 13 +++++++++++++
 src/clinfo.c | 17 +++++++++++++++--
 src/ext.h    |  8 ++++++++
 3 files changed, 36 insertions(+), 2 deletions(-)

diff --git a/man/clinfo.1 b/man/clinfo.1
index 79fed4f..2d0b5a4 100644
--- a/man/clinfo.1
+++ b/man/clinfo.1
@@ -88,6 +88,12 @@ for NVIDIA-specific device attributes;
 for the Intel extension allowing CPU devices to run kernels as part of
 the current host thread;
 .TP
+.B cl_intel_advanced_motion_estimation
+for the version of the Intel Motion Estimation accelerator version;
+.TP
+.B cl_intel_simultaneous_sharing
+for simultaneous CL/GL/DirectX context sharing (only partial support);
+.TP
 .B cl_altera_device_temperature
 for the Altera extension to query the core temperature of the device;
 .TP
@@ -159,6 +165,13 @@ device information is documented in v3 of the
 extension specification, but not reported by current
 drivers, so it is currently disabled.
 
+The
+.B CL_DEVICE_SIMULTANEOUS_INTEROPS_INTEL
+device information for the
+.B cl_intel_simultaneous_sharing
+extension is not reported, due to lack of knowledge on the possible
+values the list elements can have.
+
 .P
 Please report any issues on
 .UR http://github.com/Oblomov/clinfo
diff --git a/src/clinfo.c b/src/clinfo.c
index f1a718b..b4923ed 100644
--- a/src/clinfo.c
+++ b/src/clinfo.c
@@ -495,9 +495,11 @@ struct device_info_checks {
 	char has_atomic_counters[26];
 	char has_image2d_buffer[27];
 	char has_intel_local_thread[30];
+	char has_intel_AME[36];
 	char has_altera_dev_temp[29];
 	char has_spir[12];
 	char has_qcom_ext_host_ptr[21];
+	char has_simultaneous_sharing[30];
 	cl_uint dev_version;
 };
 
@@ -515,9 +517,11 @@ DEFINE_EXT_CHECK(fission)
 DEFINE_EXT_CHECK(atomic_counters)
 DEFINE_EXT_CHECK(image2d_buffer)
 DEFINE_EXT_CHECK(intel_local_thread)
+DEFINE_EXT_CHECK(intel_AME)
 DEFINE_EXT_CHECK(altera_dev_temp)
 DEFINE_EXT_CHECK(spir)
 DEFINE_EXT_CHECK(qcom_ext_host_ptr)
+DEFINE_EXT_CHECK(simultaneous_sharing)
 
 /* In the version checks we negate the opposite conditions
  * instead of double-negating the actual condition
@@ -618,8 +622,10 @@ void identify_device_extensions(const char *extensions, struct device_info_check
 		CHECK_EXT(atomic_counters, cl_ext_atomic_counters_32);
 	CHECK_EXT(image2d_buffer, cl_khr_image2d_from_buffer);
 	CHECK_EXT(intel_local_thread, cl_intel_exec_by_local_thread);
+	CHECK_EXT(intel_AME, cl_intel_advanced_motion_estimation);
 	CHECK_EXT(altera_dev_temp, cl_altera_device_temperature);
 	CHECK_EXT(qcom_ext_host_ptr, cl_qcom_ext_host_ptr);
+	CHECK_EXT(simultaneous_sharing, cl_intel_simultaneous_sharing);
 }
 
 
@@ -1716,6 +1722,13 @@ struct device_info_traits dinfo_traits[] = {
 	{ CLINFO_BOTH, DINFO(CL_DEVICE_MAX_ON_DEVICE_QUEUES, "Max queues on device", int), dev_is_20 },
 	{ CLINFO_BOTH, DINFO(CL_DEVICE_MAX_ON_DEVICE_EVENTS, "Max events on device", int), dev_is_20 },
 
+	/* Interop */
+	{ CLINFO_BOTH, DINFO(CL_DEVICE_PREFERRED_INTEROP_USER_SYNC, "Prefer user sync for interop", bool), dev_is_12 },
+	{ CLINFO_BOTH, DINFO(CL_DEVICE_NUM_SIMULTANEOUS_INTEROPS_INTEL, "Number of simulataneous interops (Intel)", int), dev_has_simultaneous_sharing },
+	/* TODO: this needs defines for the possible values of the context interops,
+	{ CLINFO_BOTH, DINFO(CL_DEVICE_SIMULTANEOUS_INTEROPS_INTEL, "Simulataneous interops", interop_list), dev_has_simultaneous_sharing },
+	 */
+
 	/* Profiling resolution */
 	{ CLINFO_BOTH, DINFO_SFX(CL_DEVICE_PROFILING_TIMER_RESOLUTION, "Profiling timer resolution", "ns", long), NULL },
 	{ CLINFO_HUMAN, DINFO(CL_DEVICE_PROFILING_TIMER_OFFSET_AMD, "Profiling timer offset since Epoch (AMD)", time_offset), dev_has_amd },
@@ -1730,11 +1743,11 @@ struct device_info_traits dinfo_traits[] = {
 	/* TODO FIXME Current drivers don't seem to respond to this, should probably be queried based on driver version,
 	 * or maybe it depends on some other device property?
 	{ CLINFO_BOTH, DINFO(CL_DEVICE_AVAILABLE_ASYNC_QUEUES_AMD, INDENT "Number of async queues (AMD)", int), dev_is_gpu_amd },
-	*/
+	 */
 	{ CLINFO_BOTH, DINFO(CL_DEVICE_SPIR_VERSIONS, INDENT "SPIR versions", str), dev_has_spir },
-	{ CLINFO_BOTH, DINFO(CL_DEVICE_PREFERRED_INTEROP_USER_SYNC, "Prefer user sync for interop", bool), dev_is_12 },
 	{ CLINFO_BOTH, DINFO(CL_DEVICE_PRINTF_BUFFER_SIZE, "printf() buffer size", mem), dev_is_12 },
 	{ CLINFO_BOTH, DINFO(CL_DEVICE_BUILT_IN_KERNELS, "Built-in kernels", str), dev_is_12 },
+	{ CLINFO_BOTH, DINFO(CL_DEVICE_ME_VERSION_INTEL, "Motion Estimation accelerator version	(Intel)", int), dev_has_intel_AME },
 
 	{ CLINFO_BOTH, DINFO(CL_DEVICE_AVAILABLE, "Device Available", bool), NULL },
 	{ CLINFO_BOTH, DINFO(CL_DEVICE_COMPILER_AVAILABLE, "Compiler Available", bool), NULL },
diff --git a/src/ext.h b/src/ext.h
index 9143801..31b6292 100644
--- a/src/ext.h
+++ b/src/ext.h
@@ -135,6 +135,9 @@ typedef cl_ulong  cl_device_partition_property_ext;
 #define CL_AFFINITY_DOMAIN_NUMA_EXT			0x10
 #define CL_AFFINITY_DOMAIN_NEXT_FISSIONABLE_EXT		0x100
 
+/* cl_intel_advanced_motion_estimation */
+#define CL_DEVICE_ME_VERSION_INTEL			0x407E
+
 /* cl_qcom_ext_host_ptr */
 #define CL_DEVICE_EXT_MEM_PADDING_IN_BYTES_QCOM		0x40A0
 #define CL_DEVICE_PAGE_SIZE_QCOM			0x40A1
@@ -144,3 +147,8 @@ typedef cl_ulong  cl_device_partition_property_ext;
 
 /* cl_altera_device_temperature */
 #define CL_DEVICE_CORE_TEMPERATURE_ALTERA		0x40F3
+
+/* cl_intel_simultaneous_sharing */
+#define CL_DEVICE_SIMULTANEOUS_INTEROPS_INTEL		0x4104
+#define CL_DEVICE_NUM_SIMULTANEOUS_INTEROPS_INTEL	0x4105
+

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-opencl/clinfo.git



More information about the Pkg-opencl-commits mailing list