DPC++ Runtime
Runtime libraries for oneAPI DPC++
bindless_images_sampler.hpp
Go to the documentation of this file.
1 //==------ bindless_images_sampler.hpp --- SYCL bindless images ------------==//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #pragma once
10 
11 #include <sycl/sampler.hpp>
12 
13 namespace sycl {
14 inline namespace _V1 {
15 namespace ext::oneapi::experimental {
16 
18 enum class cubemap_filtering_mode : unsigned int {
21 };
22 
24 
28  : addressing{addr[0], addr[1], addr[2]}, coordinate(coordinate),
30 
34  sycl::filtering_mode mipmapFiltering,
35  float minMipmapLevelClamp, float maxMipmapLevelClamp,
36  float maxAnisotropy)
37  : addressing{addr[0], addr[1], addr[2]}, coordinate(coordinate),
38  filtering(filtering), mipmap_filtering(mipmapFiltering),
39  min_mipmap_level_clamp(minMipmapLevelClamp),
40  max_mipmap_level_clamp(maxMipmapLevelClamp),
41  max_anisotropy(maxAnisotropy) {}
42 
44 
48  : addressing{addr, addr, addr}, coordinate(coordinate),
50 
54  sycl::filtering_mode mipmapFiltering,
55  float minMipmapLevelClamp, float maxMipmapLevelClamp,
56  float maxAnisotropy)
57  : addressing{addr, addr, addr}, coordinate(coordinate),
58  filtering(filtering), mipmap_filtering(mipmapFiltering),
59  min_mipmap_level_clamp(minMipmapLevelClamp),
60  max_mipmap_level_clamp(maxMipmapLevelClamp),
61  max_anisotropy(maxAnisotropy) {}
62 
66  cubemap_filtering_mode cubemapFiltering)
67  : addressing{addr, addr, addr}, coordinate(coordinate),
68  filtering(filtering), cubemap_filtering(cubemapFiltering) {}
69 
73  cubemap_filtering_mode cubemapFiltering)
74  : addressing{addr[0], addr[1], addr[2]}, coordinate(coordinate),
75  filtering(filtering), cubemap_filtering(cubemapFiltering) {}
76 
79  sycl::coordinate_normalization_mode::unnormalized;
80  sycl::filtering_mode filtering = sycl::filtering_mode::nearest;
81  sycl::filtering_mode mipmap_filtering = sycl::filtering_mode::nearest;
85  float max_anisotropy = 0.f;
86 };
87 
88 } // namespace ext::oneapi::experimental
89 } // namespace _V1
90 } // namespace sycl
cubemap_filtering_mode
cubemap filtering mode enum
filtering_mode
Definition: sampler.hpp:32
coordinate_normalization_mode
Definition: sampler.hpp:37
addressing_mode
Definition: sampler.hpp:24
Definition: access.hpp:18
@ PI_SAMPLER_CUBEMAP_FILTER_MODE_SEAMLESS
Definition: pi.h:728
@ PI_SAMPLER_CUBEMAP_FILTER_MODE_DISJOINTED
Definition: pi.h:727
bindless_image_sampler(sycl::addressing_mode addr[3], sycl::coordinate_normalization_mode coordinate, sycl::filtering_mode filtering, cubemap_filtering_mode cubemapFiltering)
bindless_image_sampler(sycl::addressing_mode addr[3], sycl::coordinate_normalization_mode coordinate, sycl::filtering_mode filtering, sycl::filtering_mode mipmapFiltering, float minMipmapLevelClamp, float maxMipmapLevelClamp, float maxAnisotropy)
bindless_image_sampler(sycl::addressing_mode addr, sycl::coordinate_normalization_mode coordinate, sycl::filtering_mode filtering, sycl::filtering_mode mipmapFiltering, float minMipmapLevelClamp, float maxMipmapLevelClamp, float maxAnisotropy)
bindless_image_sampler(sycl::addressing_mode addr[3], sycl::coordinate_normalization_mode coordinate, sycl::filtering_mode filtering)
bindless_image_sampler(sycl::addressing_mode addr, sycl::coordinate_normalization_mode coordinate, sycl::filtering_mode filtering)
bindless_image_sampler(sycl::addressing_mode addr, sycl::coordinate_normalization_mode coordinate, sycl::filtering_mode filtering, cubemap_filtering_mode cubemapFiltering)