Use precompiled headers on MSVC
authorJeff Bolz <jbolz@nvidia.com>
Fri, 19 Oct 2018 04:00:34 +0000 (23:00 -0500)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Wed, 31 Oct 2018 10:21:32 +0000 (06:21 -0400)
commit3c40ed901888e5c3863d659800970d9bbcffd967
treea8ffc51860b5822872f60a610ce65d71cc7b0882
parentfc00c27d285b48b4c233bb79e07a6df5e6082e90
Use precompiled headers on MSVC

This is a significant improvement in build time on MSVC,
maybe 25% overall. Qualitatively, compile time is about 2x
faster, but link time, lack of parallelism for the whole
duration of the build, and some unaccelerated components
(e.g. glslang and some internal modules) reduce the total
wall clock time improvement from 50% down to that 25%.

This also helps a lot with performance of the builds for
generating mustpass lists.

Components: Vulkan, OpenGL, Framework
Change-Id: I6013d9728444d9892e9a5ec8f31a574c10ca06b2
62 files changed:
AndroidGen.mk
CMakeLists.txt
external/openglcts/modules/CMakeLists.txt
external/openglcts/modules/common/CMakeLists.txt
external/openglcts/modules/gl/CMakeLists.txt
external/openglcts/modules/gles31/CMakeLists.txt
external/openglcts/modules/glesext/CMakeLists.txt
external/openglcts/modules/pch.cpp [new file with mode: 0644]
external/openglcts/modules/pch.h [new file with mode: 0644]
external/vulkancts/framework/vulkan/CMakeLists.txt
external/vulkancts/modules/vulkan/CMakeLists.txt
external/vulkancts/modules/vulkan/api/CMakeLists.txt
external/vulkancts/modules/vulkan/binding_model/CMakeLists.txt
external/vulkancts/modules/vulkan/compute/CMakeLists.txt
external/vulkancts/modules/vulkan/draw/CMakeLists.txt
external/vulkancts/modules/vulkan/dynamic_state/CMakeLists.txt
external/vulkancts/modules/vulkan/fragment_ops/CMakeLists.txt
external/vulkancts/modules/vulkan/geometry/CMakeLists.txt
external/vulkancts/modules/vulkan/image/CMakeLists.txt
external/vulkancts/modules/vulkan/memory/CMakeLists.txt
external/vulkancts/modules/vulkan/multiview/CMakeLists.txt
external/vulkancts/modules/vulkan/pch.cpp [new file with mode: 0644]
external/vulkancts/modules/vulkan/pch.h [new file with mode: 0644]
external/vulkancts/modules/vulkan/pipeline/CMakeLists.txt
external/vulkancts/modules/vulkan/protected_memory/CMakeLists.txt
external/vulkancts/modules/vulkan/query_pool/CMakeLists.txt
external/vulkancts/modules/vulkan/renderpass/CMakeLists.txt
external/vulkancts/modules/vulkan/robustness/CMakeLists.txt
external/vulkancts/modules/vulkan/shaderexecutor/CMakeLists.txt
external/vulkancts/modules/vulkan/shaderrender/CMakeLists.txt
external/vulkancts/modules/vulkan/sparse_resources/CMakeLists.txt
external/vulkancts/modules/vulkan/spirv_assembly/CMakeLists.txt
external/vulkancts/modules/vulkan/subgroups/CMakeLists.txt [changed mode: 0755->0644]
external/vulkancts/modules/vulkan/synchronization/CMakeLists.txt
external/vulkancts/modules/vulkan/tessellation/CMakeLists.txt
external/vulkancts/modules/vulkan/texture/CMakeLists.txt
external/vulkancts/modules/vulkan/ubo/CMakeLists.txt
external/vulkancts/modules/vulkan/wsi/CMakeLists.txt
external/vulkancts/modules/vulkan/ycbcr/CMakeLists.txt
framework/common/CMakeLists.txt
framework/delibs/decpp/CMakeLists.txt
framework/delibs/decpp/pch.cpp [new file with mode: 0644]
framework/delibs/decpp/pch.h [new file with mode: 0644]
framework/opengl/CMakeLists.txt
framework/pch.cpp [new file with mode: 0644]
framework/pch.h [new file with mode: 0644]
framework/randomshaders/CMakeLists.txt
framework/referencerenderer/CMakeLists.txt
modules/egl/CMakeLists.txt
modules/gles2/accuracy/CMakeLists.txt
modules/gles2/functional/CMakeLists.txt
modules/gles2/performance/CMakeLists.txt
modules/gles2/stress/CMakeLists.txt
modules/gles3/accuracy/CMakeLists.txt
modules/gles3/functional/CMakeLists.txt
modules/gles3/performance/CMakeLists.txt
modules/gles3/stress/CMakeLists.txt
modules/gles31/functional/CMakeLists.txt
modules/gles31/stress/CMakeLists.txt
modules/glshared/CMakeLists.txt
modules/pch.cpp [new file with mode: 0644]
modules/pch.h [new file with mode: 0644]