Commit 3702e01d by Nicolas Capens Committed by Nicolas Capens

Integrate PowerVR OpenGL ES samples

Also add some additional Vulkan samples to the 'good' set. Bug: b/141361933 Change-Id: I32fe2d691ca2fd176a8c470fdb34b25a55840cd6 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/42389 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by: 's avatarNicolas Capens <nicolascapens@google.com> Reviewed-by: 's avatarAntonio Maiorano <amaiorano@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
parent d51c7fa6
...@@ -1368,38 +1368,38 @@ endif() ...@@ -1368,38 +1368,38 @@ endif()
if(SWIFTSHADER_BUILD_SAMPLES) if(SWIFTSHADER_BUILD_SAMPLES)
if(WIN32) if(WIN32)
add_executable(OGLES2HelloAPI ${HELLO2_DIR}/OGLES2HelloAPI_Windows.cpp) add_executable(Legacy_OGLES2HelloAPI ${HELLO2_DIR}/OGLES2HelloAPI_Windows.cpp)
set_target_properties(OGLES2HelloAPI PROPERTIES set_target_properties(Legacy_OGLES2HelloAPI PROPERTIES
INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/include" INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/include"
COMPILE_OPTIONS "${SWIFTSHADER_COMPILE_OPTIONS}" COMPILE_OPTIONS "${SWIFTSHADER_COMPILE_OPTIONS}"
COMPILE_DEFINITIONS "GL_GLEXT_PROTOTYPES" COMPILE_DEFINITIONS "GL_GLEXT_PROTOTYPES"
FOLDER "Samples" FOLDER "Samples"
) )
target_link_libraries(OGLES2HelloAPI libEGL libGLESv2) target_link_libraries(Legacy_OGLES2HelloAPI libEGL libGLESv2)
set_property(TARGET OGLES2HelloAPI APPEND_STRING PROPERTY LINK_FLAGS "/SUBSYSTEM:WINDOWS") set_property(TARGET Legacy_OGLES2HelloAPI APPEND_STRING PROPERTY LINK_FLAGS "/SUBSYSTEM:WINDOWS")
set(CMAKE_DEFAULT_STARTUP_PROJECT OGLES2HelloAPI) set(CMAKE_DEFAULT_STARTUP_PROJECT Legacy_OGLES2HelloAPI)
elseif(LINUX) elseif(LINUX)
add_executable(OGLES2HelloAPI ${HELLO2_DIR}/OGLES2HelloAPI_LinuxX11.cpp) add_executable(Legacy_OGLES2HelloAPI ${HELLO2_DIR}/OGLES2HelloAPI_LinuxX11.cpp)
set_target_properties(OGLES2HelloAPI PROPERTIES set_target_properties(Legacy_OGLES2HelloAPI PROPERTIES
INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/include" INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/include"
COMPILE_OPTIONS "${SWIFTSHADER_COMPILE_OPTIONS}" COMPILE_OPTIONS "${SWIFTSHADER_COMPILE_OPTIONS}"
COMPILE_DEFINITIONS "GL_GLEXT_PROTOTYPES" COMPILE_DEFINITIONS "GL_GLEXT_PROTOTYPES"
LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}" LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}"
) )
target_link_libraries(OGLES2HelloAPI dl ${X11} libEGL libGLESv2) # Explicitly link our "lib*" targets, not the platform provided "EGL" and "GLESv2" target_link_libraries(Legacy_OGLES2HelloAPI dl ${X11} libEGL libGLESv2) # Explicitly link our "lib*" targets, not the platform provided "EGL" and "GLESv2"
elseif(APPLE) elseif(APPLE)
add_executable(OGLES2HelloAPI MACOSX_BUNDLE add_executable(Legacy_OGLES2HelloAPI MACOSX_BUNDLE
${HELLO2_DIR}/OGLES2HelloAPI_OSX.mm ${HELLO2_DIR}/OGLES2HelloAPI_OSX.mm
${HELLO2_DIR}/Build/OSX/en.lproj/MainMenu.xib ${HELLO2_DIR}/Build/OSX/en.lproj/MainMenu.xib
) )
set_target_properties(OGLES2HelloAPI PROPERTIES set_target_properties(Legacy_OGLES2HelloAPI PROPERTIES
INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/include" INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/include"
COMPILE_OPTIONS "${SWIFTSHADER_COMPILE_OPTIONS};-Wno-deprecated-declarations" # 'NSTitledWindowMask', 'NSClosableWindowMask' is deprecated COMPILE_OPTIONS "${SWIFTSHADER_COMPILE_OPTIONS};-Wno-deprecated-declarations" # 'NSTitledWindowMask', 'NSClosableWindowMask' is deprecated
COMPILE_DEFINITIONS "GL_GLEXT_PROTOTYPES" COMPILE_DEFINITIONS "GL_GLEXT_PROTOTYPES"
LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}" LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}"
MACOSX_BUNDLE_INFO_PLIST "${HELLO2_DIR}/Build/OSX/Info.plist" MACOSX_BUNDLE_INFO_PLIST "${HELLO2_DIR}/Build/OSX/Info.plist"
) )
target_link_libraries(OGLES2HelloAPI libEGL libGLESv2 ${OS_LIBS} ${SWIFTSHADER_LIBS}) target_link_libraries(Legacy_OGLES2HelloAPI libEGL libGLESv2 ${OS_LIBS})
set_source_files_properties(${HELLO2_DIR}/Build/OSX/en.lproj/MainMenu.xib PROPERTIES set_source_files_properties(${HELLO2_DIR}/Build/OSX/en.lproj/MainMenu.xib PROPERTIES
MACOSX_PACKAGE_LOCATION "Resources" MACOSX_PACKAGE_LOCATION "Resources"
) )
...@@ -1557,59 +1557,66 @@ if(HAVE_PVR_SUBMODULE AND SWIFTSHADER_BUILD_PVR) ...@@ -1557,59 +1557,66 @@ if(HAVE_PVR_SUBMODULE AND SWIFTSHADER_BUILD_PVR)
POST_BUILD POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:vk_swiftshader> ${CMAKE_BINARY_DIR}/bin/${VULKAN_API_LIBRARY_NAME} COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:vk_swiftshader> ${CMAKE_BINARY_DIR}/bin/${VULKAN_API_LIBRARY_NAME}
) )
add_custom_command(
TARGET libGLESv2
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:libGLESv2> ${CMAKE_BINARY_DIR}/bin/$<TARGET_FILE_NAME:libGLESv2>
)
add_custom_command(
TARGET libEGL
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:libEGL> ${CMAKE_BINARY_DIR}/bin/$<TARGET_FILE_NAME:libEGL>
)
endif() endif()
# Samples known to work well # Samples known to work well
set(PVR_VULKAN_TARGET_GOOD set(PVR_VULKAN_TARGET_GOOD
VulkanBumpmap VulkanBumpmap
VulkanExampleUI
VulkanGaussianBlur
VulkanGlass VulkanGlass
VulkanGnomeHorde VulkanGnomeHorde
VulkanHelloAPI VulkanHelloAPI
VulkanImageBasedLighting VulkanImageBasedLighting
VulkanIntroducingPVRUtils
VulkanMultiSampling VulkanMultiSampling
VulkanNavigation2D
VulkanParticleSystem
VulkanSkinning VulkanSkinning
) )
set(PVR_GLES_TARGET_GOOD
OpenGLESHelloAPI
OpenGLESIntroducingPVRUtils
OpenGLESNavigation2D
)
set(PVR_VULKAN_TARGET_OTHER set(PVR_VULKAN_TARGET_OTHER
VulkanDeferredShading VulkanDeferredShading
VulkanDeferredShadingPFX VulkanDeferredShadingPFX
VulkanExampleUI
VulkanGameOfLife VulkanGameOfLife
VulkanGaussianBlur
VulkanIBLMapsGenerator VulkanIBLMapsGenerator
VulkanIMGTextureFilterCubic VulkanIMGTextureFilterCubic
VulkanIntroducingPVRShell VulkanIntroducingPVRShell
VulkanIntroducingPVRUtils
VulkanIntroducingPVRVk VulkanIntroducingPVRVk
VulkanIntroducingUIRenderer VulkanIntroducingUIRenderer
VulkanMultithreading VulkanMultithreading
VulkanNavigation2D
VulkanNavigation3D VulkanNavigation3D
VulkanParticleSystem
VulkanPostProcessing VulkanPostProcessing
VulkanPVRScopeExample VulkanPVRScopeExample
VulkanPVRScopeRemote VulkanPVRScopeRemote
) )
set(PVR_TARGET_OTHER set(PVR_GLES_TARGET_OTHER
glslang
glslangValidator
glslang-default-resource-limits
OGLCompiler
OSDependent
OpenCLMatrixMultiplication
OpenGLESDeferredShading OpenGLESDeferredShading
OpenGLESGaussianBlur OpenGLESGaussianBlur
OpenGLESHelloAPI
OpenGLESImageBasedLighting OpenGLESImageBasedLighting
OpenGLESIMGFramebufferDownsample OpenGLESIMGFramebufferDownsample
OpenGLESIMGTextureFilterCubic OpenGLESIMGTextureFilterCubic
OpenGLESIntroducingPVRCamera OpenGLESIntroducingPVRCamera
OpenGLESIntroducingPVRShell OpenGLESIntroducingPVRShell
OpenGLESIntroducingPVRUtils
OpenGLESIntroducingUIRenderer OpenGLESIntroducingUIRenderer
OpenGLESMultiviewVR OpenGLESMultiviewVR
OpenGLESNavigation2D
OpenGLESNavigation3D OpenGLESNavigation3D
OpenGLESOpenCLExample OpenGLESOpenCLExample
OpenGLESParticleSystem OpenGLESParticleSystem
...@@ -1617,6 +1624,15 @@ if(HAVE_PVR_SUBMODULE AND SWIFTSHADER_BUILD_PVR) ...@@ -1617,6 +1624,15 @@ if(HAVE_PVR_SUBMODULE AND SWIFTSHADER_BUILD_PVR)
OpenGLESPVRScopeExample OpenGLESPVRScopeExample
OpenGLESPVRScopeRemote OpenGLESPVRScopeRemote
OpenGLESSkinning OpenGLESSkinning
)
set(PVR_TARGET_OTHER
glslang
glslangValidator
glslang-default-resource-limits
OGLCompiler
OSDependent
OpenCLMatrixMultiplication
pugixml pugixml
PVRAssets PVRAssets
PVRCamera PVRCamera
...@@ -1637,15 +1653,25 @@ if(HAVE_PVR_SUBMODULE AND SWIFTSHADER_BUILD_PVR) ...@@ -1637,15 +1653,25 @@ if(HAVE_PVR_SUBMODULE AND SWIFTSHADER_BUILD_PVR)
${PVR_VULKAN_TARGET_OTHER} ${PVR_VULKAN_TARGET_OTHER}
) )
set(PVR_GLES_TARGET
${PVR_GLES_TARGET_GOOD}
${PVR_GLES_TARGET_OTHER}
)
foreach(pvr_target ${PVR_VULKAN_TARGET}) foreach(pvr_target ${PVR_VULKAN_TARGET})
add_dependencies(${pvr_target} vk_swiftshader) add_dependencies(${pvr_target} vk_swiftshader)
endforeach() endforeach()
foreach(pvr_target ${PVR_VULKAN_TARGET_GOOD}) foreach(pvr_target ${PVR_GLES_TARGET})
add_dependencies(${pvr_target} libGLESv2)
add_dependencies(${pvr_target} libEGL)
endforeach()
foreach(pvr_target ${PVR_VULKAN_TARGET_GOOD} ${PVR_GLES_TARGET_GOOD})
set_target_properties(${pvr_target} PROPERTIES FOLDER Samples) set_target_properties(${pvr_target} PROPERTIES FOLDER Samples)
endforeach() endforeach()
foreach(pvr_target ${PVR_TARGET_OTHER} ${PVR_VULKAN_TARGET_OTHER}) foreach(pvr_target ${PVR_TARGET_OTHER} ${PVR_VULKAN_TARGET_OTHER} ${PVR_GLES_TARGET_OTHER})
set_target_properties(${pvr_target} PROPERTIES FOLDER Samples/PowerVR-Build) set_target_properties(${pvr_target} PROPERTIES FOLDER Samples/PowerVR-Build)
endforeach() endforeach()
endif() endif()
\ No newline at end of file
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