build: update opencl headers to v2024.10.24

https://github.com/intel/compute-runtime/issues/822

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
Mateusz Jablonski
2025-04-14 12:24:03 +00:00
committed by Compute-Runtime-Automation
parent 1432f6a7b2
commit 21f6bb8889
18 changed files with 476 additions and 73 deletions

View File

@@ -249,7 +249,7 @@ bool Context::createImpl(const cl_context_properties *properties,
driverDiagnosticsUsed = debugManager.flags.PrintDriverDiagnostics.get();
}
if (driverDiagnosticsUsed >= 0) {
driverDiagnostics.reset(new DriverDiagnostics((cl_diagnostics_verbose_level)driverDiagnosticsUsed));
driverDiagnostics = std::make_unique<DriverDiagnostics>(static_cast<cl_diagnostic_verbose_level_intel>(driverDiagnosticsUsed));
}
this->numProperties = numProperties;

View File

@@ -185,7 +185,7 @@ class Context : public BaseObject<_cl_context> {
void registerSharing(Sharing *sharing);
template <typename... Args>
void providePerformanceHint(cl_diagnostics_verbose_level flags, PerformanceHints performanceHint, Args &&...args) {
void providePerformanceHint(cl_diagnostic_verbose_level_intel flags, PerformanceHints performanceHint, Args &&...args) {
DEBUG_BREAK_IF(contextCallback == nullptr);
DEBUG_BREAK_IF(driverDiagnostics == nullptr);
char hint[DriverDiagnostics::maxHintStringSize];
@@ -202,8 +202,8 @@ class Context : public BaseObject<_cl_context> {
template <typename... Args>
void providePerformanceHintForMemoryTransfer(cl_command_type commandType, bool transferRequired, Args &&...args) {
cl_diagnostics_verbose_level verboseLevel = transferRequired ? CL_CONTEXT_DIAGNOSTICS_LEVEL_BAD_INTEL
: CL_CONTEXT_DIAGNOSTICS_LEVEL_GOOD_INTEL;
cl_diagnostic_verbose_level_intel verboseLevel = transferRequired ? CL_CONTEXT_DIAGNOSTICS_LEVEL_BAD_INTEL
: CL_CONTEXT_DIAGNOSTICS_LEVEL_GOOD_INTEL;
PerformanceHints hint = driverDiagnostics->obtainHintForTransferOperation(commandType, transferRequired);
providePerformanceHint(verboseLevel, hint, args...);

View File

@@ -11,11 +11,11 @@
namespace NEO {
DriverDiagnostics::DriverDiagnostics(cl_diagnostics_verbose_level level) {
DriverDiagnostics::DriverDiagnostics(cl_diagnostic_verbose_level_intel level) {
this->verboseLevel = level;
}
bool DriverDiagnostics::validFlags(cl_diagnostics_verbose_level flags) const {
bool DriverDiagnostics::validFlags(cl_diagnostic_verbose_level_intel flags) const {
return !!(verboseLevel & flags);
}

View File

@@ -56,14 +56,14 @@ enum PerformanceHints {
class DriverDiagnostics {
public:
DriverDiagnostics(cl_diagnostics_verbose_level level);
bool validFlags(cl_diagnostics_verbose_level flags) const;
DriverDiagnostics(cl_diagnostic_verbose_level_intel level);
bool validFlags(cl_diagnostic_verbose_level_intel flags) const;
~DriverDiagnostics() = default;
static const char *const hintFormat[];
static const cl_int maxHintStringSize = 1024;
PerformanceHints obtainHintForTransferOperation(cl_command_type commandType, bool transferRequired);
protected:
cl_diagnostics_verbose_level verboseLevel;
cl_diagnostic_verbose_level_intel verboseLevel;
};
} // namespace NEO

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2018-2023 Intel Corporation
* Copyright (C) 2018-2025 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
@@ -12,6 +12,7 @@
#include "opencl/source/sharings/sharing.h"
#include "CL/cl.h"
#include "CL/cl_gl.h"
#if __clang__
#pragma clang diagnostic push

View File

@@ -38,14 +38,14 @@ void CL_CALLBACK callbackFunction(const char *providedHint, const void *flags, s
strcpy_s((char *)userData + offset, DriverDiagnostics::maxHintStringSize, providedHint);
}
cl_diagnostics_verbose_level diagnosticsVerboseLevels[] = {
cl_diagnostic_verbose_level_intel diagnosticsVerboseLevels[] = {
CL_CONTEXT_DIAGNOSTICS_LEVEL_BAD_INTEL,
CL_CONTEXT_DIAGNOSTICS_LEVEL_GOOD_INTEL,
CL_CONTEXT_DIAGNOSTICS_LEVEL_NEUTRAL_INTEL};
TEST_P(VerboseLevelTest, GivenVerboseLevelWhenProvidedHintLevelIsSameOrAllThenCallbackFunctionTakesProvidedHint) {
cl_device_id deviceID = devices[0];
cl_diagnostics_verbose_level diagnosticsLevel = GetParam();
cl_diagnostic_verbose_level_intel diagnosticsLevel = GetParam();
cl_context_properties validProperties[3] = {CL_CONTEXT_SHOW_DIAGNOSTICS_INTEL, (cl_context_properties)diagnosticsLevel, 0};
retVal = CL_SUCCESS;
@@ -67,7 +67,7 @@ TEST_P(VerboseLevelTest, GivenVerboseLevelWhenProvidedHintLevelIsSameOrAllThenCa
TEST_P(VerboseLevelTest, GivenVerboseLevelAllWhenAnyHintIsProvidedThenCallbackFunctionTakesProvidedHint) {
cl_device_id deviceID = devices[0];
cl_diagnostics_verbose_level providedHintLevel = GetParam();
cl_diagnostic_verbose_level_intel providedHintLevel = GetParam();
cl_context_properties validProperties[3] = {CL_CONTEXT_SHOW_DIAGNOSTICS_INTEL, CL_CONTEXT_DIAGNOSTICS_LEVEL_ALL_INTEL, 0};
retVal = CL_SUCCESS;

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2018-2024 Intel Corporation
* Copyright (C) 2018-2025 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
@@ -46,7 +46,7 @@ struct DriverDiagnosticsTest : public PlatformFixture,
};
struct VerboseLevelTest : public DriverDiagnosticsTest,
public ::testing::WithParamInterface<unsigned int> {
public ::testing::WithParamInterface<uint64_t> {
void SetUp() override {
DriverDiagnosticsTest::SetUp();
@@ -57,7 +57,7 @@ struct VerboseLevelTest : public DriverDiagnosticsTest,
void TearDown() override {
DriverDiagnosticsTest::TearDown();
}
std::vector<unsigned int> validLevels{
std::vector<uint64_t> validLevels{
CL_CONTEXT_DIAGNOSTICS_LEVEL_ALL_INTEL,
CL_CONTEXT_DIAGNOSTICS_LEVEL_BAD_INTEL,
CL_CONTEXT_DIAGNOSTICS_LEVEL_GOOD_INTEL,

View File

@@ -1,2 +1,2 @@
git_url: https://github.com/KhronosGroup/OpenCL-Headers
git_revision: v2024.05.08
git_revision: v2024.10.24

View File

@@ -112,9 +112,9 @@ typedef cl_uint cl_kernel_exec_info;
typedef cl_bitfield cl_device_atomic_capabilities;
typedef cl_bitfield cl_device_device_enqueue_capabilities;
typedef cl_uint cl_khronos_vendor_id;
typedef cl_properties cl_mem_properties;
typedef cl_uint cl_version;
typedef cl_properties cl_mem_properties;
#endif
typedef cl_uint cl_version;
typedef struct _cl_image_format {
cl_channel_order image_channel_order;
@@ -914,8 +914,6 @@ typedef struct _cl_name_version {
/* cl_khronos_vendor_id */
#define CL_KHRONOS_VENDOR_ID_CODEPLAY 0x10004
#ifdef CL_VERSION_3_0
/* cl_version */
#define CL_VERSION_MAJOR_BITS (10)
#define CL_VERSION_MINOR_BITS (10)
@@ -939,8 +937,6 @@ typedef struct _cl_name_version {
(((minor) & CL_VERSION_MINOR_MASK) << CL_VERSION_PATCH_BITS) | \
((patch) & CL_VERSION_PATCH_MASK))
#endif
/********************************************************************************************************/
/* CL_NO_PROTOTYPES implies CL_NO_CORE_PROTOTYPES: */

View File

@@ -65,6 +65,9 @@ extern "C" {
#define CL_KHR_D3D10_SHARING_EXTENSION_NAME \
"cl_khr_d3d10_sharing"
#define CL_KHR_D3D10_SHARING_EXTENSION_VERSION CL_MAKE_VERSION(1, 0, 0)
typedef cl_uint cl_d3d10_device_source_khr;
typedef cl_uint cl_d3d10_device_set_khr;
@@ -228,6 +231,9 @@ clEnqueueReleaseD3D10ObjectsKHR(
#define CL_INTEL_SHARING_FORMAT_QUERY_D3D10_EXTENSION_NAME \
"cl_intel_sharing_format_query_d3d10"
#define CL_INTEL_SHARING_FORMAT_QUERY_D3D10_EXTENSION_VERSION CL_MAKE_VERSION(0, 0, 0)
/* when cl_khr_d3d10_sharing is supported */
typedef cl_int CL_API_CALL

View File

@@ -65,6 +65,9 @@ extern "C" {
#define CL_KHR_D3D11_SHARING_EXTENSION_NAME \
"cl_khr_d3d11_sharing"
#define CL_KHR_D3D11_SHARING_EXTENSION_VERSION CL_MAKE_VERSION(1, 0, 0)
typedef cl_uint cl_d3d11_device_source_khr;
typedef cl_uint cl_d3d11_device_set_khr;
@@ -228,6 +231,9 @@ clEnqueueReleaseD3D11ObjectsKHR(
#define CL_INTEL_SHARING_FORMAT_QUERY_D3D11_EXTENSION_NAME \
"cl_intel_sharing_format_query_d3d11"
#define CL_INTEL_SHARING_FORMAT_QUERY_D3D11_EXTENSION_VERSION CL_MAKE_VERSION(0, 0, 0)
/* when cl_khr_d3d11_sharing is supported */
typedef cl_int CL_API_CALL

View File

@@ -67,6 +67,9 @@ extern "C" {
#define CL_KHR_DX9_MEDIA_SHARING_EXTENSION_NAME \
"cl_khr_dx9_media_sharing"
#define CL_KHR_DX9_MEDIA_SHARING_EXTENSION_VERSION CL_MAKE_VERSION(1, 0, 0)
typedef cl_uint cl_dx9_media_adapter_type_khr;
typedef cl_uint cl_dx9_media_adapter_set_khr;
@@ -209,6 +212,9 @@ clEnqueueReleaseDX9MediaSurfacesKHR(
#define CL_INTEL_DX9_MEDIA_SHARING_EXTENSION_NAME \
"cl_intel_dx9_media_sharing"
#define CL_INTEL_DX9_MEDIA_SHARING_EXTENSION_VERSION CL_MAKE_VERSION(0, 0, 0)
typedef cl_uint cl_dx9_device_source_intel;
typedef cl_uint cl_dx9_device_set_intel;
@@ -341,6 +347,9 @@ clEnqueueReleaseDX9ObjectsINTEL(
#define CL_INTEL_SHARING_FORMAT_QUERY_DX9_EXTENSION_NAME \
"cl_intel_sharing_format_query_dx9"
#define CL_INTEL_SHARING_FORMAT_QUERY_DX9_EXTENSION_VERSION CL_MAKE_VERSION(0, 0, 0)
/* when cl_khr_dx9_media_sharing or cl_intel_dx9_media_sharing is supported */
typedef cl_int CL_API_CALL

View File

@@ -51,6 +51,9 @@ extern "C" {
#define CL_KHR_EGL_IMAGE_EXTENSION_NAME \
"cl_khr_egl_image"
#define CL_KHR_EGL_IMAGE_EXTENSION_VERSION CL_MAKE_VERSION(1, 0, 0)
/* Command type for events created with clEnqueueAcquireEGLObjectsKHR */
#define CL_COMMAND_EGL_FENCE_SYNC_OBJECT_KHR 0x202F
#define CL_COMMAND_ACQUIRE_EGL_OBJECTS_KHR 0x202D
@@ -144,6 +147,9 @@ clEnqueueReleaseEGLObjectsKHR(
#define CL_KHR_EGL_EVENT_EXTENSION_NAME \
"cl_khr_egl_event"
#define CL_KHR_EGL_EVENT_EXTENSION_VERSION CL_MAKE_VERSION(1, 0, 0)
/* CLeglDisplayKHR is an opaque handle to an EGLDisplay */
/* type CLeglDisplayKHR */

File diff suppressed because it is too large Load Diff

View File

@@ -51,6 +51,13 @@ extern "C" {
#define CL_KHR_GL_SHARING_EXTENSION_NAME \
"cl_khr_gl_sharing"
#define CL_KHR_GL_SHARING_EXTENSION_VERSION CL_MAKE_VERSION(1, 0, 0)
typedef int cl_GLint;
typedef unsigned int cl_GLenum;
typedef unsigned int cl_GLuint;
typedef cl_uint cl_gl_context_info;
/* Error codes */
@@ -313,6 +320,9 @@ clCreateFromGLTexture3D(
#define CL_KHR_GL_EVENT_EXTENSION_NAME \
"cl_khr_gl_event"
#define CL_KHR_GL_EVENT_EXTENSION_VERSION CL_MAKE_VERSION(1, 0, 0)
typedef struct __GLsync * cl_GLsync;
/* cl_command_type */
@@ -345,6 +355,9 @@ clCreateEventFromGLsyncKHR(
#define CL_KHR_GL_DEPTH_IMAGES_EXTENSION_NAME \
"cl_khr_gl_depth_images"
#define CL_KHR_GL_DEPTH_IMAGES_EXTENSION_VERSION CL_MAKE_VERSION(1, 0, 0)
/* cl_channel_order */
#define CL_DEPTH_STENCIL 0x10BE
@@ -358,6 +371,9 @@ clCreateEventFromGLsyncKHR(
#define CL_KHR_GL_MSAA_SHARING_EXTENSION_NAME \
"cl_khr_gl_msaa_sharing"
#define CL_KHR_GL_MSAA_SHARING_EXTENSION_VERSION CL_MAKE_VERSION(1, 0, 0)
/* cl_gl_texture_info */
#define CL_GL_NUM_SAMPLES 0x2012
@@ -368,6 +384,9 @@ clCreateEventFromGLsyncKHR(
#define CL_INTEL_SHARING_FORMAT_QUERY_GL_EXTENSION_NAME \
"cl_intel_sharing_format_query_gl"
#define CL_INTEL_SHARING_FORMAT_QUERY_GL_EXTENSION_VERSION CL_MAKE_VERSION(0, 0, 0)
/* when cl_khr_gl_sharing is supported */
typedef cl_int CL_API_CALL

View File

@@ -77,7 +77,7 @@ extern "C" {
#ifdef __GNUC__
#define CL_API_SUFFIX_DEPRECATED __attribute__((deprecated))
#define CL_API_PREFIX_DEPRECATED
#elif defined(_WIN32)
#elif defined(_MSC_VER) && !defined(__clang__)
#define CL_API_SUFFIX_DEPRECATED
#define CL_API_PREFIX_DEPRECATED __declspec(deprecated)
#else
@@ -361,11 +361,6 @@ typedef double cl_double;
#include <stddef.h>
/* Mirror types to GL types. Mirror types allow us to avoid deciding which 87s to load based on whether we are using GL or GLES here. */
typedef unsigned int cl_GLuint;
typedef int cl_GLint;
typedef unsigned int cl_GLenum;
/*
* Vector types
*

View File

@@ -53,6 +53,9 @@ extern "C" {
#define CL_INTEL_SHARING_FORMAT_QUERY_VA_API_EXTENSION_NAME \
"cl_intel_sharing_format_query_va_api"
#define CL_INTEL_SHARING_FORMAT_QUERY_VA_API_EXTENSION_VERSION CL_MAKE_VERSION(0, 0, 0)
/* when cl_intel_va_api_media_sharing is supported */
typedef cl_int CL_API_CALL
@@ -89,6 +92,9 @@ clGetSupportedVA_APIMediaSurfaceFormatsINTEL(
#define CL_INTEL_VA_API_MEDIA_SHARING_EXTENSION_NAME \
"cl_intel_va_api_media_sharing"
#define CL_INTEL_VA_API_MEDIA_SHARING_EXTENSION_VERSION CL_MAKE_VERSION(0, 0, 0)
typedef cl_uint cl_va_api_device_source_intel;
typedef cl_uint cl_va_api_device_set_intel;

View File

@@ -123,6 +123,11 @@ LICENSE Source license for the OpenCL API headers
CL/ Unified OpenCL API headers tree
```
## Packaging
For packaging instructions, see [RELEASE.md](https://github.com/KhronosGroup/OpenCL-SDK/blob/main/docs/RELEASE.md)
in the OpenCL SDK repository.
## License
See [LICENSE](LICENSE).