DPC++ Runtime
Runtime libraries for oneAPI DPC++
common.hpp File Reference
Include dependency graph for common.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  sycl::_V1::ext::intel::esimd::saturation_on_tag
 Gen hardware supports applying saturation to results of certain operations. More...
 
struct  sycl::_V1::ext::intel::esimd::saturation_off_tag
 This type tag represents "saturation off" behavior. More...
 
struct  sycl::_V1::ext::intel::esimd::detail::is_saturation_tag< T >
 

Namespaces

 sycl
 ---— Error handling, matching OpenCL plugin semantics.
 
 sycl::_V1
 
 sycl::_V1::ext
 
 sycl::_V1::ext::intel
 
 sycl::_V1::ext::intel::esimd
 
 sycl::_V1::ext::intel::esimd::detail
 

Macros

#define __ESIMD_USM_DWORD_ATOMIC_TO_LSC
 

Typedefs

using sycl::_V1::ext::intel::esimd::uchar = unsigned char
 
using sycl::_V1::ext::intel::esimd::ushort = unsigned short
 
using sycl::_V1::ext::intel::esimd::uint = unsigned int
 
using sycl::_V1::ext::intel::esimd::SurfaceIndex = unsigned int
 Surface index type. More...
 

Enumerations

enum class  sycl::_V1::ext::intel::esimd::rgba_channel : uint8_t { sycl::_V1::ext::intel::esimd::R , sycl::_V1::ext::intel::esimd::G , sycl::_V1::ext::intel::esimd::B , sycl::_V1::ext::intel::esimd::A }
 Represents a pixel's channel. More...
 
enum class  sycl::_V1::ext::intel::esimd::rgba_channel_mask : uint8_t {
  sycl::_V1::ext::intel::esimd::R = detail::chR , sycl::_V1::ext::intel::esimd::G = detail::chG , sycl::_V1::ext::intel::esimd::GR = detail::chG | detail::chR , sycl::_V1::ext::intel::esimd::B = detail::chB ,
  sycl::_V1::ext::intel::esimd::BR = detail::chB | detail::chR , sycl::_V1::ext::intel::esimd::BG = detail::chB | detail::chG , sycl::_V1::ext::intel::esimd::BGR = detail::chB | detail::chG | detail::chR , sycl::_V1::ext::intel::esimd::A = detail::chA ,
  sycl::_V1::ext::intel::esimd::AR = detail::chA | detail::chR , sycl::_V1::ext::intel::esimd::AG = detail::chA | detail::chG , sycl::_V1::ext::intel::esimd::AGR = detail::chA | detail::chG | detail::chR , sycl::_V1::ext::intel::esimd::AB = detail::chA | detail::chB ,
  sycl::_V1::ext::intel::esimd::ABR = detail::chA | detail::chB | detail::chR , sycl::_V1::ext::intel::esimd::ABG = detail::chA | detail::chB | detail::chG , sycl::_V1::ext::intel::esimd::ABGR = detail::chA | detail::chB | detail::chG | detail::chR
}
 Represents a pixel's channel mask - all possible combinations of enabled channels. More...
 
