Fixes#1388
Turn on the Windows compiler option (4456) to report
hidden declarations.
Fix all places where this was occurring.
Change-Id: I3346d87da8b70d6299c206fcac68520a091ed1a6
Also address compiler warnings:
- Suppress warnings for inconsistently redefined snprintf
on Windows with Visual Studio < 2015. Warnings for
preprocessor redefinitions are still enabled on VS 2015
because snprintf is not redefined on VS 2015.
- Turn off "changed behavior" warning with Visual Studio < 2015
for using initializers in constructors. MSFT "fixed" some
forms of these initializers so that they clear members instead
of just leaving them alone. Since clearing is usually desired,
this isn't a problem in most cases. But if an object is
reinstantiated on top of an existing object, via placement new
for example, the clearing may not be desired if the first object's
data was meant to be preserved. We don't count on this behavior.
- Suppress linker warning for linking the loader in debug build on
Windows. This warning is for mismatched runtime libraries and
causes extra code to be linked in only for debug builds. Ignoring
the warning is generally regarded as better than the alternatives.
Change-Id: I8b0e311d3c80a8dd9ac0cc95f764ed1123efa86f
We had several copies of this macro across the repos -- moved it to
the top-level cmake file for sharing.
Change-Id: I33a97ecb24ad8c7cc6826c1a431f668fa2bec41f
- Set SCRIPTS_DIR in root CMakeLists.txt
- Update android-generate.bat and android-generate.sh
- Updated layer/loader/tests CMakeLists.txt files for new path
- Updated test layer doc scripts for new location
Change-Id: I2d519ec40883ebeec4e9daab8641ad65515bb08c
This commit fixes GH-1084. (see the issue for more details)
Note that this adds /usr/local/etc and /usr/local/share to the
loader's search path for drivers and layers.
Change-Id: I2cf502cc7d905225c8d38383ea6f856a4daed3ea
Signed-off-by: Dor Askayo <dor.askayo@gmail.com>
In order to improve the loader's compatibility with different filesystem hierarchies
under Linux, use CMake's CMAKE_INSTALL_FULL_<dir> instead of CMAKE_INSTALL_<dir> to
correctly resolve the absolute paths of SYSCONFDIR and DATADIR in compliance with
the GNU Coding Standard [1] and Linux Foundation's Filesystem Hierarchy Standard [2],
as explained in CMake's documentation [3].
Note to packagers: When using CMAKE_INSTALL_PREFIX, this commit obviates the
definition of other CMAKE_INSTALL_ defines to properly detect ICD and layer
manifests in GNU/Linux-compliant filesystems.
This commit fixes GH-1083. (see the issue for more details)
[1] https://www.gnu.org/prep/standards/html_node/Directory-Variables.html
[2] https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html
[3] https://cmake.org/cmake/help/v3.4/module/GNUInstallDirs.html
Change-Id: If743a3c8f5f7381e00c0d23b95b9e13c0dead144
Signed-off-by: Dor Askayo <dor.askayo@gmail.com>
Updated to more recent SPIRV, SPIRV_headers, and glslang commits.
This also required updating the overall build to use a new
library SPVRemapper.lib.
Change-Id: I47573be7a1fe62c519f504920590ceb6510a7a13
CMAKE_INSTALL_PREFIX default is /usr/local on unix
In order to build with a custom CMAKE_INSTALL_PREFIX, the line
set (CMAKE_INSTALL_PREFIX "") must be removed.
CMake set will overwrite anything specified on the command
line with cmake -DCMAKE_INSTALL_PREFIX.
Change-Id: I3bc905b4ad8fb08917e500e4987eb0277ba74a40
This includes applying a patch to glslang to revert glslang
commit a5c33d, which fixes a texel fetch problem that many IHV
drivers are not ready to cope with yet.
Disablng RTTI can save a little space. And it will help keep
some C++ features from being used that are not (well) supported
on some platforms.
Change-Id: I8050009a65de640c2e41cdefb1ead43c88bb710a
1) Ninja build and QTCreator IDE support
2) Out of tree builds that aren't based on using update_external_sources and build_windows_target scripts
3) Allowing the developer to use non-default locations for glslang and SPIRV-Tools binaries and sources
4) Fix linux build when developer chooses not to rename SPIRV-Tools to spirv-tools
Change-Id: Ib6118c47dc780e6721ec0538aae1a6ee444eed78
Have update_external_sources create a sub-directory "external" to
fetch these components into. This way the update_external_sources
does not potentially overwrite files outside the directory tree.
Change-Id: Ia03d1fb9e4dad9d9db26a46e596fb1bf24fcb033
Replace the hardcoded glslang and spirv-tools path with
CMake find macros to find the include, library, and programs.
Change-Id: Id498ad75d663f2795207b39b40a11ddfe2c03920
All that was needed was to fix some misplaced braces, fix a couple of
copy+paste problems from Mir, and add a lookup function. Getting Mir
support working should be pretty easy.
Conflicts:
layers/swapchain.cpp