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 #include <ur_api.h>
13 
14 namespace sycl {
15 inline namespace _V1 {
16 namespace ext::oneapi::experimental {
17 
19 enum class cubemap_filtering_mode : unsigned int {
20  disjointed = UR_EXP_SAMPLER_CUBEMAP_FILTER_MODE_DISJOINTED,
21  seamless = UR_EXP_SAMPLER_CUBEMAP_FILTER_MODE_SEAMLESS,
22 };
23 
25 
29  : addressing{addr[0], addr[1], addr[2]}, coordinate(coordinate),
31 
35  sycl::filtering_mode mipmapFiltering,
36  float minMipmapLevelClamp, float maxMipmapLevelClamp,
37  float maxAnisotropy)
38  : addressing{addr[0], addr[1], addr[2]}, coordinate(coordinate),
39  filtering(filtering), mipmap_filtering(mipmapFiltering),
40  min_mipmap_level_clamp(minMipmapLevelClamp),
41  max_mipmap_level_clamp(maxMipmapLevelClamp),
42  max_anisotropy(maxAnisotropy) {}
43 
45 
49  : addressing{addr, addr, addr}, coordinate(coordinate),
51 
55  sycl::filtering_mode mipmapFiltering,
56  float minMipmapLevelClamp, float maxMipmapLevelClamp,
57  float maxAnisotropy)
58  : addressing{addr, addr, addr}, coordinate(coordinate),
59  filtering(filtering), mipmap_filtering(mipmapFiltering),
60  min_mipmap_level_clamp(minMipmapLevelClamp),
61  max_mipmap_level_clamp(maxMipmapLevelClamp),
62  max_anisotropy(maxAnisotropy) {}
63 
67  cubemap_filtering_mode cubemapFiltering)
68  : addressing{addr, addr, addr}, coordinate(coordinate),
69  filtering(filtering), cubemap_filtering(cubemapFiltering) {}
70 
74  cubemap_filtering_mode cubemapFiltering)
75  : addressing{addr[0], addr[1], addr[2]}, coordinate(coordinate),
76  filtering(filtering), cubemap_filtering(cubemapFiltering) {}
77 
80  sycl::coordinate_normalization_mode::unnormalized;
81  sycl::filtering_mode filtering = sycl::filtering_mode::nearest;
82  sycl::filtering_mode mipmap_filtering = sycl::filtering_mode::nearest;
86  float max_anisotropy = 0.f;
87 };
88 
89 } // namespace ext::oneapi::experimental
90 } // namespace _V1
91 } // namespace sycl
cubemap_filtering_mode
cubemap filtering mode enum
filtering_mode
Definition: sampler.hpp:31
coordinate_normalization_mode
Definition: sampler.hpp:36
addressing_mode
Definition: sampler.hpp:23
Definition: access.hpp:18
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)