reorganization
This commit is contained in:
@@ -36,6 +36,10 @@ set(VIDEO_SHADER_INCLUDE_DIRS
|
||||
"${SRC_DIR}/shader"
|
||||
"${SRC_DIR}/telemetry"
|
||||
"${SRC_DIR}/video"
|
||||
"${SRC_DIR}/video/core"
|
||||
"${SRC_DIR}/video/decklink"
|
||||
"${SRC_DIR}/video/legacy"
|
||||
"${SRC_DIR}/video/playout"
|
||||
)
|
||||
|
||||
function(video_shader_target_defaults target)
|
||||
@@ -121,8 +125,8 @@ set(MSDF_ATLAS_GEN_README_FILE "${MSDF_ATLAS_GEN_ROOT}/README.md")
|
||||
|
||||
set(RENDER_CADENCE_APP_REQUIRED_FILES
|
||||
"${SRC_DIR}/RenderCadenceCompositor.cpp"
|
||||
"${SRC_DIR}/video/DeckLinkAPI_i.c"
|
||||
"${SRC_DIR}/video/DeckLinkAPI_h.h"
|
||||
"${SRC_DIR}/video/decklink/DeckLinkAPI_i.c"
|
||||
"${SRC_DIR}/video/decklink/DeckLinkAPI_h.h"
|
||||
)
|
||||
|
||||
video_shader_files_exist(RENDER_CADENCE_APP_MISSING_FILES ${RENDER_CADENCE_APP_REQUIRED_FILES})
|
||||
@@ -138,8 +142,8 @@ else()
|
||||
"${SRC_DIR}/*.h"
|
||||
)
|
||||
list(REMOVE_ITEM RENDER_CADENCE_APP_SOURCES
|
||||
"${SRC_DIR}/video/VideoBackend.cpp"
|
||||
"${SRC_DIR}/video/VideoBackend.h"
|
||||
"${SRC_DIR}/video/legacy/VideoBackend.cpp"
|
||||
"${SRC_DIR}/video/legacy/VideoBackend.h"
|
||||
)
|
||||
|
||||
add_executable(RenderCadenceCompositor ${RENDER_CADENCE_APP_SOURCES})
|
||||
|
||||
@@ -23,7 +23,10 @@ Native app internals are grouped by boundary:
|
||||
- `render/`: render thread, readback, runtime render scene, and shared-context shader program preparation.
|
||||
- `runtime/`: shader catalog support, layer model, Slang build bridge, font atlas build, and runtime-state persistence.
|
||||
- `shader/`: shader package parsing and Slang compilation helpers.
|
||||
- `video/`: DeckLink input/output edges, format helpers, and scheduling.
|
||||
- `video/core/`: backend-neutral video IO handoff contracts, formats, and output scheduling thread.
|
||||
- `video/decklink/`: current DeckLink input/output backend.
|
||||
- `video/playout/`: backend-adjacent playout policy, queues, frame pools, and scheduling helpers.
|
||||
- `video/legacy/`: older backend pipeline pieces kept separate while the new edge model settles.
|
||||
|
||||
## Requirements
|
||||
|
||||
@@ -281,7 +284,7 @@ If `SLANG_ROOT` or `MSDF_ATLAS_GEN_ROOT` is not set, the workflow falls back to
|
||||
- Audio.
|
||||
- Genlock.
|
||||
- Logs.
|
||||
- Add more video I/O backends now that the DeckLink path is behind `videoio/`.
|
||||
- Add more video I/O backends now that the DeckLink path is isolated under `src/video/decklink/`.
|
||||
- Support a separate sound shader `.slang` file in shader packages. (https://www.shadertoy.com/view/XsBXWt)
|
||||
- Add WebView2 for an embedded native control surface.
|
||||
- MSDF typography rasterisation
|
||||
|
||||
@@ -25,7 +25,10 @@ Primary source areas:
|
||||
- `src/render/thread`: render thread lifecycle, cadence loop, metrics, and runtime shader commit mailbox
|
||||
- `src/render/runtime`: render-thread-owned runtime shader scene, renderer, text texture upload cache, and shared-context shader prepare worker
|
||||
- `src/frames`: system-memory frame exchange
|
||||
- `src/video`: generic video IO edge contracts, DeckLink input/output edges, and scheduling
|
||||
- `src/video/core`: generic video IO edge contracts, formats, and output scheduling thread
|
||||
- `src/video/decklink`: current DeckLink input/output backend
|
||||
- `src/video/playout`: backend-adjacent playout policy, queues, frame pools, and scheduling helpers
|
||||
- `src/video/legacy`: older backend pipeline pieces kept separate from the current app path
|
||||
- `src/runtime/catalog`: supported shader catalog and package filtering
|
||||
- `src/runtime/layers`: app-side runtime layer model, restore, reload, and render snapshot construction
|
||||
- `src/runtime/shader`: background Slang build bridge and prepared shader artifact types
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
#include "frames/SystemFrameExchange.h"
|
||||
#include "logging/Logger.h"
|
||||
#include "render/thread/RenderThread.h"
|
||||
#include "video/DeckLinkInput.h"
|
||||
#include "video/DeckLinkInputThread.h"
|
||||
#include "video/decklink/DeckLinkInput.h"
|
||||
#include "video/decklink/DeckLinkInputThread.h"
|
||||
#include "DeckLinkDisplayMode.h"
|
||||
#include "VideoIOFormat.h"
|
||||
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
#include "../logging/Logger.h"
|
||||
#include "../preview/PreviewConfig.h"
|
||||
#include "../telemetry/TelemetryHealthMonitor.h"
|
||||
#include "../video/DeckLinkOutput.h"
|
||||
#include "../video/VideoOutputThread.h"
|
||||
#include "DeckLinkOutput.h"
|
||||
#include "VideoOutputThread.h"
|
||||
|
||||
#include <chrono>
|
||||
#include <cstddef>
|
||||
|
||||
@@ -7,9 +7,9 @@
|
||||
#include "../control/RuntimeStateJson.h"
|
||||
#include "../preview/PreviewWindowThread.h"
|
||||
#include "../telemetry/TelemetryHealthMonitor.h"
|
||||
#include "../video/DeckLinkOutput.h"
|
||||
#include "../video/VideoIOEdges.h"
|
||||
#include "../video/VideoOutputThread.h"
|
||||
#include "DeckLinkOutput.h"
|
||||
#include "VideoIOEdges.h"
|
||||
#include "VideoOutputThread.h"
|
||||
|
||||
#include <chrono>
|
||||
#include <filesystem>
|
||||
|
||||
@@ -20,13 +20,13 @@ add_video_shader_test(RenderCadenceCompositorTelemetryTests
|
||||
|
||||
add_video_shader_test(RenderCadenceCompositorFrameExchangeTests
|
||||
"${SRC_DIR}/frames/SystemFrameExchange.cpp"
|
||||
"${SRC_DIR}/video/VideoIOFormat.cpp"
|
||||
"${SRC_DIR}/video/core/VideoIOFormat.cpp"
|
||||
"${TEST_DIR}/RenderCadenceCompositorFrameExchangeTests.cpp"
|
||||
)
|
||||
|
||||
add_video_shader_test(RenderCadenceCompositorInputFrameMailboxTests
|
||||
"${SRC_DIR}/frames/InputFrameMailbox.cpp"
|
||||
"${SRC_DIR}/video/VideoIOFormat.cpp"
|
||||
"${SRC_DIR}/video/core/VideoIOFormat.cpp"
|
||||
"${TEST_DIR}/RenderCadenceCompositorInputFrameMailboxTests.cpp"
|
||||
)
|
||||
|
||||
@@ -128,49 +128,49 @@ add_video_shader_test(Std140BufferTests
|
||||
)
|
||||
|
||||
add_video_shader_test(VideoIOFormatTests
|
||||
"${SRC_DIR}/video/DeckLinkVideoIOFormat.cpp"
|
||||
"${SRC_DIR}/video/VideoIOFormat.cpp"
|
||||
"${SRC_DIR}/video/decklink/DeckLinkVideoIOFormat.cpp"
|
||||
"${SRC_DIR}/video/core/VideoIOFormat.cpp"
|
||||
"${TEST_DIR}/VideoIOFormatTests.cpp"
|
||||
)
|
||||
|
||||
add_video_shader_test(VideoPlayoutSchedulerTests
|
||||
"${SRC_DIR}/video/VideoPlayoutScheduler.cpp"
|
||||
"${SRC_DIR}/video/playout/VideoPlayoutScheduler.cpp"
|
||||
"${TEST_DIR}/VideoPlayoutSchedulerTests.cpp"
|
||||
)
|
||||
|
||||
add_video_shader_test(VideoOutputThreadTests
|
||||
"${SRC_DIR}/video/VideoIOFormat.cpp"
|
||||
"${SRC_DIR}/video/core/VideoIOFormat.cpp"
|
||||
"${TEST_DIR}/VideoOutputThreadTests.cpp"
|
||||
)
|
||||
|
||||
add_video_shader_test(OutputProductionControllerTests
|
||||
"${SRC_DIR}/video/OutputProductionController.cpp"
|
||||
"${SRC_DIR}/video/playout/OutputProductionController.cpp"
|
||||
"${TEST_DIR}/OutputProductionControllerTests.cpp"
|
||||
)
|
||||
|
||||
add_video_shader_test(RenderOutputQueueTests
|
||||
"${SRC_DIR}/video/RenderOutputQueue.cpp"
|
||||
"${SRC_DIR}/video/playout/RenderOutputQueue.cpp"
|
||||
"${TEST_DIR}/RenderOutputQueueTests.cpp"
|
||||
)
|
||||
|
||||
add_video_shader_test(RenderCadenceControllerTests
|
||||
"${SRC_DIR}/video/RenderCadenceController.cpp"
|
||||
"${SRC_DIR}/video/playout/RenderCadenceController.cpp"
|
||||
"${TEST_DIR}/RenderCadenceControllerTests.cpp"
|
||||
)
|
||||
|
||||
add_video_shader_test(SystemOutputFramePoolTests
|
||||
"${SRC_DIR}/video/SystemOutputFramePool.cpp"
|
||||
"${SRC_DIR}/video/VideoIOFormat.cpp"
|
||||
"${SRC_DIR}/video/playout/SystemOutputFramePool.cpp"
|
||||
"${SRC_DIR}/video/core/VideoIOFormat.cpp"
|
||||
"${TEST_DIR}/SystemOutputFramePoolTests.cpp"
|
||||
)
|
||||
|
||||
add_video_shader_test(VideoBackendLifecycleTests
|
||||
"${SRC_DIR}/video/VideoBackendLifecycle.cpp"
|
||||
"${SRC_DIR}/video/legacy/VideoBackendLifecycle.cpp"
|
||||
"${TEST_DIR}/VideoBackendLifecycleTests.cpp"
|
||||
)
|
||||
|
||||
add_video_shader_test(VideoIODeviceFakeTests
|
||||
"${SRC_DIR}/video/VideoIOFormat.cpp"
|
||||
"${SRC_DIR}/video/core/VideoIOFormat.cpp"
|
||||
"${TEST_DIR}/VideoIODeviceFakeTests.cpp"
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user