NvBlastIncludeWindows.h
Go to the documentation of this file.
1 // This code contains NVIDIA Confidential Information and is disclosed to you
2 // under a form of NVIDIA software license agreement provided separately to you.
3 //
4 // Notice
5 // NVIDIA Corporation and its licensors retain all intellectual property and
6 // proprietary rights in and to this software and related documentation and
7 // any modifications thereto. Any use, reproduction, disclosure, or
8 // distribution of this software and related documentation without an express
9 // license agreement from NVIDIA Corporation is strictly prohibited.
10 //
11 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES
12 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
13 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,
14 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
15 //
16 // Information and code furnished is believed to be accurate and reliable.
17 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such
18 // information or for any infringement of patents or other rights of third parties that may
19 // result from its use. No license is granted by implication or otherwise under any patent
20 // or patent rights of NVIDIA Corporation. Details are subject to change without notice.
21 // This code supersedes and replaces all information previously supplied.
22 // NVIDIA Corporation products are not authorized for use as critical
23 // components in life support devices or systems without express written approval of
24 // NVIDIA Corporation.
25 //
26 // Copyright (c) 2016-2020 NVIDIA Corporation. All rights reserved.
27 
28 
29 #ifndef NVBLASTINCLUDEWINDOWS_H
30 #define NVBLASTINCLUDEWINDOWS_H
31 
32 #ifndef _WINDOWS_ // windows already included if this is defined
33 
34 #include "NvBlastPreprocessor.h"
35 
36 #ifndef _WIN32
37 #error "This file should only be included by Windows builds!!"
38 #endif
39 
40 // We only support >= Windows XP, and we need this for critical section and
41 #if !NV_WINRT
42 #define _WIN32_WINNT 0x0501
43 #else
44 #define _WIN32_WINNT 0x0602
45 #endif
46 
47 // turn off as much as we can for windows. All we really need is the thread functions(critical sections/Interlocked*
48 // etc)
49 #define NOGDICAPMASKS
50 #define NOVIRTUALKEYCODES
51 #define NOWINMESSAGES
52 #define NOWINSTYLES
53 #define NOSYSMETRICS
54 #define NOMENUS
55 #define NOICONS
56 #define NOKEYSTATES
57 #define NOSYSCOMMANDS
58 #define NORASTEROPS
59 #define NOSHOWWINDOW
60 #define NOATOM
61 #define NOCLIPBOARD
62 #define NOCOLOR
63 #define NOCTLMGR
64 #define NODRAWTEXT
65 #define NOGDI
66 #define NOMB
67 #define NOMEMMGR
68 #define NOMETAFILE
69 #define NOMINMAX
70 #define NOOPENFILE
71 #define NOSCROLL
72 #define NOSERVICE
73 #define NOSOUND
74 #define NOTEXTMETRIC
75 #define NOWH
76 #define NOWINOFFSETS
77 #define NOCOMM
78 #define NOKANJI
79 #define NOHELP
80 #define NOPROFILER
81 #define NODEFERWINDOWPOS
82 #define NOMCX
83 #ifndef WIN32_LEAN_AND_MEAN
84 #define WIN32_LEAN_AND_MEAN
85 #endif
86 #if !NV_WINRT
87 #define NOUSER
88 #define NONLS
89 #define NOMSG
90 #endif
91 
92 #pragma warning(push)
93 #pragma warning(disable : 4668) //'symbol' is not defined as a preprocessor macro, replacing with '0' for 'directives'
94 #include <windows.h>
95 #pragma warning(pop)
96 
97 #if NV_SSE2
98 #include <xmmintrin.h>
99 #endif
100 
101 #endif // #ifndef _WINDOWS_
102 
103 #endif // #ifndef NVBLASTINCLUDEWINDOWS_H