refactor(srp): rename camera request context surface
This commit is contained in:
@@ -104,7 +104,7 @@ struct ManagedScriptableRenderContextState {
|
||||
std::vector<Rendering::FullscreenPassDesc> queuedFullscreenPasses = {};
|
||||
};
|
||||
|
||||
struct ManagedScriptableRenderPipelineCameraRequestContextState {
|
||||
struct ManagedCameraRenderRequestContextState {
|
||||
uint64_t handle = 0;
|
||||
Rendering::CameraRenderRequest* request = nullptr;
|
||||
size_t renderedBaseCameraCount = 0u;
|
||||
@@ -228,50 +228,50 @@ ResolveManagedScriptableRenderContextDirectionalShadowPlan(
|
||||
return kDefaultDirectionalShadowPlan;
|
||||
}
|
||||
|
||||
uint64_t& GetManagedScriptableRenderPipelineCameraRequestContextNextHandle() {
|
||||
uint64_t& GetManagedCameraRenderRequestContextNextHandle() {
|
||||
static uint64_t nextHandle = 1;
|
||||
return nextHandle;
|
||||
}
|
||||
|
||||
std::unordered_map<uint64_t, ManagedScriptableRenderPipelineCameraRequestContextState*>&
|
||||
GetManagedScriptableRenderPipelineCameraRequestContextRegistry() {
|
||||
static std::unordered_map<uint64_t, ManagedScriptableRenderPipelineCameraRequestContextState*>
|
||||
std::unordered_map<uint64_t, ManagedCameraRenderRequestContextState*>&
|
||||
GetManagedCameraRenderRequestContextRegistry() {
|
||||
static std::unordered_map<uint64_t, ManagedCameraRenderRequestContextState*>
|
||||
registry;
|
||||
return registry;
|
||||
}
|
||||
|
||||
ManagedScriptableRenderPipelineCameraRequestContextState*
|
||||
FindManagedScriptableRenderPipelineCameraRequestContextState(
|
||||
ManagedCameraRenderRequestContextState*
|
||||
FindManagedCameraRenderRequestContextState(
|
||||
uint64_t handle) {
|
||||
const auto it =
|
||||
GetManagedScriptableRenderPipelineCameraRequestContextRegistry().find(handle);
|
||||
return it != GetManagedScriptableRenderPipelineCameraRequestContextRegistry().end()
|
||||
GetManagedCameraRenderRequestContextRegistry().find(handle);
|
||||
return it != GetManagedCameraRenderRequestContextRegistry().end()
|
||||
? it->second
|
||||
: nullptr;
|
||||
}
|
||||
|
||||
uint64_t RegisterManagedScriptableRenderPipelineCameraRequestContextState(
|
||||
ManagedScriptableRenderPipelineCameraRequestContextState& state) {
|
||||
uint64_t RegisterManagedCameraRenderRequestContextState(
|
||||
ManagedCameraRenderRequestContextState& state) {
|
||||
uint64_t handle =
|
||||
GetManagedScriptableRenderPipelineCameraRequestContextNextHandle()++;
|
||||
GetManagedCameraRenderRequestContextNextHandle()++;
|
||||
if (handle == 0) {
|
||||
handle =
|
||||
GetManagedScriptableRenderPipelineCameraRequestContextNextHandle()++;
|
||||
GetManagedCameraRenderRequestContextNextHandle()++;
|
||||
}
|
||||
|
||||
state.handle = handle;
|
||||
GetManagedScriptableRenderPipelineCameraRequestContextRegistry()[handle] =
|
||||
GetManagedCameraRenderRequestContextRegistry()[handle] =
|
||||
&state;
|
||||
return handle;
|
||||
}
|
||||
|
||||
void UnregisterManagedScriptableRenderPipelineCameraRequestContextState(
|
||||
void UnregisterManagedCameraRenderRequestContextState(
|
||||
uint64_t handle) {
|
||||
if (handle == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
GetManagedScriptableRenderPipelineCameraRequestContextRegistry().erase(handle);
|
||||
GetManagedCameraRenderRequestContextRegistry().erase(handle);
|
||||
}
|
||||
|
||||
void CleanupMonoRootDomainAtExit() {
|
||||
@@ -1000,19 +1000,19 @@ void MonoManagedRenderPipelineAssetRuntime::ConfigureCameraRenderRequest(
|
||||
return;
|
||||
}
|
||||
|
||||
ManagedScriptableRenderPipelineCameraRequestContextState requestContextState =
|
||||
ManagedCameraRenderRequestContextState requestContextState =
|
||||
{};
|
||||
requestContextState.request = &request;
|
||||
requestContextState.renderedBaseCameraCount = renderedBaseCameraCount;
|
||||
requestContextState.renderedRequestCount = renderedRequestCount;
|
||||
const uint64_t requestContextHandle =
|
||||
RegisterManagedScriptableRenderPipelineCameraRequestContextState(
|
||||
RegisterManagedCameraRenderRequestContextState(
|
||||
requestContextState);
|
||||
MonoObject* const requestContextObject =
|
||||
m_runtime->CreateManagedScriptableRenderPipelineCameraRequestContext(
|
||||
m_runtime->CreateManagedCameraRenderRequestContext(
|
||||
requestContextHandle);
|
||||
if (requestContextObject == nullptr) {
|
||||
UnregisterManagedScriptableRenderPipelineCameraRequestContextState(
|
||||
UnregisterManagedCameraRenderRequestContextState(
|
||||
requestContextHandle);
|
||||
return;
|
||||
}
|
||||
@@ -1023,7 +1023,7 @@ void MonoManagedRenderPipelineAssetRuntime::ConfigureCameraRenderRequest(
|
||||
method,
|
||||
args,
|
||||
nullptr);
|
||||
UnregisterManagedScriptableRenderPipelineCameraRequestContextState(
|
||||
UnregisterManagedCameraRenderRequestContextState(
|
||||
requestContextHandle);
|
||||
}
|
||||
|
||||
@@ -3599,30 +3599,30 @@ InternalCall_Rendering_ScriptableRenderContext_RecordFullscreenPass(
|
||||
}
|
||||
|
||||
int32_t
|
||||
InternalCall_Rendering_ScriptableRenderPipelineCameraRequestContext_GetRenderedBaseCameraCount(
|
||||
InternalCall_Rendering_CameraRenderRequestContext_GetRenderedBaseCameraCount(
|
||||
uint64_t nativeHandle) {
|
||||
const ManagedScriptableRenderPipelineCameraRequestContextState* const state =
|
||||
FindManagedScriptableRenderPipelineCameraRequestContextState(nativeHandle);
|
||||
const ManagedCameraRenderRequestContextState* const state =
|
||||
FindManagedCameraRenderRequestContextState(nativeHandle);
|
||||
return state != nullptr
|
||||
? static_cast<int32_t>(state->renderedBaseCameraCount)
|
||||
: 0;
|
||||
}
|
||||
|
||||
int32_t
|
||||
InternalCall_Rendering_ScriptableRenderPipelineCameraRequestContext_GetRenderedRequestCount(
|
||||
InternalCall_Rendering_CameraRenderRequestContext_GetRenderedRequestCount(
|
||||
uint64_t nativeHandle) {
|
||||
const ManagedScriptableRenderPipelineCameraRequestContextState* const state =
|
||||
FindManagedScriptableRenderPipelineCameraRequestContextState(nativeHandle);
|
||||
const ManagedCameraRenderRequestContextState* const state =
|
||||
FindManagedCameraRenderRequestContextState(nativeHandle);
|
||||
return state != nullptr
|
||||
? static_cast<int32_t>(state->renderedRequestCount)
|
||||
: 0;
|
||||
}
|
||||
|
||||
mono_bool
|
||||
InternalCall_Rendering_ScriptableRenderPipelineCameraRequestContext_GetHasDirectionalShadow(
|
||||
InternalCall_Rendering_CameraRenderRequestContext_GetHasDirectionalShadow(
|
||||
uint64_t nativeHandle) {
|
||||
const ManagedScriptableRenderPipelineCameraRequestContextState* const state =
|
||||
FindManagedScriptableRenderPipelineCameraRequestContextState(nativeHandle);
|
||||
const ManagedCameraRenderRequestContextState* const state =
|
||||
FindManagedCameraRenderRequestContextState(nativeHandle);
|
||||
return state != nullptr &&
|
||||
state->request != nullptr &&
|
||||
state->request->directionalShadow.IsValid()
|
||||
@@ -3630,10 +3630,10 @@ InternalCall_Rendering_ScriptableRenderPipelineCameraRequestContext_GetHasDirect
|
||||
: 0;
|
||||
}
|
||||
|
||||
void InternalCall_Rendering_ScriptableRenderPipelineCameraRequestContext_ClearDirectionalShadow(
|
||||
void InternalCall_Rendering_CameraRenderRequestContext_ClearDirectionalShadow(
|
||||
uint64_t nativeHandle) {
|
||||
ManagedScriptableRenderPipelineCameraRequestContextState* const state =
|
||||
FindManagedScriptableRenderPipelineCameraRequestContextState(nativeHandle);
|
||||
ManagedCameraRenderRequestContextState* const state =
|
||||
FindManagedCameraRenderRequestContextState(nativeHandle);
|
||||
if (state == nullptr || state->request == nullptr) {
|
||||
return;
|
||||
}
|
||||
@@ -3824,10 +3824,10 @@ void RegisterInternalCalls() {
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Rendering_ScriptableRenderContext_RecordScenePhase", reinterpret_cast<const void*>(&InternalCall_Rendering_ScriptableRenderContext_RecordScenePhase));
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Rendering_ScriptableRenderContext_RecordSceneInjectionPoint", reinterpret_cast<const void*>(&InternalCall_Rendering_ScriptableRenderContext_RecordSceneInjectionPoint));
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Rendering_ScriptableRenderContext_RecordFullscreenPass", reinterpret_cast<const void*>(&InternalCall_Rendering_ScriptableRenderContext_RecordFullscreenPass));
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Rendering_ScriptableRenderPipelineCameraRequestContext_GetRenderedBaseCameraCount", reinterpret_cast<const void*>(&InternalCall_Rendering_ScriptableRenderPipelineCameraRequestContext_GetRenderedBaseCameraCount));
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Rendering_ScriptableRenderPipelineCameraRequestContext_GetRenderedRequestCount", reinterpret_cast<const void*>(&InternalCall_Rendering_ScriptableRenderPipelineCameraRequestContext_GetRenderedRequestCount));
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Rendering_ScriptableRenderPipelineCameraRequestContext_GetHasDirectionalShadow", reinterpret_cast<const void*>(&InternalCall_Rendering_ScriptableRenderPipelineCameraRequestContext_GetHasDirectionalShadow));
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Rendering_ScriptableRenderPipelineCameraRequestContext_ClearDirectionalShadow", reinterpret_cast<const void*>(&InternalCall_Rendering_ScriptableRenderPipelineCameraRequestContext_ClearDirectionalShadow));
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Rendering_CameraRenderRequestContext_GetRenderedBaseCameraCount", reinterpret_cast<const void*>(&InternalCall_Rendering_CameraRenderRequestContext_GetRenderedBaseCameraCount));
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Rendering_CameraRenderRequestContext_GetRenderedRequestCount", reinterpret_cast<const void*>(&InternalCall_Rendering_CameraRenderRequestContext_GetRenderedRequestCount));
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Rendering_CameraRenderRequestContext_GetHasDirectionalShadow", reinterpret_cast<const void*>(&InternalCall_Rendering_CameraRenderRequestContext_GetHasDirectionalShadow));
|
||||
mono_add_internal_call("XCEngine.InternalCalls::Rendering_CameraRenderRequestContext_ClearDirectionalShadow", reinterpret_cast<const void*>(&InternalCall_Rendering_CameraRenderRequestContext_ClearDirectionalShadow));
|
||||
|
||||
GetInternalCallRegistrationState() = true;
|
||||
}
|
||||
@@ -3885,8 +3885,8 @@ void MonoScriptRuntime::Shutdown() {
|
||||
ClearManagedRenderPipelineSelection(this);
|
||||
GetManagedScriptableRenderContextRegistry().clear();
|
||||
GetManagedScriptableRenderContextNextHandle() = 1;
|
||||
GetManagedScriptableRenderPipelineCameraRequestContextRegistry().clear();
|
||||
GetManagedScriptableRenderPipelineCameraRequestContextNextHandle() = 1;
|
||||
GetManagedCameraRenderRequestContextRegistry().clear();
|
||||
GetManagedCameraRenderRequestContextNextHandle() = 1;
|
||||
ClearManagedInstances();
|
||||
ClearExternalManagedObjects();
|
||||
ClearClassCache();
|
||||
@@ -3903,11 +3903,11 @@ void MonoScriptRuntime::Shutdown() {
|
||||
m_scriptableRenderPipelineAssetClass = nullptr;
|
||||
m_scriptableRenderPipelineClass = nullptr;
|
||||
m_scriptableRenderContextClass = nullptr;
|
||||
m_scriptableRenderPipelineCameraRequestContextClass = nullptr;
|
||||
m_cameraRenderRequestContextClass = nullptr;
|
||||
m_serializeFieldAttributeClass = nullptr;
|
||||
m_gameObjectConstructor = nullptr;
|
||||
m_scriptableRenderContextConstructor = nullptr;
|
||||
m_scriptableRenderPipelineCameraRequestContextConstructor = nullptr;
|
||||
m_cameraRenderRequestContextConstructor = nullptr;
|
||||
m_managedGameObjectUUIDField = nullptr;
|
||||
m_gameObjectUUIDField = nullptr;
|
||||
m_scriptComponentUUIDField = nullptr;
|
||||
@@ -4680,24 +4680,24 @@ bool MonoScriptRuntime::DiscoverScriptClasses() {
|
||||
return false;
|
||||
}
|
||||
|
||||
m_scriptableRenderPipelineCameraRequestContextClass = mono_class_from_name(
|
||||
m_cameraRenderRequestContextClass = mono_class_from_name(
|
||||
m_coreImage,
|
||||
kManagedRenderingNamespace,
|
||||
"ScriptableRenderPipelineCameraRequestContext");
|
||||
if (!m_scriptableRenderPipelineCameraRequestContextClass) {
|
||||
"CameraRenderRequestContext");
|
||||
if (!m_cameraRenderRequestContextClass) {
|
||||
SetError(
|
||||
"Failed to locate the managed ScriptableRenderPipelineCameraRequestContext type.");
|
||||
"Failed to locate the managed CameraRenderRequestContext type.");
|
||||
return false;
|
||||
}
|
||||
|
||||
m_scriptableRenderPipelineCameraRequestContextConstructor =
|
||||
m_cameraRenderRequestContextConstructor =
|
||||
mono_class_get_method_from_name(
|
||||
m_scriptableRenderPipelineCameraRequestContextClass,
|
||||
m_cameraRenderRequestContextClass,
|
||||
".ctor",
|
||||
1);
|
||||
if (!m_scriptableRenderPipelineCameraRequestContextConstructor) {
|
||||
if (!m_cameraRenderRequestContextConstructor) {
|
||||
SetError(
|
||||
"Failed to locate the managed ScriptableRenderPipelineCameraRequestContext constructor.");
|
||||
"Failed to locate the managed CameraRenderRequestContext constructor.");
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -5257,12 +5257,12 @@ MonoObject* MonoScriptRuntime::CreateManagedScriptableRenderContext(
|
||||
}
|
||||
|
||||
MonoObject*
|
||||
MonoScriptRuntime::CreateManagedScriptableRenderPipelineCameraRequestContext(
|
||||
MonoScriptRuntime::CreateManagedCameraRenderRequestContext(
|
||||
uint64_t nativeHandle) {
|
||||
if (!m_initialized ||
|
||||
nativeHandle == 0 ||
|
||||
m_scriptableRenderPipelineCameraRequestContextClass == nullptr ||
|
||||
m_scriptableRenderPipelineCameraRequestContextConstructor == nullptr) {
|
||||
m_cameraRenderRequestContextClass == nullptr ||
|
||||
m_cameraRenderRequestContextConstructor == nullptr) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@@ -5271,10 +5271,10 @@ MonoScriptRuntime::CreateManagedScriptableRenderPipelineCameraRequestContext(
|
||||
MonoObject* const contextObject =
|
||||
mono_object_new(
|
||||
m_appDomain,
|
||||
m_scriptableRenderPipelineCameraRequestContextClass);
|
||||
m_cameraRenderRequestContextClass);
|
||||
if (contextObject == nullptr) {
|
||||
SetError(
|
||||
"Mono failed to allocate a managed ScriptableRenderPipelineCameraRequestContext.");
|
||||
"Mono failed to allocate a managed CameraRenderRequestContext.");
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@@ -5284,7 +5284,7 @@ MonoScriptRuntime::CreateManagedScriptableRenderPipelineCameraRequestContext(
|
||||
|
||||
MonoObject* exception = nullptr;
|
||||
mono_runtime_invoke(
|
||||
m_scriptableRenderPipelineCameraRequestContextConstructor,
|
||||
m_cameraRenderRequestContextConstructor,
|
||||
contextObject,
|
||||
args,
|
||||
&exception);
|
||||
|
||||
Reference in New Issue
Block a user