Plasma Engine  2.0
Loading...
Searching...
No Matches
PlatformFeatures_win.h
1#pragma once
2
4
6#undef PL_USE_POSIX_FILE_API
7
8#if PL_ENABLED(PL_PLATFORM_WINDOWS_UWP)
9# define PL_USE_POSIX_FILE_API PL_ON
10#else
11# define PL_USE_POSIX_FILE_API PL_OFF
12#endif
13
15#undef PL_SUPPORTS_FILE_ITERATORS
16
17#if PL_ENABLED(PL_PLATFORM_WINDOWS_UWP)
18# define PL_SUPPORTS_FILE_ITERATORS PL_OFF
19#else
20# define PL_SUPPORTS_FILE_ITERATORS PL_ON
21#endif
22
24#undef PL_SUPPORTS_FILE_STATS
25#define PL_SUPPORTS_FILE_STATS PL_ON
26
28#undef PL_SUPPORTS_DIRECTORY_WATCHER
29#if PL_ENABLED(PL_PLATFORM_WINDOWS_UWP)
30# define PL_SUPPORTS_DIRECTORY_WATCHER PL_OFF
31#else
32# define PL_SUPPORTS_DIRECTORY_WATCHER PL_ON
33#endif
34
36#undef PL_SUPPORTS_MEMORY_MAPPED_FILE
37#if PL_ENABLED(PL_PLATFORM_WINDOWS_UWP)
38# define PL_SUPPORTS_MEMORY_MAPPED_FILE PL_OFF
39#else
40# define PL_SUPPORTS_MEMORY_MAPPED_FILE PL_ON
41#endif
42
44#undef PL_SUPPORTS_SHARED_MEMORY
45#if PL_ENABLED(PL_PLATFORM_WINDOWS_UWP)
46# define PL_SUPPORTS_SHARED_MEMORY PL_OFF
47#else
48# define PL_SUPPORTS_SHARED_MEMORY PL_ON
49#endif
50
52#undef PL_SUPPORTS_DYNAMIC_PLUGINS
53#define PL_SUPPORTS_DYNAMIC_PLUGINS PL_ON
54
56#undef PL_SUPPORTS_UNRESTRICTED_FILE_ACCESS
57#if PL_ENABLED(PL_PLATFORM_WINDOWS_UWP)
58# define PL_SUPPORTS_UNRESTRICTED_FILE_ACCESS PL_OFF
59#else
60# define PL_SUPPORTS_UNRESTRICTED_FILE_ACCESS PL_ON
61#endif
62
64#undef PL_SUPPORTS_CASE_INSENSITIVE_PATHS
65#define PL_SUPPORTS_CASE_INSENSITIVE_PATHS PL_ON
66
68#undef PL_SUPPORTS_PROCESSES
69#if PL_ENABLED(PL_PLATFORM_WINDOWS_UWP)
70# define PL_SUPPORTS_PROCESSES PL_OFF
71#else
72# define PL_SUPPORTS_PROCESSES PL_ON
73#endif
74
75// SIMD support
76#undef PL_SIMD_IMPLEMENTATION
77
78#if PL_ENABLED(PL_PLATFORM_ARCH_X86)
79# define PL_SIMD_IMPLEMENTATION PL_SIMD_IMPLEMENTATION_SSE
80#elif PL_ENABLED(PL_PLATFORM_ARCH_ARM)
81# define PL_SIMD_IMPLEMENTATION PL_SIMD_IMPLEMENTATION_FPU
82#else
83# error "Unknown architecture."
84#endif
85
86// Writing crashdumps is only supported on windows desktop
87#if PL_ENABLED(PL_PLATFORM_WINDOWS_DESKTOP)
88# undef PL_SUPPORTS_CRASH_DUMPS
89# define PL_SUPPORTS_CRASH_DUMPS PL_ON
90#endif
91
92// support for writing to files with very long paths is not implemented for UWP
93#if PL_ENABLED(PL_PLATFORM_WINDOWS_DESKTOP)
94# undef PL_SUPPORTS_LONG_PATHS
95# define PL_SUPPORTS_LONG_PATHS PL_ON
96#endif