Fixes
Some checks failed
CI / React UI Build (push) Successful in 38s
CI / Native Windows Build And Tests (push) Failing after 3m0s
CI / Windows Release Package (push) Has been skipped

This commit is contained in:
2026-05-22 14:43:03 +10:00
parent 084e60cbe0
commit 0b6a2300ea
47 changed files with 169 additions and 80 deletions

View File

@@ -434,9 +434,14 @@ This app keeps the same core behavior but splits it into modules that can grow:
- `frames/InputFrameMailbox`: non-blocking bounded FIFO CPU input handoff with contiguous-copy fast path for matching row strides
- `render/InputFrameTexture`: render-thread-owned upload of the currently acquired CPU input frame into GL, including raw UYVY8 decode into the shader-visible input texture
- `render/readback/`: PBO-backed BGRA8 readback and completed-frame publication
- `render/thread/`: render thread lifecycle, GL startup/cadence loop, metrics, and runtime layer commit mailbox
- `render/runtime/RuntimeRenderScene`: render-thread-owned GL scene for ready runtime shader layers
- `render/runtime/RuntimeShaderPrepareWorker`: shared-context runtime shader program compile/link worker
- `runtime/`: app-owned shader layer readiness model, runtime Slang build bridge, runtime-state persistence, and completed artifact handoff
- `runtime/catalog/`: supported shader catalog and package filtering
- `runtime/layers/`: app-owned shader layer readiness model, restore/reload reconciliation, and render snapshots
- `runtime/shader/`: runtime Slang build bridge and completed artifact handoff
- `runtime/state/`: runtime JSON helpers, parameter normalization, and debounced runtime-state persistence
- `runtime/text/`: font atlas build and prepared text texture composition
- `control/`: control action results and runtime-state JSON presentation
- `control/http/`: local HTTP API, static UI serving, OpenAPI serving, and WebSocket updates
- `json/`: compact JSON serialization helpers

View File

@@ -4,7 +4,7 @@
#include "frames/InputFrameMailbox.h"
#include "frames/SystemFrameExchange.h"
#include "logging/Logger.h"
#include "render/RenderThread.h"
#include "render/thread/RenderThread.h"
#include "video/DeckLinkInput.h"
#include "video/DeckLinkInputThread.h"
#include "DeckLinkDisplayMode.h"

View File

@@ -2,10 +2,10 @@
#include "../control/ControlActionResult.h"
#include "../control/RuntimeControlCommand.h"
#include "../runtime/RuntimeLayerModel.h"
#include "../runtime/RuntimeStatePersistence.h"
#include "../runtime/RuntimeShaderBridge.h"
#include "../runtime/SupportedShaderCatalog.h"
#include "RuntimeLayerModel.h"
#include "RuntimeStatePersistence.h"
#include "RuntimeShaderBridge.h"
#include "SupportedShaderCatalog.h"
#include "../telemetry/CadenceTelemetry.h"
#include <deque>

View File

@@ -3,8 +3,8 @@
#include "../app/AppConfig.h"
#include "../app/AppConfigProvider.h"
#include "../json/JsonWriter.h"
#include "../runtime/RuntimeLayerModel.h"
#include "../runtime/SupportedShaderCatalog.h"
#include "RuntimeLayerModel.h"
#include "SupportedShaderCatalog.h"
#include "../telemetry/CadenceTelemetryJson.h"
#include <cstdint>

View File

@@ -1,6 +1,6 @@
#pragma once
#include "../runtime/RuntimeLayerModel.h"
#include "RuntimeLayerModel.h"
#include "RuntimeShaderPrepareWorker.h"
#include "RuntimeShaderRenderer.h"

View File

@@ -1,6 +1,6 @@
#pragma once
#include "../runtime/RuntimeShaderArtifact.h"
#include "RuntimeShaderArtifact.h"
#include <cstdint>
#include <vector>

View File

@@ -1,7 +1,7 @@
#pragma once
#include "RuntimeShaderProgram.h"
#include "../../runtime/RuntimeLayerModel.h"
#include "RuntimeLayerModel.h"
#include <windows.h>

View File

@@ -1,7 +1,7 @@
#pragma once
#include "GLExtensions.h"
#include "../../runtime/RuntimeShaderArtifact.h"
#include "RuntimeShaderArtifact.h"
#include <string>
#include <vector>

View File

@@ -3,7 +3,7 @@
#include "GLExtensions.h"
#include "RuntimeShaderProgram.h"
#include "RuntimeTextTextureCache.h"
#include "../../runtime/RuntimeShaderArtifact.h"
#include "RuntimeShaderArtifact.h"
#include <cstdint>
#include <string>

View File

@@ -1,7 +1,7 @@
#pragma once
#include "GLExtensions.h"
#include "../../runtime/RuntimeShaderArtifact.h"
#include "RuntimeShaderArtifact.h"
#include <map>
#include <string>

View File

@@ -8,7 +8,7 @@
#include "InputFrameTexture.h"
#include "readback/Bgra8ReadbackPipeline.h"
#include "GLExtensions.h"
#include "runtime/RuntimeRenderScene.h"
#include "RuntimeRenderScene.h"
#include "SimpleMotionRenderer.h"
#include <memory>

View File

@@ -1,9 +1,9 @@
#pragma once
#include "RenderCadenceClock.h"
#include "../runtime/RuntimeLayerModel.h"
#include "../runtime/RuntimeShaderArtifact.h"
#include "runtime/RuntimeRenderScene.h"
#include "RuntimeLayerModel.h"
#include "RuntimeShaderArtifact.h"
#include "RuntimeRenderScene.h"
#include <atomic>
#include <condition_variable>

View File

@@ -2,10 +2,20 @@
#include "NativeHandles.h"
#include <string>
#include <windows.h>
namespace RenderCadenceCompositor
{
namespace
{
std::string LastWindowsErrorText()
{
const DWORD errorCode = GetLastError();
return std::to_string(static_cast<unsigned long>(errorCode));
}
}
bool FontAtlasBuilder::RunProcess(const std::string& commandLine, const std::filesystem::path& workingDirectory, std::string& error)
{
STARTUPINFOA startupInfo = {};
@@ -17,7 +27,7 @@ bool FontAtlasBuilder::RunProcess(const std::string& commandLine, const std::fil
if (!CreateProcessA(nullptr, mutableCommandLine.data(), nullptr, nullptr, FALSE, CREATE_NO_WINDOW, nullptr, workingDirectory.string().c_str(), &startupInfo, &processInfo))
{
error = "Failed to launch msdf-atlas-gen.exe.";
error = "Failed to launch msdf-atlas-gen.exe. Windows error: " + LastWindowsErrorText() + ".";
return false;
}
@@ -29,7 +39,7 @@ bool FontAtlasBuilder::RunProcess(const std::string& commandLine, const std::fil
GetExitCodeProcess(processHandle.get(), &exitCode);
if (exitCode != 0)
{
error = "msdf-atlas-gen.exe returned a non-zero exit code.";
error = "msdf-atlas-gen.exe returned a non-zero exit code: " + std::to_string(static_cast<unsigned long>(exitCode)) + ".";
return false;
}