This change adds the ability for a user of the headers to pass
prefixes or suffixes to be used in the function prototypes via
(respectively) CL_API_PREFIX_USER and CL_API_SUFFIX_USER.
This can be used to pass additional attributes (e.g. to use
weak symbols).
Signed-off-by: Kévin Petit <kpet@free.fr>
* Move cl_icd_layer.h from OpenCL-ICD-Loader to OpenCL-Headers.
* Added test for cl_icd_layer.h single inclusion.
* Added missing test_cl_icd_layer.h.c file.
* Changed include guard to non reserved identifier.
* Renamed cl_icd_layer.h to cl_layer.h.
* Fix tests and guard.
* Add definitions for cl_arm_controlled_kernel_termination
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
Change-Id: I8802d7ef06b619814f898b5215f3592886a744bf
* Break cl_command_termination_reason_arm enum into separate definitions
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
Change-Id: I109b45a222736a5d5346f44ea42e90271a1c79fe
* Add cl_device_controlled_termination_capabilities_arm
Change-Id: Ic5a0f40e96a0ac03eddca2a4eed26756ce5130ec
* move Intel extensions into common files
* switch from #warning to #pragma message
Using #warning will cause projects with warnings as errors enabled
to stop building.
* add back testing for cl_ext_intel.h
* Add CMake Packaging + CI For Package
* Uniform formatting
* Explicit compiler detection
* Simplify exported target name
* Changed include dir to SYSTEM BEFORE
* Remove travis
* Initial Github Actions yaml
* Fix CWD
* Remove CWD from YAML
* MSVC warning flags
* Fix CWD for CTest invocations
* Relative CWD
* runner.workspace
* enable tests in build
* Move to C flags
* Enable testing in CI
* GCC warnings
* Don't meddle with compiler flags in CMake
* C2059: syntax error: 'bad suffix on number'
* C4001: nonstd ext 'single line comment' was used
* /wd4001
* /wd4001 again
* Remove Za builds of cl_icd_h.c
* Fix oeprator precedence
* Refrain from altering global state
* Add C_STANDARD to GCC build
* Add 32-bit and 64-bit matrix dims
* Change -march to -m
* Try adding host
* install gcc-multilib
* Add GCC 8 & 9 multilib
* Install GCC multilib conditionally
* Add note on Windows C versions incoming
* Add INCRMENTAL to silence notice on full link
* Experiment with disabling
* Initial MacOS config
* Add ninja to MacOS build
* Fix nproc
* nproc -> sysctl
* Xcode
* cmd -> bash
* which gcc-9
* Actual GCC invocation
* Check gcc if symlink
* follow link
* Obtain env
* Cleanup
* Re-enable Windows and Linux
* Check pkgconfig
* Syntax fix
* INSTALL_PREFIX to PREFIX_PATH
* Use CONFIG
* Added bare and SDK consumption
* Fix bare target
* Fix test for unsued variable
* Add missing semi-colons
* Rework SDK emulation
* Fix indentation
* Fix build path for SDK consumption
* Add Windows consumption test
* MacOS
* Fix indentation
* Enable MacOS
* CMAKE_INSTALL_PREFIX >> CMAKE_PREFIX_PATH
* Fix install
* Install Release on Windows
* Re-enable Linux and Windows
* Added C99 builds
* Removed pkgconfig.c duplication
* Fix out-of-sync target in readme
* Added policy to make readme sample work
* match up paths in readme samples
* Homogenize target names
* Remove all warnings from sample readme
Co-authored-by: sL1pKn07 <sl1pkn07@gmail.com>
* Add cl_intel_create_buffer_with_properties extension function
Spec:
https://github.com/KhronosGroup/OpenCL-Docs/blob/master/extensions/cl_intel_create_buffer_with_properties.asciidoc
This extension allows OpenCL 1.x and 2.x devices to support the
clCreateBufferWithProperties API that was added in OpenCL 3.0. This allows older
OpenCL implementations to support other optional extensions or features that use
the clCreateBufferWithProperties API to specify additional buffer properties,
without recreating the API that is already part of OpenCL 3.0.
Signed-off-by: Mikhail Lychkov <mikhail.lychkov@intel.com>
* Add CL_MEM_CHANNEL_INTEL property enum
It's done to align with:
https://github.com/KhronosGroup/OpenCL-Docs/blob/master/extensions/cl_intel_mem_channel_property.asciidoc
Signed-off-by: Mikhail Lychkov <mikhail.lychkov@intel.com>
Co-authored-by: Viktoria Maksimova <viktoria.maksimova@intel.com>
When using clang, altivec.h inclusion is taken care of by clang with -maltivec / -mno-altivec. Users shouldn't directly include it, it breaks compilation.
* add APIs and enums for cl_intel_unified_shared_memory
* remove CL_MEM_ALLOC_DEFAULT_INTEL
This value is not in the latest rev of the spec.
* add aliases for cl_mem_migration_flags
Fixes compilation pre-OpenCL 1.2, where cl_mem_migration_flags is not defined.
* for now, remove aliases to cl_mem_migration_flags
Instead of adding aliases to cl_mem_migration_flags and associated
enums, restrict the clEnqueueMigrateMemINTEL API to OpenCL 1.2 or
newer, which satisfies all current use-cases.
If needed, the aliases can be re-introduced at a later date, since
adding them does not change the ABI.
* Add cl_half.h header
* Make shared utility for handling {over,under}flow
* Include stdint.h
* Prefix all new functions with cl_half_
* Address Windows warnings
* Refactor lsb_pos calculation
* Avoid leading double-underscore in header guard
* Update license
* Add tests for cl_half.h