PowerVR Graphics SDK v5.3.1 Release.

Native SDK: Removed the host compilation of glslangValidator when cross compiling as this had the potential to fail quite easily. This also required a dependency of host toolsets for cross compiled builds which wasn’t desirable. For cross-compiled builds we now download the matching glslang binary release package (https://github.com/KhronosGroup/glslang/releases/) for the host platform and extract it into the correct place (SDK/bin). Only do this if a glslangValidator binary isn’t already in the host bin directory meaning the step will only happen if a cross compiled build is the first build of the SDK on a particular host platform. Removed duplicated code for downloading external projects using a common function defined in cmake/Functions.cmake. Removed disabling of ENABLE_HLSL, ENABLE_OPT, ENABLE_AMD_EXTENSIONS and ENABLE_NV_EXTENSIONS. Fixed an issue in equi_to_cube.py where the displayed width and height of the generated map were half of their real dimensions. Tweaked CMake options to better facilitate MinGW Win32 builds. Building for iOS now supports code signing through build command line. PVRFrame: Added support for EGL_EXT_swap_buffers_with_damage/EGL_KHR_swap_buffers_with_damage. Added support for EGL_KHR_partial_update. Fixed a possible crash on OSX in eglQuerySurface.
parent 44ef2151
......@@ -2,28 +2,48 @@
option(USE_SANITIZER_FLAGS "Use sanitzer flags" OFF)
include(CheckCXXCompilerFlag)
#some optimizations for windows
if (WIN32)
#Get rid of the "this function is unsafe" warning in Visual Studio
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
#Get rid of the "this function is unsafe" warning in Visual Studio
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
#Enable Link Time Code Generation/Whole program optimization
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG" CACHE INTERNAL "")
set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO} /LTCG" CACHE INTERNAL "")
set(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL "${CMAKE_EXE_LINKER_FLAGS_MINSIZEREL} /LTCG" CACHE INTERNAL "")
set(CMAKE_STATIC_LINKER_FLAGS_RELEASE "${CMAKE_STATIC_LINKER_FLAGS_RELEASE} /LTCG" CACHE INTERNAL "")
set(CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO} /LTCG" CACHE INTERNAL "")
set(CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL "${CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL} /LTCG" CACHE INTERNAL "")
add_compile_options("$<$<NOT:$<CONFIG:DEBUG>>:/GL>")
# Support parallel builds
add_compile_options("/MP")
# Enable "Just My Code" feature introduced in MSVC 15.8 (Visual Studio 2017)
# See https://blogs.msdn.microsoft.com/vcblog/2018/06/29/announcing-jmc-stepping-in-visual-studio/
#
# For MSVC version numbering used here, see:
# https://en.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B#Internal_version_numbering
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "19.15" )
add_compile_options("$<$<CONFIG:DEBUG>:/JMC>")
endif()
# Add the all-important fast-math flag
CHECK_CXX_COMPILER_FLAG(/fp:fast COMPILER_SUPPORTS_FAST_MATH)
if(COMPILER_SUPPORTS_FAST_MATH)
add_compile_options("$<$<CONFIG:RELEASE>:/fp:fast>")
endif()
endif()
#Enable Link Time Code Generation/Whole program optimization
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG" CACHE INTERNAL "")
set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO} /LTCG" CACHE INTERNAL "")
set(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL "${CMAKE_EXE_LINKER_FLAGS_MINSIZEREL} /LTCG" CACHE INTERNAL "")
set(CMAKE_STATIC_LINKER_FLAGS_RELEASE "${CMAKE_STATIC_LINKER_FLAGS_RELEASE} /LTCG" CACHE INTERNAL "")
set(CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO} /LTCG" CACHE INTERNAL "")
set(CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL "${CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL} /LTCG" CACHE INTERNAL "")
add_compile_options("$<$<NOT:$<CONFIG:DEBUG>>:/GL>")
add_definitions(/MP)
if(MINGW)
SET(_WIN32_WINNT 0x0600 CACHE INTERNAL "Setting _WIN32_WINNT to 0x0600 for Windows Vista APIs")
SET(WINVER 0x0600 CACHE INTERNAL "Setting WINVER to 0x0600 for Windows Vista APIs")
# Enable "Just My Code" feature introduced in MSVC 15.8 (Visual Studio 2017)
# See https://blogs.msdn.microsoft.com/vcblog/2018/06/29/announcing-jmc-stepping-in-visual-studio/
#
# For MSVC version numbering used here, see:
# https://en.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B#Internal_version_numbering
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "19.15" )
add_compile_options("$<$<CONFIG:DEBUG>:/JMC>")
add_definitions(-D_WIN32_WINNT=${_WIN32_WINNT})
add_definitions(-DWINVER=${WINVER})
endif()
else()
if (APPLE)
......@@ -45,7 +65,7 @@ else()
#Make sure we are not getting the "reorder constructor parameters" warning
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations -Wno-reorder" CACHE INTERNAL "")
include(CheckCXXCompilerFlag)
# workaround an issue observed when using the optimation flag "-ftree-slp-vectorize" which is enabled when using the optimisation level "-O3" with gcc versions < 4.9.
if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9)
CHECK_CXX_COMPILER_FLAG(-fno-tree-slp-vectorize COMPILER_SUPPORTS_TREE_SLP_VECTORIZE)
......@@ -54,9 +74,11 @@ else()
endif()
endif()
# Add the all-important fast-math flag
CHECK_CXX_COMPILER_FLAG(-ffast-math COMPILER_SUPPORTS_FAST_MATH)
if(COMPILER_SUPPORTS_FAST_MATH)
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -ffast-math" CACHE INTERNAL "")
if((CMAKE_CXX_COMPILER_ID MATCHES "Clang") OR (CMAKE_CXX_COMPILER_ID MATCHES "GNU"))
CHECK_CXX_COMPILER_FLAG(-ffast-math COMPILER_SUPPORTS_FAST_MATH)
if(COMPILER_SUPPORTS_FAST_MATH)
add_compile_options("$<$<CONFIG:RELEASE>:-ffast-math>")
endif()
endif()
# Use Gold Linker by default when it is supported
......
......@@ -13,8 +13,11 @@ if (WIN32)
set(FRAMEWORK_LIB_FOLDER "${SDK_ROOT}/framework/lib/Windows_x86_${PROJECT_ARCH}/$<CONFIG>" CACHE INTERNAL "")
set(FRAMEWORK_CMAKE_FILES_FOLDER "${SDK_ROOT}/framework/lib/Windows_x86_${PROJECT_ARCH}/cmake" CACHE INTERNAL "")
set(SCOPE_LIB_FOLDER "${SDK_ROOT}/lib/Windows_x86_${PROJECT_ARCH}" CACHE INTERNAL "")
set(SCOPE_STATIC_LIBRARY_PREFIX "" CACHE INTERNAL "")
set(SCOPE_STATIC_LIBRARY_SUFFIX ".lib" CACHE INTERNAL "")
set(SCOPE_SHARED_LIBRARY_PREFIX "" CACHE INTERNAL "")
set(SCOPE_SHARED_LIBRARY_SUFFIX ".dll" CACHE INTERNAL "")
set(EXTERNAL_CMAKE_FILES_FOLDER "${SDK_ROOT}/lib/Windows_x86_${PROJECT_ARCH}/cmake" CACHE INTERNAL "")
set(EXTERNAL_CMAKE_FILES_FOLDER_DEBUG "${SDK_ROOT}/lib/Windows_x86_${PROJECT_ARCH}/cmake" CACHE INTERNAL "")
set(EXTERNAL_LIB_FOLDER "${SDK_ROOT}/lib/Windows_x86_${PROJECT_ARCH}" CACHE INTERNAL "")
set(EXTERNAL_LIB_CONFIG_FOLDER "${EXTERNAL_LIB_FOLDER}/$<CONFIG>" CACHE INTERNAL "")
set(EXTERNAL_DEBUG_LIB_FOLDER "${EXTERNAL_LIB_FOLDER}/Debug" CACHE INTERNAL "")
......@@ -23,8 +26,11 @@ elseif (ANDROID)
set(FRAMEWORK_LIB_FOLDER "${SDK_ROOT}/framework/lib/Android/${CMAKE_BUILD_TYPE}/${ANDROID_ABI}" CACHE INTERNAL "")
set(FRAMEWORK_CMAKE_FILES_FOLDER "${SDK_ROOT}/framework/lib/Android/${CMAKE_BUILD_TYPE}/${ANDROID_ABI}/cmake" CACHE INTERNAL "")
set(SCOPE_LIB_FOLDER "${SDK_ROOT}/lib/Android/${ANDROID_ABI}" CACHE INTERNAL "")
set(SCOPE_STATIC_LIBRARY_PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}" CACHE INTERNAL "")
set(SCOPE_STATIC_LIBRARY_SUFFIX "${CMAKE_STATIC_LIBRARY_SUFFIX}" CACHE INTERNAL "")
set(SCOPE_SHARED_LIBRARY_PREFIX "${CMAKE_SHARED_LIBRARY_PREFIX}" CACHE INTERNAL "")
set(SCOPE_SHARED_LIBRARY_SUFFIX "${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "")
set(EXTERNAL_CMAKE_FILES_FOLDER "${SDK_ROOT}/lib/Android/${CMAKE_BUILD_TYPE}/${ANDROID_ABI}/cmake" CACHE INTERNAL "")
set(EXTERNAL_CMAKE_FILES_FOLDER_DEBUG "${SDK_ROOT}/lib/Android/Debug/${ANDROID_ABI}/cmake" CACHE INTERNAL "")
set(EXTERNAL_LIB_FOLDER "${SDK_ROOT}/lib/Android" CACHE INTERNAL "")
set(EXTERNAL_LIB_CONFIG_FOLDER "${EXTERNAL_LIB_FOLDER}/${CMAKE_BUILD_TYPE}/${ANDROID_ABI}" CACHE INTERNAL "")
set(EXTERNAL_DEBUG_LIB_FOLDER "${EXTERNAL_LIB_FOLDER}/Debug/${ANDROID_ABI}" CACHE INTERNAL "")
......@@ -38,6 +44,10 @@ elseif (APPLE)
set(FRAMEWORK_LIB_FOLDER "${SDK_ROOT}/framework/lib/${PLATFORM_FOLDER}/$<CONFIG>" CACHE INTERNAL "")
set(FRAMEWORK_CMAKE_FILES_FOLDER "${SDK_ROOT}/framework/lib/${PLATFORM_FOLDER}/cmake" CACHE INTERNAL "")
set(SCOPE_LIB_FOLDER "${SDK_ROOT}/lib/${PLATFORM_FOLDER}" CACHE INTERNAL "")
set(SCOPE_STATIC_LIBRARY_PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}" CACHE INTERNAL "")
set(SCOPE_STATIC_LIBRARY_SUFFIX "${CMAKE_STATIC_LIBRARY_SUFFIX}" CACHE INTERNAL "")
set(SCOPE_SHARED_LIBRARY_PREFIX "${CMAKE_SHARED_LIBRARY_PREFIX}" CACHE INTERNAL "")
set(SCOPE_SHARED_LIBRARY_SUFFIX "${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "")
set(EXTERNAL_CMAKE_FILES_FOLDER "${SDK_ROOT}/lib/${PLATFORM_FOLDER}/cmake" CACHE INTERNAL "")
set(EXTERNAL_LIB_FOLDER "${SDK_ROOT}/lib/${PLATFORM_FOLDER}" CACHE INTERNAL "")
set(EXTERNAL_LIB_CONFIG_FOLDER "${EXTERNAL_LIB_FOLDER}/$<CONFIG>" CACHE INTERNAL "")
......@@ -47,8 +57,11 @@ elseif (UNIX)
set(FRAMEWORK_LIB_FOLDER "${SDK_ROOT}/framework/lib/${CMAKE_SYSTEM_NAME}_${CMAKE_SYSTEM_PROCESSOR}/${CMAKE_BUILD_TYPE}${WS}" CACHE INTERNAL "")
set(FRAMEWORK_CMAKE_FILES_FOLDER "${SDK_ROOT}/framework/lib/${CMAKE_SYSTEM_NAME}_${CMAKE_SYSTEM_PROCESSOR}/${CMAKE_BUILD_TYPE}${WS}/cmake" CACHE INTERNAL "")
set(SCOPE_LIB_FOLDER "${SDK_ROOT}/lib/${CMAKE_SYSTEM_NAME}_${CMAKE_SYSTEM_PROCESSOR}" CACHE INTERNAL "")
set(EXTERNAL_CMAKE_FILES_FOLDER "${SDK_ROOT}/lib/${CMAKE_SYSTEM_NAME}_${CMAKE_SYSTEM_PROCESSOR}/${CMAKE_BUILD_TYPE}/cmake" CACHE INTERNAL "")
set(EXTERNAL_CMAKE_FILES_FOLDER_DEBUG "${SDK_ROOT}/lib/${CMAKE_SYSTEM_NAME}_${CMAKE_SYSTEM_PROCESSOR}/Debug/cmake" CACHE INTERNAL "")
set(SCOPE_STATIC_LIBRARY_PREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}" CACHE INTERNAL "")
set(SCOPE_STATIC_LIBRARY_SUFFIX "${CMAKE_STATIC_LIBRARY_SUFFIX}" CACHE INTERNAL "")
set(SCOPE_SHARED_LIBRARY_PREFIX "${CMAKE_SHARED_LIBRARY_PREFIX}" CACHE INTERNAL "")
set(SCOPE_SHARED_LIBRARY_SUFFIX "${CMAKE_SHARED_LIBRARY_SUFFIX}" CACHE INTERNAL "")
set(EXTERNAL_CMAKE_FILES_FOLDER "${SDK_ROOT}/lib/${CMAKE_SYSTEM_NAME}_${CMAKE_SYSTEM_PROCESSOR}/${CMAKE_BUILD_TYPE}${WS}/cmake" CACHE INTERNAL "")
set(EXTERNAL_LIB_FOLDER "${SDK_ROOT}/lib/${CMAKE_SYSTEM_NAME}_${CMAKE_SYSTEM_PROCESSOR}" CACHE INTERNAL "")
set(EXTERNAL_LIB_CONFIG_FOLDER "${EXTERNAL_LIB_FOLDER}/${CMAKE_BUILD_TYPE}" CACHE INTERNAL "")
set(EXTERNAL_DEBUG_LIB_FOLDER "${EXTERNAL_LIB_FOLDER}/Debug" CACHE INTERNAL "")
......
......@@ -41,7 +41,6 @@
<li class="toctree-l1"><a class="reference internal" href="Introduction.html">The PowerVR SDK</a></li>
<li class="toctree-l1"><a class="reference internal" href="Build.html">Build Instructions</a></li>
<li class="toctree-l1"><a class="reference internal" href="Framework.html">PowerVR SDK Framework</a></li>
<li class="toctree-l1"><a class="reference internal" href="ExamplesOpenGLES.html">OpenGLES Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="ExamplesVulkan.html">Vulkan Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="Documentation.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="Licence.html">EULA</a></li>
......
......@@ -45,7 +45,6 @@
<li class="toctree-l1"><a class="reference internal" href="Introduction.html">The PowerVR SDK</a></li>
<li class="toctree-l1"><a class="reference internal" href="Build.html">Build Instructions</a></li>
<li class="toctree-l1"><a class="reference internal" href="Framework.html">PowerVR SDK Framework</a></li>
<li class="toctree-l1"><a class="reference internal" href="ExamplesOpenGLES.html">OpenGLES Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="ExamplesVulkan.html">Vulkan Examples</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="Licence.html">EULA</a></li>
......
......@@ -15,7 +15,7 @@
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/img_style.js"></script>
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Vulkan Examples" href="ExamplesVulkan.html" />
<link rel="next" title="Documentation" href="Documentation.html" />
<link rel="prev" title="PowerVR SDK Framework" href="Framework.html" />
<div id="GlobalHeaderContainer">
<div id="GlobalHeader">
......@@ -30,7 +30,7 @@
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="ExamplesVulkan.html" title="Vulkan Examples"
<a href="Documentation.html" title="Documentation"
accesskey="N">next</a></li>
<li class="right" >
<a href="Framework.html" title="PowerVR SDK Framework"
......@@ -46,7 +46,6 @@
<li class="toctree-l1"><a class="reference internal" href="Build.html">Build Instructions</a></li>
<li class="toctree-l1"><a class="reference internal" href="Framework.html">PowerVR SDK Framework</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">OpenGLES Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="ExamplesVulkan.html">Vulkan Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="Documentation.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="Licence.html">EULA</a></li>
<li class="toctree-l1"><a class="reference internal" href="Contact.html">Contact Us</a></li>
......@@ -525,16 +524,17 @@ in this case using Open Street Map (OSM) data.</p>
</div>
<div class="section" id="id48">
<h3>Controls<a class="headerlink" href="#id48" title="Permalink to this headline"></a></h3>
<ul class="simple">
<ul>
<li><dl class="first docutils">
<dt>Quit- Close demo</dt>
<dd><ul class="first last">
<dd><ul class="first last simple">
<li>Left/Right- Decrease/increase number of particles</li>
</ul>
</dd>
</dl>
</li>
<li>Up/Down- Switch between GPU compute and CPU particle system implementation.</li>
<li><p class="first">Up/Down- Switch between GPU compute and CPU particle system implementation.</p>
</li>
</ul>
</div>
</div>
......@@ -619,7 +619,7 @@ in this case using Open Street Map (OSM) data.</p>
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="ExamplesVulkan.html" title="Vulkan Examples"
<a href="Documentation.html" title="Documentation"
>next</a></li>
<li class="right" >
<a href="Framework.html" title="PowerVR SDK Framework"
......
......@@ -16,7 +16,7 @@
<script type="text/javascript" src="_static/img_style.js"></script>
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Documentation" href="Documentation.html" />
<link rel="prev" title="OpenGLES Examples" href="ExamplesOpenGLES.html" />
<link rel="prev" title="PowerVR SDK Framework" href="Framework.html" />
<div id="GlobalHeaderContainer">
<div id="GlobalHeader">
<div class="logo">
......@@ -33,7 +33,7 @@
<a href="Documentation.html" title="Documentation"
accesskey="N">next</a></li>
<li class="right" >
<a href="ExamplesOpenGLES.html" title="OpenGLES Examples"
<a href="Framework.html" title="PowerVR SDK Framework"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PowerVR SDK Browser documentation</a> &#187;</li>
</ul>
......@@ -45,7 +45,6 @@
<li class="toctree-l1"><a class="reference internal" href="Introduction.html">The PowerVR SDK</a></li>
<li class="toctree-l1"><a class="reference internal" href="Build.html">Build Instructions</a></li>
<li class="toctree-l1"><a class="reference internal" href="Framework.html">PowerVR SDK Framework</a></li>
<li class="toctree-l1"><a class="reference internal" href="ExamplesOpenGLES.html">OpenGLES Examples</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Vulkan Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="Documentation.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="Licence.html">EULA</a></li>
......@@ -634,16 +633,17 @@ in this case using Open Street Map (OSM) data.</p>
</div>
<div class="section" id="id59">
<h3>Controls<a class="headerlink" href="#id59" title="Permalink to this headline"></a></h3>
<ul class="simple">
<ul>
<li><dl class="first docutils">
<dt>Quit- Close demo</dt>
<dd><ul class="first last">
<dd><ul class="first last simple">
<li>Left/Right- Decrease/increase number of particles</li>
</ul>
</dd>
</dl>
</li>
<li>Up/Down- Switch between GPU Compute and CPU Particle System implementation.</li>
<li><p class="first">Up/Down- Switch between GPU Compute and CPU Particle System implementation.</p>
</li>
</ul>
</div>
</div>
......@@ -731,7 +731,7 @@ in this case using Open Street Map (OSM) data.</p>
<a href="Documentation.html" title="Documentation"
>next</a></li>
<li class="right" >
<a href="ExamplesOpenGLES.html" title="OpenGLES Examples"
<a href="Framework.html" title="PowerVR SDK Framework"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">PowerVR SDK Browser documentation</a> &#187;</li>
</ul>
......
......@@ -15,7 +15,7 @@
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/img_style.js"></script>
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="OpenGLES Examples" href="ExamplesOpenGLES.html" />
<link rel="next" title="Vulkan Examples" href="ExamplesVulkan.html" />
<link rel="prev" title="Build Instructions" href="Build.html" />
<div id="GlobalHeaderContainer">
<div id="GlobalHeader">
......@@ -30,7 +30,7 @@
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="ExamplesOpenGLES.html" title="OpenGLES Examples"
<a href="ExamplesVulkan.html" title="Vulkan Examples"
accesskey="N">next</a></li>
<li class="right" >
<a href="Build.html" title="Build Instructions"
......@@ -45,7 +45,6 @@
<li class="toctree-l1"><a class="reference internal" href="Introduction.html">The PowerVR SDK</a></li>
<li class="toctree-l1"><a class="reference internal" href="Build.html">Build Instructions</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">PowerVR SDK Framework</a></li>
<li class="toctree-l1"><a class="reference internal" href="ExamplesOpenGLES.html">OpenGLES Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="ExamplesVulkan.html">Vulkan Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="Documentation.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="Licence.html">EULA</a></li>
......@@ -125,10 +124,10 @@
<ol class="arabic">
<li><p class="first">Create a <code class="docutils literal notranslate"><span class="pre">CMakeLists.txt</span></code> for the platform. This could be your own, or one of the SDK example’s <code class="docutils literal notranslate"><span class="pre">CMakeLists.txt</span></code> to use as a base. For example: <code class="docutils literal notranslate"><span class="pre">examples/Vulkan/Intermediate/Bumpmap/CMakeLists.txt</span></code>.</p>
<p>In more detail:</p>
<ul class="simple">
<ul>
<li><dl class="first docutils">
<dt>Add include directories:</dt>
<dd><ul class="first last">
<dd><ul class="first last simple">
<li><code class="docutils literal notranslate"><span class="pre">[SDK]/framework</span></code></li>
<li><code class="docutils literal notranslate"><span class="pre">[SDK]/include</span></code></li>
</ul>
......@@ -137,7 +136,7 @@
</li>
<li><dl class="first docutils">
<dt>Add CMake dependencies using <code class="docutils literal notranslate"><span class="pre">add_subdirectory</span></code>:</dt>
<dd><ul class="first last">
<dd><ul class="first last simple">
<li>(If Vulkan) <code class="docutils literal notranslate"><span class="pre">[SDK]/framework/PVRVk</span></code></li>
<li>(If Vulkan) <code class="docutils literal notranslate"><span class="pre">[SDK]/framework/PVRUtils/Vulkan</span></code></li>
<li>(If OpenGL ES) <code class="docutils literal notranslate"><span class="pre">[SDK]/framework/PVRUtils/OpenGLES</span></code></li>
......@@ -148,10 +147,11 @@
</dd>
</dl>
</li>
<li>Alternatively, build the Framework modules as described, and add depependencies to them with <code class="docutils literal notranslate"><span class="pre">target_link_libraries</span></code></li>
<li><p class="first">Alternatively, build the Framework modules as described, and add depependencies to them with <code class="docutils literal notranslate"><span class="pre">target_link_libraries</span></code></p>
</li>
<li><dl class="first docutils">
<dt>Link against other libraries:</dt>
<dd><ul class="first last">
<dd><ul class="first last simple">
<li>(Optional) <code class="docutils literal notranslate"><span class="pre">[SDK]/libs/[Platform]/[Other</span> <span class="pre">libraries,</span> <span class="pre">e.g.</span> <span class="pre">PVRScope]</span></code></li>
</ul>
</dd>
......@@ -196,7 +196,7 @@
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="ExamplesOpenGLES.html" title="OpenGLES Examples"
<a href="ExamplesVulkan.html" title="Vulkan Examples"
>next</a></li>
<li class="right" >
<a href="Build.html" title="Build Instructions"
......
......@@ -45,7 +45,6 @@
<li class="toctree-l1 current"><a class="current reference internal" href="#">The PowerVR SDK</a></li>
<li class="toctree-l1"><a class="reference internal" href="Build.html">Build Instructions</a></li>
<li class="toctree-l1"><a class="reference internal" href="Framework.html">PowerVR SDK Framework</a></li>
<li class="toctree-l1"><a class="reference internal" href="ExamplesOpenGLES.html">OpenGLES Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="ExamplesVulkan.html">Vulkan Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="Documentation.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="Licence.html">EULA</a></li>
......
......@@ -45,7 +45,6 @@
<li class="toctree-l1"><a class="reference internal" href="Introduction.html">The PowerVR SDK</a></li>
<li class="toctree-l1"><a class="reference internal" href="Build.html">Build Instructions</a></li>
<li class="toctree-l1"><a class="reference internal" href="Framework.html">PowerVR SDK Framework</a></li>
<li class="toctree-l1"><a class="reference internal" href="ExamplesOpenGLES.html">OpenGLES Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="ExamplesVulkan.html">Vulkan Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="Documentation.html">Documentation</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">EULA</a></li>
......
......@@ -41,7 +41,6 @@
<li class="toctree-l1"><a class="reference internal" href="Introduction.html">The PowerVR SDK</a></li>
<li class="toctree-l1"><a class="reference internal" href="Build.html">Build Instructions</a></li>
<li class="toctree-l1"><a class="reference internal" href="Framework.html">PowerVR SDK Framework</a></li>
<li class="toctree-l1"><a class="reference internal" href="ExamplesOpenGLES.html">OpenGLES Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="ExamplesVulkan.html">Vulkan Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="Documentation.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="Licence.html">EULA</a></li>
......@@ -75,7 +74,6 @@
<li class="toctree-l1"><a class="reference internal" href="Introduction.html">The PowerVR SDK</a></li>
<li class="toctree-l1"><a class="reference internal" href="Build.html">Build Instructions</a></li>
<li class="toctree-l1"><a class="reference internal" href="Framework.html">PowerVR SDK Framework</a></li>
<li class="toctree-l1"><a class="reference internal" href="ExamplesOpenGLES.html">OpenGLES Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="ExamplesVulkan.html">Vulkan Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="Documentation.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="Licence.html">EULA</a></li>
......
......@@ -46,7 +46,6 @@
<li class="toctree-l1"><a class="reference internal" href="Introduction.html">The PowerVR SDK</a></li>
<li class="toctree-l1"><a class="reference internal" href="Build.html">Build Instructions</a></li>
<li class="toctree-l1"><a class="reference internal" href="Framework.html">PowerVR SDK Framework</a></li>
<li class="toctree-l1"><a class="reference internal" href="ExamplesOpenGLES.html">OpenGLES Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="ExamplesVulkan.html">Vulkan Examples</a></li>
<li class="toctree-l1"><a class="reference internal" href="Documentation.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="Licence.html">EULA</a></li>
......
docs/images/WelcomeGraphic.png

473 KB | W: | H:

docs/images/WelcomeGraphic.png

232 KB | W: | H:

docs/images/WelcomeGraphic.png
docs/images/WelcomeGraphic.png
docs/images/WelcomeGraphic.png
docs/images/WelcomeGraphic.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -86,6 +86,16 @@ elseif (APPLE)
add_executable(OpenGLESHelloAPI MACOSX_BUNDLE ${SRC_FILES} ${ASSET_FILES} ${FRAMEWORK_FILES})
set_target_properties(OpenGLESHelloAPI PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${INFO_PLIST_FILE}")
set_target_properties(OpenGLESHelloAPI PROPERTIES RESOURCE "${ASSET_FILES}")
if(IOS)
if(CODE_SIGN_IDENTITY)
set_target_properties(OpenGLESHelloAPI PROPERTIES XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "${CODE_SIGN_IDENTITY}")
endif()
if(DEVELOPMENT_TEAM_ID)
set_target_properties(OpenGLESHelloAPI PROPERTIES XCODE_ATTRIBUTE_DEVELOPMENT_TEAM "${DEVELOPMENT_TEAM_ID}")
endif()
endif()
elseif (UNIX)
set(WS_DEFINE "")
if(NOT WS) #We support building for several Windowing Systems. Typical desktop systems support X11 and Wayland is catching on. NullWS is used by some development platforms/ testchip.
......
......@@ -7,6 +7,8 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT OpenGLESIntroducingPVRShell)
set(ASSET_FOLDER ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Assets_OpenGLESIntroducingPVRShell)
set(SRC_FILES EglContext.h OpenGLESIntroducingPVRShell.cpp)
if(IOS)
......@@ -15,8 +17,6 @@ else()
list(APPEND SRC_FILES EglContext.cpp)
endif()
set(ASSET_FOLDER ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Assets_OpenGLESIntroducingPVRShell)
# Adds Windows resouces.rc, macOS plists etc. For MacOS/iOS, also set the opengl dynamic libs in the "frameworks" group
add_platform_specific_resource_files(SRC_FILES RESOURCE_FILES)
......
......@@ -52,8 +52,8 @@ add_rule_copy_assets_to_asset_folder("${RESOURCE_FILES}" "${ASSET_FOLDER}")
target_link_libraries(OpenGLESPVRScopeExample
PVRShell
PVRUtilsGles
${SCOPE_LIB_FOLDER}/${CMAKE_STATIC_LIBRARY_PREFIX}PVRScopeDeveloper${CMAKE_STATIC_LIBRARY_SUFFIX}
${SCOPE_LIB_FOLDER}/${SCOPE_STATIC_LIBRARY_PREFIX}PVRScopeDeveloper${SCOPE_STATIC_LIBRARY_SUFFIX}
)
if(WIN32)
add_custom_command(TARGET OpenGLESPVRScopeExample POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SCOPE_LIB_FOLDER}/${CMAKE_SHARED_LIBRARY_PREFIX}PVRScopeDeveloper${CMAKE_SHARED_LIBRARY_SUFFIX}" $<TARGET_FILE_DIR:OpenGLESPVRScopeExample>)
add_custom_command(TARGET OpenGLESPVRScopeExample POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SCOPE_LIB_FOLDER}/${SCOPE_SHARED_LIBRARY_PREFIX}PVRScopeDeveloper${SCOPE_SHARED_LIBRARY_SUFFIX}" $<TARGET_FILE_DIR:OpenGLESPVRScopeExample>)
endif()
\ No newline at end of file
......@@ -48,8 +48,8 @@ add_rule_copy_assets_to_asset_folder("${RESOURCE_FILES}" "${ASSET_FOLDER}")
target_link_libraries(OpenGLESPVRScopeRemote
PVRShell
PVRUtilsGles
${SCOPE_LIB_FOLDER}/${CMAKE_STATIC_LIBRARY_PREFIX}PVRScopeDeveloper${CMAKE_STATIC_LIBRARY_SUFFIX}
${SCOPE_LIB_FOLDER}/${SCOPE_STATIC_LIBRARY_PREFIX}PVRScopeDeveloper${SCOPE_STATIC_LIBRARY_SUFFIX}
)
if(WIN32)
add_custom_command(TARGET OpenGLESPVRScopeRemote POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SCOPE_LIB_FOLDER}/${CMAKE_SHARED_LIBRARY_PREFIX}PVRScopeDeveloper${CMAKE_SHARED_LIBRARY_SUFFIX}" $<TARGET_FILE_DIR:OpenGLESPVRScopeRemote>)
add_custom_command(TARGET OpenGLESPVRScopeRemote POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SCOPE_LIB_FOLDER}/${SCOPE_SHARED_LIBRARY_PREFIX}PVRScopeDeveloper${SCOPE_SHARED_LIBRARY_SUFFIX}" $<TARGET_FILE_DIR:OpenGLESPVRScopeRemote>)
endif()
\ No newline at end of file
......@@ -446,7 +446,7 @@ public:
if (_hostLib)
{
#if _WIN32
void* pFn = GetProcAddress(_hostLib, functionName);
void* pFn = reinterpret_cast<void*>(GetProcAddress(_hostLib, functionName));
if (pFn == NULL)
{
Log(true, "Could not get function %s", functionName);
......
......@@ -68,8 +68,8 @@ add_rule_copy_assets_to_asset_folder("${RESOURCE_FILES}" "${ASSET_FOLDER}")
target_link_libraries(VulkanPVRScopeExample
PVRShell
PVRUtilsVk
${SCOPE_LIB_FOLDER}/${CMAKE_STATIC_LIBRARY_PREFIX}PVRScopeDeveloper${CMAKE_STATIC_LIBRARY_SUFFIX}
${SCOPE_LIB_FOLDER}/${SCOPE_STATIC_LIBRARY_PREFIX}PVRScopeDeveloper${SCOPE_STATIC_LIBRARY_SUFFIX}
)
if(WIN32)
add_custom_command(TARGET VulkanPVRScopeExample POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SCOPE_LIB_FOLDER}/${CMAKE_SHARED_LIBRARY_PREFIX}PVRScopeDeveloper${CMAKE_SHARED_LIBRARY_SUFFIX}" $<TARGET_FILE_DIR:VulkanPVRScopeExample>)
add_custom_command(TARGET VulkanPVRScopeExample POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SCOPE_LIB_FOLDER}/${SCOPE_SHARED_LIBRARY_PREFIX}PVRScopeDeveloper${SCOPE_SHARED_LIBRARY_SUFFIX}" $<TARGET_FILE_DIR:VulkanPVRScopeExample>)
endif()
\ No newline at end of file
......@@ -66,8 +66,8 @@ add_rule_copy_assets_to_asset_folder("${RESOURCE_FILES}" "${ASSET_FOLDER}")
target_link_libraries(VulkanPVRScopeRemote
PVRShell
PVRUtilsVk
${SCOPE_LIB_FOLDER}/${CMAKE_STATIC_LIBRARY_PREFIX}PVRScopeDeveloper${CMAKE_STATIC_LIBRARY_SUFFIX}
${SCOPE_LIB_FOLDER}/${SCOPE_STATIC_LIBRARY_PREFIX}PVRScopeDeveloper${SCOPE_STATIC_LIBRARY_SUFFIX}
)
if(WIN32)
add_custom_command(TARGET VulkanPVRScopeRemote POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SCOPE_LIB_FOLDER}/${CMAKE_SHARED_LIBRARY_PREFIX}PVRScopeDeveloper${CMAKE_SHARED_LIBRARY_SUFFIX}" $<TARGET_FILE_DIR:VulkanPVRScopeRemote>)
add_custom_command(TARGET VulkanPVRScopeRemote POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SCOPE_LIB_FOLDER}/${SCOPE_SHARED_LIBRARY_PREFIX}PVRScopeDeveloper${SCOPE_SHARED_LIBRARY_SUFFIX}" $<TARGET_FILE_DIR:VulkanPVRScopeRemote>)
endif()
\ No newline at end of file
cmake_minimum_required(VERSION 3.3)
include(ExternalProject)
project(external_glslangValidator-download NONE)
# Setup the ExternalProject_Add call for glslangValidator
ExternalProject_Add(external_glslangValidator
PREFIX ${glslangValidator_PREFIX}
SOURCE_DIR ${EXTERNAL_RELEASE_BIN_FOLDER}
UPDATE_COMMAND ""
URL ${glslangValidator_URL}
DOWNLOAD_DIR ${glslang_DOWNLOAD_DIR}
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
TEST_COMMAND ""
)
\ No newline at end of file
......@@ -9,8 +9,12 @@
#endif
#if defined(_WIN32)
#define WIN32_LEAN_AND_MIN_AND_MAX
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
#ifndef NOMINMAX
#define NOMINMAX
#endif
#include <Windows.h>
#include <tchar.h>
#include <Winbase.h>
......@@ -24,9 +28,9 @@
#if defined(__ANDROID__)
#define _ANDROID 1
#include <android/log.h>
#define Log_Info(...) ((void)__android_log_print(ANDROID_LOG_INFO, "com.imgtec.vk", __VA_ARGS__))
#define Log_Warning(...) ((void)__android_log_print(ANDROID_LOG_WARN, "com.imgtec.vk", __VA_ARGS__))
#define Log_Error(...) ((void)__android_log_print(ANDROID_LOG_ERROR, "com.imgtec.vk", __VA_ARGS__))
#define Log_Info(...) ((void)__android_log_print(ANDROID_LOG_INFO, "com.imgtec", __VA_ARGS__))
#define Log_Warning(...) ((void)__android_log_print(ANDROID_LOG_WARN, "com.imgtec", __VA_ARGS__))
#define Log_Error(...) ((void)__android_log_print(ANDROID_LOG_ERROR, "com.imgtec", __VA_ARGS__))
#elif defined(_WIN32)
static const char* procAddressMessageTypes[] = {
"INFORMATION: ",
......@@ -143,11 +147,7 @@ inline void* getLibraryFunction(pvr::lib::LIBTYPE hostLib, const char* pszName)
{
if (hostLib)
{
#if defined(UNDER_CE)
return win32::GetProcAddressA(hostLib, pszName);
#else
return GetProcAddress(hostLib, pszName);
#endif
return reinterpret_cast<void*>(GetProcAddress(hostLib, pszName));
}
return nullptr;
}
......
......@@ -21,15 +21,15 @@
*****************************************************************************/
#define PVRSDK_VERSION "5.1"
#define PVRSDK_BUILD "19.1@5389795"
#define PVRSDK_BUILD "19.1@5437651"
#define PVRVERSION_MAJ "19"
#define PVRVERSION_MIN "1"
#define PVRVERSION_BRANCH "191"
#define PVRVERSION_BRANCH_DEC "19.1"
#define PVRVERSION_BRANCH_NAME "REL/19.1"
#define PVRVERSION_BUILD "5389795"
#define PVRVERSION_BUILD_HI "538"
#define PVRVERSION_BUILD_LO "9795"
#define PVRVERSION_BUILD "5437651"
#define PVRVERSION_BUILD_HI "543"
#define PVRVERSION_BUILD_LO "7651"
#define PVRSDK_COPYRIGHT_TXT "Copyright (c) Imagination Technologies Ltd. All Rights Reserved."
......
......@@ -14,3 +14,5 @@
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
#define SDK_ICON 101
......@@ -55,7 +55,7 @@ END
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
ICON ICON DISCARDABLE "sdk.ico"
SDK_ICON ICON DISCARDABLE "sdk.ico"
/////////////////////////////////////////////////////////////////////////////
//
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment