Render changes
All checks were successful
CI / React UI Build (push) Successful in 11s
CI / Native Windows Build And Tests (push) Successful in 2m59s
CI / Windows Release Package (push) Has been skipped

This commit is contained in:
Aiden
2026-05-12 14:36:36 +10:00
parent 1ddcf5d621
commit d07ea1f63a
7 changed files with 248 additions and 20 deletions

View File

@@ -1,8 +1,9 @@
#pragma once
#include "RenderCadenceClock.h"
#include "../runtime/RuntimeLayerModel.h"
#include "../runtime/RuntimeShaderArtifact.h"
#include "RuntimeShaderRenderer.h"
#include "RuntimeRenderScene.h"
#include <atomic>
#include <condition_variable>
@@ -45,6 +46,7 @@ public:
bool Start(std::string& error);
void Stop();
void SubmitRuntimeShaderArtifact(const RuntimeShaderArtifact& artifact);
void SubmitRuntimeRenderLayers(const std::vector<RenderCadenceCompositor::RuntimeRenderLayerModel>& layers);
Metrics GetMetrics() const;
bool IsRunning() const { return mRunning.load(std::memory_order_acquire); }
@@ -56,8 +58,9 @@ private:
void CountRendered();
void CountCompleted();
void CountAcquireMiss();
void TryCommitReadyRuntimeShader(RuntimeShaderRenderer& runtimeShaderRenderer);
void TryCommitReadyRuntimeShader(RuntimeRenderScene& runtimeRenderScene);
bool TryTakePendingRuntimeShaderArtifact(RuntimeShaderArtifact& artifact);
bool TryTakePendingRenderLayers(std::vector<RenderCadenceCompositor::RuntimeRenderLayerModel>& layers);
SystemFrameExchange& mFrameExchange;
Config mConfig;
@@ -82,4 +85,8 @@ private:
std::mutex mShaderArtifactMutex;
bool mHasPendingShaderArtifact = false;
RuntimeShaderArtifact mPendingShaderArtifact;
std::mutex mRenderLayersMutex;
bool mHasPendingRenderLayers = false;
std::vector<RenderCadenceCompositor::RuntimeRenderLayerModel> mPendingRenderLayers;
};