xref: /aosp_15_r20/external/angle/src/libANGLE/features.h (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1*8975f5c5SAndroid Build Coastguard Worker //
2*8975f5c5SAndroid Build Coastguard Worker // Copyright 2014 The ANGLE Project Authors. All rights reserved.
3*8975f5c5SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
4*8975f5c5SAndroid Build Coastguard Worker // found in the LICENSE file.
5*8975f5c5SAndroid Build Coastguard Worker //
6*8975f5c5SAndroid Build Coastguard Worker 
7*8975f5c5SAndroid Build Coastguard Worker #ifndef LIBANGLE_FEATURES_H_
8*8975f5c5SAndroid Build Coastguard Worker #define LIBANGLE_FEATURES_H_
9*8975f5c5SAndroid Build Coastguard Worker 
10*8975f5c5SAndroid Build Coastguard Worker #include "common/platform.h"
11*8975f5c5SAndroid Build Coastguard Worker 
12*8975f5c5SAndroid Build Coastguard Worker // Feature defaults
13*8975f5c5SAndroid Build Coastguard Worker 
14*8975f5c5SAndroid Build Coastguard Worker // Direct3D9EX
15*8975f5c5SAndroid Build Coastguard Worker // The "Debug This Pixel..." feature in PIX often fails when using the
16*8975f5c5SAndroid Build Coastguard Worker // D3D9Ex interfaces.  In order to get debug pixel to work on a Vista/Win 7
17*8975f5c5SAndroid Build Coastguard Worker // machine, define "ANGLE_D3D9EX=0" in your project file.
18*8975f5c5SAndroid Build Coastguard Worker #if !defined(ANGLE_D3D9EX)
19*8975f5c5SAndroid Build Coastguard Worker #    define ANGLE_D3D9EX 1
20*8975f5c5SAndroid Build Coastguard Worker #endif
21*8975f5c5SAndroid Build Coastguard Worker 
22*8975f5c5SAndroid Build Coastguard Worker // Vsync
23*8975f5c5SAndroid Build Coastguard Worker // ENABLED allows Vsync to be configured at runtime
24*8975f5c5SAndroid Build Coastguard Worker // DISABLED disallows Vsync
25*8975f5c5SAndroid Build Coastguard Worker #if !defined(ANGLE_VSYNC)
26*8975f5c5SAndroid Build Coastguard Worker #    define ANGLE_VSYNC 1
27*8975f5c5SAndroid Build Coastguard Worker #endif
28*8975f5c5SAndroid Build Coastguard Worker 
29*8975f5c5SAndroid Build Coastguard Worker // Append HLSL assembly to shader debug info. Defaults to enabled in Debug and off in Release.
30*8975f5c5SAndroid Build Coastguard Worker #if !defined(ANGLE_APPEND_ASSEMBLY_TO_SHADER_DEBUG_INFO)
31*8975f5c5SAndroid Build Coastguard Worker #    if !defined(NDEBUG)
32*8975f5c5SAndroid Build Coastguard Worker #        define ANGLE_APPEND_ASSEMBLY_TO_SHADER_DEBUG_INFO 1
33*8975f5c5SAndroid Build Coastguard Worker #    else
34*8975f5c5SAndroid Build Coastguard Worker #        define ANGLE_APPEND_ASSEMBLY_TO_SHADER_DEBUG_INFO 0
35*8975f5c5SAndroid Build Coastguard Worker #    endif  // !defined(NDEBUG)
36*8975f5c5SAndroid Build Coastguard Worker #endif      // !defined(ANGLE_APPEND_ASSEMBLY_TO_SHADER_DEBUG_INFO)
37*8975f5c5SAndroid Build Coastguard Worker 
38*8975f5c5SAndroid Build Coastguard Worker // Program link validation of precisions for uniforms. This feature was
39*8975f5c5SAndroid Build Coastguard Worker // requested by developers to allow non-conformant shaders to be used which
40*8975f5c5SAndroid Build Coastguard Worker // contain mismatched precisions.
41*8975f5c5SAndroid Build Coastguard Worker // ENABLED validate that precision for uniforms match between vertex and fragment shaders
42*8975f5c5SAndroid Build Coastguard Worker // DISABLED allow precision for uniforms to differ between vertex and fragment shaders
43*8975f5c5SAndroid Build Coastguard Worker #if !defined(ANGLE_PROGRAM_LINK_VALIDATE_UNIFORM_PRECISION)
44*8975f5c5SAndroid Build Coastguard Worker #    define ANGLE_PROGRAM_LINK_VALIDATE_UNIFORM_PRECISION 1
45*8975f5c5SAndroid Build Coastguard Worker #endif
46*8975f5c5SAndroid Build Coastguard Worker 
47*8975f5c5SAndroid Build Coastguard Worker #endif  // LIBANGLE_FEATURES_H_
48