enum class  sycl::_V1::ext::intel::esimd::atomic_op : uint8_t {
  sycl::_V1::ext::intel::esimd::add = 0x0 , sycl::_V1::ext::intel::esimd::sub = 0x1 , sycl::_V1::ext::intel::esimd::inc = 0x2 , sycl::_V1::ext::intel::esimd::dec = 0x3 ,
  sycl::_V1::ext::intel::esimd::umin = 0x4 , sycl::_V1::ext::intel::esimd::__SYCL_DEPRECATED =("use umin") = umin , sycl::_V1::ext::intel::esimd::umax = 0x5 , sycl::_V1::ext::intel::esimd::__SYCL_DEPRECATED =("use smax") = umax ,
  sycl::_V1::ext::intel::esimd::xchg = 0x6 , sycl::_V1::ext::intel::esimd::cmpxchg = 0x7 , sycl::_V1::ext::intel::esimd::bit_and = 0x8 , sycl::_V1::ext::intel::esimd::bit_or = 0x9 ,
  sycl::_V1::ext::intel::esimd::bit_xor = 0xa , sycl::_V1::ext::intel::esimd::smin = 0xb , sycl::_V1::ext::intel::esimd::__SYCL_DEPRECATED =("use smin") = smin , sycl::_V1::ext::intel::esimd::smax = 0xc ,
  sycl::_V1::ext::intel::esimd::__SYCL_DEPRECATED =("use smax") = 0xc , sycl::_V1::ext::intel::esimd::__SYCL_DEPRECATED =("fmax" __ESIMD_USM_DWORD_ATOMIC_TO_LSC) = 0x10 , sycl::_V1::ext::intel::esimd::__SYCL_DEPRECATED =("fmin" __ESIMD_USM_DWORD_ATOMIC_TO_LSC) = 0x11 , sycl::_V1::ext::intel::esimd::fcmpxchg = 0x12 ,
  sycl::_V1::ext::intel::esimd::__SYCL_DEPRECATED =("fcmpwr" __ESIMD_USM_DWORD_ATOMIC_TO_LSC) = fcmpxchg , sycl::_V1::ext::intel::esimd::__SYCL_DEPRECATED =("fadd" __ESIMD_USM_DWORD_ATOMIC_TO_LSC) = 0x13 , sycl::_V1::ext::intel::esimd::__SYCL_DEPRECATED =("fsub" __ESIMD_USM_DWORD_ATOMIC_TO_LSC) = 0x14 , sycl::_V1::ext::intel::esimd::load = 0x15 ,
  sycl::_V1::ext::intel::esimd::store = 0x16 , sycl::_V1::ext::intel::esimd::predec = 0xff
}
 Represents an atomic operation. More...
 

Functions

constexpr ESIMD_INLINE bool sycl::_V1::ext::intel::esimd::detail::isPowerOf2 (unsigned int n)
 Check if a given 32 bit positive integer is a power of 2 at compile time. More...
 
constexpr ESIMD_INLINE bool sycl::_V1::ext::intel::esimd::detail::isPowerOf2 (unsigned int n, unsigned int limit)
 Check at compile time if given 32 bit positive integer is both: More...
 
constexpr int sycl::_V1::ext::intel::esimd::is_channel_enabled (rgba_channel_mask M, rgba_channel Ch)
 
constexpr int sycl::_V1::ext::intel::esimd::get_num_channels_enabled (rgba_channel_mask M)
 
template<sycl::ext::intel::esimd::native::lsc::atomic_op Op>
constexpr int sycl::_V1::ext::intel::esimd::detail::get_num_args ()
 
template<sycl::ext::intel::esimd::atomic_op Op>
constexpr bool sycl::_V1::ext::intel::esimd::detail::has_lsc_equivalent ()
 
template<sycl::ext::intel::esimd::atomic_op Op>
constexpr sycl::ext::intel::esimd::native::lsc::atomic_op sycl::_V1::ext::intel::esimd::detail::to_lsc_atomic_op ()
 
template<sycl::ext::intel::esimd::native::lsc::atomic_op Op>
constexpr sycl::ext::intel::esimd::atomic_op sycl::_V1::ext::intel::esimd::detail::to_atomic_op ()
 

Variables

static constexpr saturation_off_tag sycl::_V1::ext::intel::esimd::saturation_off {}
 Type tag object representing "saturation off" behavior. More...
 
static constexpr saturation_on_tag sycl::_V1::ext::intel::esimd::saturation_on {}
 Type tag object representing "saturation on" behavior. More...
 
template<class T >
constexpr bool sycl::_V1::ext::intel::esimd::detail::is_saturation_tag_v = is_saturation_tag<T>::value
 
template<rgba_channel Ch>
static constexpr uint8_t sycl::_V1::ext::intel::esimd::detail::ch = 1 << static_cast<int>(Ch)
 
static constexpr uint8_t sycl::_V1::ext::intel::esimd::detail::chR = ch<rgba_channel::R>
 
static constexpr uint8_t sycl::_V1::ext::intel::esimd::detail::chG = ch<rgba_channel::G>
 
static constexpr uint8_t sycl::_V1::ext::intel::esimd::detail::chB = ch<rgba_channel::B>
 
static constexpr uint8_t sycl::_V1::ext::intel::esimd::detail::chA = ch<rgba_channel::A>
 
static constexpr SurfaceIndex sycl::_V1::ext::intel::esimd::detail::SLM_BTI = 254
 
static constexpr SurfaceIndex sycl::_V1::ext::intel::esimd::detail::INVALID_BTI