2 * Copyright 1993-2012 NVIDIA Corporation. All rights reserved.
6 * This source code and/or documentation ("Licensed Deliverables") are
7 * subject to NVIDIA intellectual property rights under U.S. and
8 * international Copyright laws.
10 * These Licensed Deliverables contained herein is PROPRIETARY and
11 * CONFIDENTIAL to NVIDIA and is being provided under the terms and
12 * conditions of a form of NVIDIA software license agreement by and
13 * between NVIDIA and Licensee ("License Agreement") or electronically
14 * accepted by Licensee. Notwithstanding any terms or conditions to
15 * the contrary in the License Agreement, reproduction or disclosure
16 * of the Licensed Deliverables to any third party without the express
17 * written consent of NVIDIA is prohibited.
19 * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
20 * LICENSE AGREEMENT, NVIDIA MAKES NO REPRESENTATION ABOUT THE
21 * SUITABILITY OF THESE LICENSED DELIVERABLES FOR ANY PURPOSE. IT IS
22 * PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.
23 * NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THESE LICENSED
24 * DELIVERABLES, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY,
25 * NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.
26 * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
27 * LICENSE AGREEMENT, IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY
28 * SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY
29 * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
30 * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
31 * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
32 * OF THESE LICENSED DELIVERABLES.
34 * U.S. Government End Users. These Licensed Deliverables are a
35 * "commercial item" as that term is defined at 48 C.F.R. 2.101 (OCT
36 * 1995), consisting of "commercial computer software" and "commercial
37 * computer software documentation" as such terms are used in 48
38 * C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government
39 * only as a commercial end item. Consistent with 48 C.F.R.12.212 and
40 * 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), all
41 * U.S. Government End Users acquire the Licensed Deliverables with
42 * only those rights set forth herein.
44 * Any use of the Licensed Deliverables in individual and commercial
45 * software must include, in the user documentation and internal
46 * comments to the code, the above Disclaimer and U.S. Government End
50 #if !defined(__TEXTURE_TYPES_H__)
51 #define __TEXTURE_TYPES_H__
53 /*******************************************************************************
57 *******************************************************************************/
59 #include "driver_types.h"
62 * \addtogroup CUDART_TYPES
67 /*******************************************************************************
71 *******************************************************************************/
73 #define cudaTextureType1D 0x01
74 #define cudaTextureType2D 0x02
75 #define cudaTextureType3D 0x03
76 #define cudaTextureTypeCubemap 0x0C
77 #define cudaTextureType1DLayered 0xF1
78 #define cudaTextureType2DLayered 0xF2
79 #define cudaTextureTypeCubemapLayered 0xFC
82 * CUDA texture address modes
84 enum __device_builtin__ cudaTextureAddressMode
86 cudaAddressModeWrap = 0, /**< Wrapping address mode */
87 cudaAddressModeClamp = 1, /**< Clamp to edge address mode */
88 cudaAddressModeMirror = 2, /**< Mirror address mode */
89 cudaAddressModeBorder = 3 /**< Border address mode */
93 * CUDA texture filter modes
95 enum __device_builtin__ cudaTextureFilterMode
97 cudaFilterModePoint = 0, /**< Point filter mode */
98 cudaFilterModeLinear = 1 /**< Linear filter mode */
102 * CUDA texture read modes
104 enum __device_builtin__ cudaTextureReadMode
106 cudaReadModeElementType = 0, /**< Read texture as specified element type */
107 cudaReadModeNormalizedFloat = 1 /**< Read texture as normalized float */
111 * CUDA texture reference
113 struct __device_builtin__ textureReference
116 * Indicates whether texture reads are normalized or not
120 * Texture filter mode
122 enum cudaTextureFilterMode filterMode;
124 * Texture address mode for up to 3 dimensions
126 enum cudaTextureAddressMode addressMode[3];
128 * Channel descriptor for the texture reference
130 struct cudaChannelFormatDesc channelDesc;
132 * Perform sRGB->linear conversion during texture read
136 * Limit to the anisotropy ratio
138 unsigned int maxAnisotropy;
142 enum cudaTextureFilterMode mipmapFilterMode;
144 * Offset applied to the supplied mipmap level
146 float mipmapLevelBias;
148 * Lower end of the mipmap level range to clamp access to
150 float minMipmapLevelClamp;
152 * Upper end of the mipmap level range to clamp access to
154 float maxMipmapLevelClamp;
155 int __cudaReserved[15];
159 * CUDA texture descriptor
161 struct __device_builtin__ cudaTextureDesc
164 * Texture address mode for up to 3 dimensions
166 enum cudaTextureAddressMode addressMode[3];
168 * Texture filter mode
170 enum cudaTextureFilterMode filterMode;
174 enum cudaTextureReadMode readMode;
176 * Perform sRGB->linear conversion during texture read
180 * Indicates whether texture reads are normalized or not
182 int normalizedCoords;
184 * Limit to the anisotropy ratio
186 unsigned int maxAnisotropy;
190 enum cudaTextureFilterMode mipmapFilterMode;
192 * Offset applied to the supplied mipmap level
194 float mipmapLevelBias;
196 * Lower end of the mipmap level range to clamp access to
198 float minMipmapLevelClamp;
200 * Upper end of the mipmap level range to clamp access to
202 float maxMipmapLevelClamp;
206 * CUDA texture object
208 typedef __device_builtin__ unsigned long long cudaTextureObject_t;
211 /** @} */ /* END CUDART_TYPES */
213 #endif /* !__TEXTURE_TYPES_H__ */