diff options
author | Brandon Jones <bajones@chromium.org> | 2014-10-29 11:32:04 -0700 |
---|---|---|
committer | Brandon Jones <bajones@chromium.org> | 2014-10-30 18:30:13 +0000 |
commit | 091540d31c6be35332e96178d58d2558db175bf2 (patch) | |
tree | 8a1906f594dcdf34c08b2a015be1aff70ce33038 | |
parent | db9b40b0d663a105c05889647931dc25b379d966 (diff) | |
download | angle-091540d31c6be35332e96178d58d2558db175bf2.tar.gz |
Changed feature macros to reduce accidental enabling/disabling
Change-Id: Ieb1a0c55f412f2a1bb858522b2dfaa7a60aa7ddb
Reviewed-on: https://chromium-review.googlesource.com/226304
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Brandon Jones <bajones@chromium.org>
-rw-r--r-- | projects/src/libANGLE.vcxproj | 1 | ||||
-rw-r--r-- | projects/src/libANGLE.vcxproj.filters | 9 | ||||
-rw-r--r-- | projects/winrt/windows/src/libANGLE.vcxproj | 1 | ||||
-rw-r--r-- | projects/winrt/windows/src/libANGLE.vcxproj.filters | 9 | ||||
-rw-r--r-- | src/common/features.h | 35 | ||||
-rw-r--r-- | src/libGLESv2.gypi | 1 | ||||
-rw-r--r-- | src/libGLESv2/ProgramBinary.cpp | 5 | ||||
-rw-r--r-- | src/libGLESv2/renderer/d3d/HLSLCompiler.cpp | 3 | ||||
-rw-r--r-- | src/libGLESv2/renderer/d3d/ProgramD3D.cpp | 3 | ||||
-rw-r--r-- | src/libGLESv2/renderer/d3d/ShaderD3D.cpp | 3 | ||||
-rw-r--r-- | src/libGLESv2/renderer/d3d/d3d11/SwapChain11.cpp | 3 | ||||
-rw-r--r-- | src/libGLESv2/renderer/d3d/d3d9/Renderer9.cpp | 13 | ||||
-rw-r--r-- | src/libGLESv2/renderer/d3d/d3d9/SwapChain9.cpp | 4 |
13 files changed, 73 insertions, 17 deletions
diff --git a/projects/src/libANGLE.vcxproj b/projects/src/libANGLE.vcxproj index 0d6554c4..b198df1b 100644 --- a/projects/src/libANGLE.vcxproj +++ b/projects/src/libANGLE.vcxproj @@ -249,6 +249,7 @@ <ClInclude Include="..\..\src\common\blocklayout.h"/> <ClInclude Include="..\..\src\common\debug.h"/> <ClInclude Include="..\..\src\common\event_tracer.h"/> + <ClInclude Include="..\..\src\common\features.h"/> <ClInclude Include="..\..\src\common\mathutil.h"/> <ClInclude Include="..\..\src\common\platform.h"/> <ClInclude Include="..\..\src\common\NativeWindow.h"/> diff --git a/projects/src/libANGLE.vcxproj.filters b/projects/src/libANGLE.vcxproj.filters index c424ec96..8c68ad87 100644 --- a/projects/src/libANGLE.vcxproj.filters +++ b/projects/src/libANGLE.vcxproj.filters @@ -193,6 +193,12 @@ <Filter Include="src"> <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> <Filter Include="src\libGLESv2"> <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> </Filter> @@ -3564,6 +3570,9 @@ <ClInclude Include="..\..\src\common\event_tracer.h"> <Filter>src\common</Filter> </ClInclude> + <ClInclude Include="..\..\src\common\features.h"> + <Filter>src\common</Filter> + </ClInclude> <ClCompile Include="..\..\src\common\mathutil.cpp"> <Filter>src\common</Filter> </ClCompile> diff --git a/projects/winrt/windows/src/libANGLE.vcxproj b/projects/winrt/windows/src/libANGLE.vcxproj index 38f772ef..a79ad312 100644 --- a/projects/winrt/windows/src/libANGLE.vcxproj +++ b/projects/winrt/windows/src/libANGLE.vcxproj @@ -362,6 +362,7 @@ <ClInclude Include="..\..\..\..\src\common\blocklayout.h"/> <ClInclude Include="..\..\..\..\src\common\debug.h"/> <ClInclude Include="..\..\..\..\src\common\event_tracer.h"/> + <ClInclude Include="..\..\..\..\src\common\features.h"/> <ClInclude Include="..\..\..\..\src\common\mathutil.h"/> <ClInclude Include="..\..\..\..\src\common\platform.h"/> <ClInclude Include="..\..\..\..\src\common\NativeWindow.h"/> diff --git a/projects/winrt/windows/src/libANGLE.vcxproj.filters b/projects/winrt/windows/src/libANGLE.vcxproj.filters index 4c058735..2a52d90b 100644 --- a/projects/winrt/windows/src/libANGLE.vcxproj.filters +++ b/projects/winrt/windows/src/libANGLE.vcxproj.filters @@ -193,6 +193,12 @@ <Filter Include="src"> <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> </Filter> + <Filter Include="src\common"> + <UniqueIdentifier>{2F5FD094-EF52-77F7-7AA8-4327A01BF747}</UniqueIdentifier> + </Filter> + <Filter Include="src"> + <UniqueIdentifier>{8CDEE807-BC53-E450-C8B8-4DEBB66742D4}</UniqueIdentifier> + </Filter> <Filter Include="src\libGLESv2"> <UniqueIdentifier>{A62A9415-2E9D-A6D2-631D-1F25A5CD626F}</UniqueIdentifier> </Filter> @@ -3021,6 +3027,9 @@ <ClInclude Include="..\..\..\..\src\common\event_tracer.h"> <Filter>src\common</Filter> </ClInclude> + <ClInclude Include="..\..\..\..\src\common\features.h"> + <Filter>src\common</Filter> + </ClInclude> <ClCompile Include="..\..\..\..\src\common\mathutil.cpp"> <Filter>src\common</Filter> </ClCompile> diff --git a/src/common/features.h b/src/common/features.h new file mode 100644 index 00000000..b49a0ee8 --- /dev/null +++ b/src/common/features.h @@ -0,0 +1,35 @@ +// +// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// + +#define ANGLE_DISABLED 0 +#define ANGLE_ENABLED 1 + +// Feature defaults + +// Direct3D9EX +// The "Debug This Pixel..." feature in PIX often fails when using the +// D3D9Ex interfaces. In order to get debug pixel to work on a Vista/Win 7 +// machine, define "ANGLE_D3D9EX=0" in your project file. +#if !defined(ANGLE_D3D9EX) +#define ANGLE_D3D9EX ANGLE_ENABLED +#endif + +// Vsync +// ENABLED allows Vsync to be configured at runtime +// DISABLED disallows Vsync +#if !defined(ANGLE_VSYNC) +#define ANGLE_VSYNC ANGLE_ENABLED +#endif + +// Program binary loading +#if !defined(ANGLE_PROGRAM_BINARY_LOAD) +#define ANGLE_PROGRAM_BINARY_LOAD ANGLE_ENABLED +#endif + +// Shader debug info +#if !defined(ANGLE_SHADER_DEBUG_INFO) +#define ANGLE_SHADER_DEBUG_INFO ANGLE_DISABLED +#endif diff --git a/src/libGLESv2.gypi b/src/libGLESv2.gypi index 8f21ae45..b65c6224 100644 --- a/src/libGLESv2.gypi +++ b/src/libGLESv2.gypi @@ -31,6 +31,7 @@ 'common/debug.h', 'common/event_tracer.cpp', 'common/event_tracer.h', + 'common/features.h', 'common/mathutil.cpp', 'common/mathutil.h', 'common/platform.h', diff --git a/src/libGLESv2/ProgramBinary.cpp b/src/libGLESv2/ProgramBinary.cpp index 900423f4..40f1e8c9 100644 --- a/src/libGLESv2/ProgramBinary.cpp +++ b/src/libGLESv2/ProgramBinary.cpp @@ -27,6 +27,7 @@ #include "libGLESv2/Context.h" #include "libGLESv2/Buffer.h" #include "common/blocklayout.h" +#include "common/features.h" namespace gl { @@ -362,7 +363,7 @@ bool ProgramBinary::linkVaryings(InfoLog &infoLog, Shader *fragmentShader, Shade LinkResult ProgramBinary::load(InfoLog &infoLog, GLenum binaryFormat, const void *binary, GLsizei length) { -#ifdef ANGLE_DISABLE_PROGRAM_BINARY_LOAD +#if ANGLE_PROGRAM_BINARY_LOAD == ANGLE_ENABLED return LinkResult(false, Error(GL_NO_ERROR)); #else ASSERT(binaryFormat == mProgram->getBinaryFormat()); @@ -419,7 +420,7 @@ LinkResult ProgramBinary::load(InfoLog &infoLog, GLenum binaryFormat, const void } return LinkResult(true, Error(GL_NO_ERROR)); -#endif // #ifdef ANGLE_DISABLE_PROGRAM_BINARY_LOAD +#endif // #if ANGLE_PROGRAM_BINARY_LOAD == ANGLE_ENABLED } Error ProgramBinary::save(GLenum *binaryFormat, void *binary, GLsizei bufSize, GLsizei *length) diff --git a/src/libGLESv2/renderer/d3d/HLSLCompiler.cpp b/src/libGLESv2/renderer/d3d/HLSLCompiler.cpp index 59a6a2f4..5c44fe01 100644 --- a/src/libGLESv2/renderer/d3d/HLSLCompiler.cpp +++ b/src/libGLESv2/renderer/d3d/HLSLCompiler.cpp @@ -8,6 +8,7 @@ #include "libGLESv2/Program.h" #include "libGLESv2/main.h" +#include "common/features.h" #include "common/utilities.h" #include "third_party/trace_event/trace_event.h" @@ -225,7 +226,7 @@ gl::Error HLSLCompiler::compileToBinary(gl::InfoLog &infoLog, const std::string { *outCompiledBlob = binary; -#ifdef ANGLE_GENERATE_SHADER_DEBUG_INFO +#if ANGLE_SHADER_DEBUG_INFO == ANGLE_ENABLED (*outDebugInfo) += "// COMPILER INPUT HLSL BEGIN\n\n" + hlsl + "\n// COMPILER INPUT HLSL END\n"; (*outDebugInfo) += "\n\n// ASSEMBLY BEGIN\n\n"; (*outDebugInfo) += "// Compiler configuration: " + configs[i].name + "\n// Flags:\n"; diff --git a/src/libGLESv2/renderer/d3d/ProgramD3D.cpp b/src/libGLESv2/renderer/d3d/ProgramD3D.cpp index cf8566d0..6681d756 100644 --- a/src/libGLESv2/renderer/d3d/ProgramD3D.cpp +++ b/src/libGLESv2/renderer/d3d/ProgramD3D.cpp @@ -8,6 +8,7 @@ #include "libGLESv2/renderer/d3d/ProgramD3D.h" +#include "common/features.h" #include "common/utilities.h" #include "libGLESv2/Framebuffer.h" #include "libGLESv2/FramebufferAttachment.h" @@ -954,7 +955,7 @@ gl::LinkResult ProgramD3D::compileProgramExecutables(gl::InfoLog &infoLog, gl::S } } -#ifdef ANGLE_GENERATE_SHADER_DEBUG_INFO +#if ANGLE_SHADER_DEBUG_INFO == ANGLE_ENABLED if (usesGeometryShader() && mGeometryExecutable) { // Geometry shaders are currently only used internally, so there is no corresponding shader object at the interface level diff --git a/src/libGLESv2/renderer/d3d/ShaderD3D.cpp b/src/libGLESv2/renderer/d3d/ShaderD3D.cpp index de356246..d08a81d4 100644 --- a/src/libGLESv2/renderer/d3d/ShaderD3D.cpp +++ b/src/libGLESv2/renderer/d3d/ShaderD3D.cpp @@ -11,6 +11,7 @@ #include "libGLESv2/Shader.h" #include "libGLESv2/main.h" +#include "common/features.h" #include "common/utilities.h" // Definitions local to the translation unit @@ -451,7 +452,7 @@ bool ShaderD3D::compile(const std::string &source) } } -#ifdef ANGLE_GENERATE_SHADER_DEBUG_INFO +#if ANGLE_SHADER_DEBUG_INFO == ANGLE_ENABLED mDebugInfo += std::string("// ") + GetShaderTypeString(mType) + " SHADER BEGIN\n"; mDebugInfo += "\n// GLSL BEGIN\n\n" + source + "\n\n// GLSL END\n\n\n"; mDebugInfo += "// INITIAL HLSL BEGIN\n\n" + getTranslatedSource() + "\n// INITIAL HLSL END\n\n\n"; diff --git a/src/libGLESv2/renderer/d3d/d3d11/SwapChain11.cpp b/src/libGLESv2/renderer/d3d/d3d11/SwapChain11.cpp index 6865e06c..13fc82e1 100644 --- a/src/libGLESv2/renderer/d3d/d3d11/SwapChain11.cpp +++ b/src/libGLESv2/renderer/d3d/d3d11/SwapChain11.cpp @@ -15,6 +15,7 @@ #include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthrough2d11vs.h" #include "libGLESv2/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2d11ps.h" +#include "common/features.h" #include "common/NativeWindow.h" namespace rx @@ -578,7 +579,7 @@ EGLint SwapChain11::swapRect(EGLint x, EGLint y, EGLint width, EGLint height) // Draw deviceContext->Draw(4, 0); -#ifdef ANGLE_FORCE_VSYNC_OFF +#if ANGLE_VSYNC == ANGLE_DISABLED result = mSwapChain->Present(0, 0); #else result = mSwapChain->Present(mSwapInterval, 0); diff --git a/src/libGLESv2/renderer/d3d/d3d9/Renderer9.cpp b/src/libGLESv2/renderer/d3d/d3d9/Renderer9.cpp index 4ce8b887..a5607d08 100644 --- a/src/libGLESv2/renderer/d3d/d3d9/Renderer9.cpp +++ b/src/libGLESv2/renderer/d3d/d3d9/Renderer9.cpp @@ -39,6 +39,7 @@ #include "libEGL/Display.h" +#include "common/features.h" #include "common/utilities.h" #include "third_party/trace_event/trace_event.h" @@ -48,14 +49,6 @@ // Can also be enabled by defining FORCE_REF_RAST in the project's predefined macros #define REF_RAST 0 -// The "Debug This Pixel..." feature in PIX often fails when using the -// D3D9Ex interfaces. In order to get debug pixel to work on a Vista/Win 7 -// machine, define "ANGLE_ENABLE_D3D9EX=0" in your project file. -#if !defined(ANGLE_ENABLE_D3D9EX) -// Enables use of the IDirect3D9Ex interface, when available -#define ANGLE_ENABLE_D3D9EX 1 -#endif // !defined(ANGLE_ENABLE_D3D9EX) - #if !defined(ANGLE_COMPILE_OPTIMIZATION_LEVEL) #define ANGLE_COMPILE_OPTIMIZATION_LEVEL D3DCOMPILE_OPTIMIZATION_LEVEL3 #endif @@ -207,7 +200,7 @@ EGLint Renderer9::initialize() // Use Direct3D9Ex if available. Among other things, this version is less // inclined to report a lost context, for example when the user switches // desktop. Direct3D9Ex is available in Windows Vista and later if suitable drivers are available. - if (ANGLE_ENABLE_D3D9EX && Direct3DCreate9ExPtr && SUCCEEDED(Direct3DCreate9ExPtr(D3D_SDK_VERSION, &mD3d9Ex))) + if (ANGLE_D3D9EX == ANGLE_ENABLED && Direct3DCreate9ExPtr && SUCCEEDED(Direct3DCreate9ExPtr(D3D_SDK_VERSION, &mD3d9Ex))) { TRACE_EVENT0("gpu", "D3d9Ex_QueryInterface"); ASSERT(mD3d9Ex); @@ -2288,7 +2281,7 @@ bool Renderer9::isRemovedDeviceResettable() const { bool success = false; -#ifdef ANGLE_ENABLE_D3D9EX +#if ANGLE_D3D9EX == ANGLE_ENABLED IDirect3D9Ex *d3d9Ex = NULL; typedef HRESULT (WINAPI *Direct3DCreate9ExFunc)(UINT, IDirect3D9Ex**); Direct3DCreate9ExFunc Direct3DCreate9ExPtr = reinterpret_cast<Direct3DCreate9ExFunc>(GetProcAddress(mD3d9Module, "Direct3DCreate9Ex")); diff --git a/src/libGLESv2/renderer/d3d/d3d9/SwapChain9.cpp b/src/libGLESv2/renderer/d3d/d3d9/SwapChain9.cpp index cd8764ca..8fdffe9d 100644 --- a/src/libGLESv2/renderer/d3d/d3d9/SwapChain9.cpp +++ b/src/libGLESv2/renderer/d3d/d3d9/SwapChain9.cpp @@ -11,6 +11,8 @@ #include "libGLESv2/renderer/d3d/d3d9/formatutils9.h" #include "libGLESv2/renderer/d3d/d3d9/Renderer9.h" +#include "common/features.h" + namespace rx { @@ -50,7 +52,7 @@ void SwapChain9::release() static DWORD convertInterval(EGLint interval) { -#ifdef ANGLE_FORCE_VSYNC_OFF +#if ANGLE_VSYNC == ANGLE_DISABLED return D3DPRESENT_INTERVAL_IMMEDIATE; #else switch(interval) |