| # Codec common sources |
| add_subdirectory(apigen-codec-common) |
| add_subdirectory(compressedTextureFormats) |
| |
| # Vulkan |
| add_subdirectory(vulkan) |
| |
| # GLES translator |
| add_subdirectory(glestranslator) |
| add_subdirectory(libGLSnapshot) |
| |
| # GLES decoder |
| add_subdirectory(gles1_dec) |
| add_subdirectory(gles2_dec) |
| |
| # GLES dispatch based on Translator |
| add_subdirectory(OpenGLESDispatch) |
| |
| # RenderControl decoder |
| add_subdirectory(renderControl_dec) |
| |
| # Stream server core |
| set(stream-server-core-sources |
| ChannelStream.cpp |
| ColorBuffer.cpp |
| CompositorVk.cpp |
| Debug.cpp |
| DisplayVk.cpp |
| FbConfig.cpp |
| FenceSync.cpp |
| GLESVersionDetector.cpp |
| PostWorker.cpp |
| ReadbackWorker.cpp |
| ReadBuffer.cpp |
| render_api.cpp |
| RenderChannelImpl.cpp |
| RenderThreadInfo.cpp |
| RingStream.cpp |
| SwapChainStateVk.cpp |
| SyncThread.cpp |
| TextureDraw.cpp |
| TextureResize.cpp |
| WindowSurface.cpp |
| YUVConverter.cpp |
| RenderThread.cpp |
| RenderContext.cpp |
| RenderControl.cpp |
| RenderWindow.cpp |
| RenderLibImpl.cpp |
| RendererImpl.cpp |
| FrameBuffer.cpp) |
| if (APPLE) |
| set(stream-server-core-platform-sources NativeSubWindow_cocoa.m) |
| elseif (WIN32) |
| set(stream-server-core-platform-sources NativeSubWindow_win32.cpp) |
| else() |
| set(stream-server-core-platform-sources NativeSubWindow_x11.cpp) |
| endif() |
| |
| add_library( |
| gfxstream_backend |
| SHARED |
| ${stream-server-core-sources} |
| ${stream-server-core-platform-sources} |
| GfxStreamAgents.cpp |
| GfxStreamBackend.cpp |
| virtio-gpu-gfxstream-renderer.cpp |
| VirtioGpuTimelines.cpp) |
| target_link_libraries( |
| gfxstream_backend |
| PUBLIC |
| gfxstream-host-common |
| gfxstream-base |
| OpenGLESDispatch |
| gles1_dec |
| gles2_dec |
| renderControl_dec |
| gfxstream-vulkan-server |
| gfxstream-snapshot |
| apigen-codec-common |
| perfetto-tracing-only) |
| |
| if (WIN32) |
| target_link_libraries(gfxstream_backend PRIVATE D3d9.lib) |
| target_link_options(gfxstream_backend PRIVATE /DEBUG) |
| endif() |
| |
| target_include_directories( |
| gfxstream_backend |
| PUBLIC |
| ${GFXSTREAM_REPO_ROOT} |
| ${GFXSTREAM_REPO_ROOT}/include |
| ${GFXSTREAM_REPO_ROOT}/stream-servers |
| ${GFXSTREAM_REPO_ROOT}/stream-servers/apigen-codec-common |
| ${GFXSTREAM_REPO_ROOT}/stream-servers/vulkan) |
| android_install_shared(gfxstream_backend) |
| |
| # Testing libraries |
| add_subdirectory(testlibs) |
| |
| # Backend unit tests |
| add_executable( |
| gfxstream_backend_unittests |
| gfxstream_unittest.cpp) |
| target_link_libraries( |
| gfxstream_backend_unittests |
| PRIVATE |
| OSWindow |
| gfxstream_backend |
| gfxstream-base |
| gtest_main) |
| |
| # More functional tests######################################################### |
| |
| # Common testing support library################################################ |
| # This includes the server core and testing sources |
| add_library( |
| stream-server-testing-support |
| ${stream-server-core-sources} |
| ${stream-server-core-platform-sources} |
| tests/SampleApplication.cpp |
| tests/GLSnapshotTesting.cpp |
| tests/OpenGLTestContext.cpp |
| tests/GLTestUtils.cpp |
| tests/ShaderUtils.cpp |
| tests/GLSnapshotTestDispatch.cpp |
| tests/GLSnapshotTestStateUtils.cpp |
| tests/HelloTriangleImp.cpp) |
| target_include_directories( |
| stream-server-testing-support |
| PRIVATE |
| ${GFXSTREAM_REPO_ROOT} |
| PUBLIC |
| ${GFXSTREAM_REPO_ROOT}/base/testing |
| ${GFXSTREAM_REPO_ROOT} |
| ${GFXSTREAM_REPO_ROOT}/include |
| ${GFXSTREAM_REPO_ROOT}/stream-servers |
| ${GFXSTREAM_REPO_ROOT}/stream-servers/apigen-codec-common |
| ${GFXSTREAM_REPO_ROOT}/stream-servers/vulkan) |
| target_link_libraries( |
| stream-server-testing-support |
| PUBLIC |
| gfxstream-base |
| gfxstream-host-common |
| OpenGLESDispatch |
| gles1_dec |
| gles2_dec |
| renderControl_dec |
| gfxstream-vulkan-server |
| gfxstream-snapshot |
| apigen-codec-common |
| OSWindow |
| gtest) |
| |
| if (LINUX) |
| add_library( |
| x11_testing_support |
| tests/X11TestingSupport.cpp) |
| target_link_libraries( |
| x11_testing_support |
| gfxstream-base) |
| endif() |
| |
| # Basic opengl rendering tests################################################## |
| add_executable( |
| OpenglRender_unittests |
| tests/FrameBuffer_unittest.cpp |
| tests/DefaultFramebufferBlit_unittest.cpp |
| tests/TextureDraw_unittest.cpp |
| tests/StalePtrRegistry_unittest.cpp) |
| target_link_libraries( |
| OpenglRender_unittests |
| PRIVATE |
| stream-server-testing-support |
| gfxstream-base-testing-support |
| gfxstream-host-common-testing-support) |
| if (LINUX) |
| target_link_libraries( |
| OpenglRender_unittests |
| PRIVATE x11_testing_support) |
| endif() |
| |
| |
| # Snapshot tests################################################################ |
| add_executable( |
| OpenglRender_snapshot_unittests |
| tests/GLSnapshotBuffers_unittest.cpp |
| tests/GLSnapshotFramebufferControl_unittest.cpp |
| tests/GLSnapshotFramebuffers_unittest.cpp |
| tests/GLSnapshotMultisampling_unittest.cpp |
| tests/GLSnapshotPixelOperations_unittest.cpp |
| tests/GLSnapshotPixels_unittest.cpp |
| tests/GLSnapshotPrograms_unittest.cpp |
| tests/GLSnapshotRasterization_unittest.cpp |
| tests/GLSnapshotRenderbuffers_unittest.cpp |
| tests/GLSnapshotRendering_unittest.cpp |
| tests/GLSnapshotShaders_unittest.cpp |
| tests/GLSnapshotTextures_unittest.cpp |
| tests/GLSnapshotTransformation_unittest.cpp |
| tests/GLSnapshotVertexAttributes_unittest.cpp |
| tests/GLSnapshot_unittest.cpp) |
| target_link_libraries( |
| OpenglRender_snapshot_unittests |
| PRIVATE |
| stream-server-testing-support |
| gfxstream-base-testing-support |
| gfxstream-host-common-testing-support) |
| |
| # Vulkan tests################################################################## |
| add_executable( |
| Vulkan_unittests |
| tests/Vulkan_unittest.cpp) |
| target_link_libraries( |
| Vulkan_unittests |
| PRIVATE |
| stream-server-testing-support |
| gfxstream-base-testing-support |
| gfxstream-host-common-testing-support) |
| |
| add_executable( |
| CompositorVk_unittests |
| tests/CompositorVk_unittest.cpp) |
| target_link_libraries( |
| CompositorVk_unittests |
| PRIVATE |
| stream-server-testing-support |
| gfxstream-host-common-testing-support) |
| |
| add_executable( |
| SwapChainStateVk_unittests |
| tests/SwapChainStateVk_unittest.cpp) |
| target_link_libraries( |
| SwapChainStateVk_unittests |
| PRIVATE |
| stream-server-testing-support |
| gfxstream-host-common-testing-support) |
| |
| add_executable( |
| DisplayVk_unittests |
| tests/DisplayVk_unittest.cpp) |
| target_link_libraries( |
| DisplayVk_unittests |
| PRIVATE |
| stream-server-testing-support |
| gfxstream-host-common-testing-support) |
| |
| add_executable( |
| VirtioGpuTimelines_unittests |
| tests/VirtioGpuTimelines_unittest.cpp |
| VirtioGpuTimelines.cpp) |
| target_include_directories( |
| VirtioGpuTimelines_unittests |
| PRIVATE |
| ${GFXSTREAM_REPO_ROOT} |
| ${GFXSTREAM_REPO_ROOT}/stream-servers |
| ${GFXSTREAM_REPO_ROOT}/include) |
| target_link_libraries( |
| VirtioGpuTimelines_unittests |
| PUBLIC |
| gfxstream-base |
| PRIVATE |
| gtest |
| gmock) |