|
|
|
@ -352,7 +352,21 @@ static void UNITY_INTERFACE_API OnRenderEventAndData(int eventID, void* data) |
|
|
|
|
|
|
|
FfxFsr2DispatchDescription dispatchDescription{}; |
|
|
|
|
|
|
|
if (s_GraphicsD3D12 != nullptr) |
|
|
|
if (s_GraphicsD3D11 != nullptr) |
|
|
|
{ |
|
|
|
ID3D11DeviceContext* ctx = nullptr; |
|
|
|
s_GraphicsD3D11->GetDevice()->GetImmediateContext(&ctx); |
|
|
|
dispatchDescription.commandList = ctx; |
|
|
|
|
|
|
|
dispatchDescription.color = ffxGetResourceDX11(&feature.upscalingContext, (ID3D11Resource*)feature.textureTable.colorInput.image); |
|
|
|
dispatchDescription.depth = ffxGetResourceDX11(&feature.upscalingContext, (ID3D11Resource*)feature.textureTable.depth.image); |
|
|
|
dispatchDescription.motionVectors = ffxGetResourceDX11(&feature.upscalingContext, (ID3D11Resource*)feature.textureTable.motionVectors.image); |
|
|
|
dispatchDescription.exposure = ffxGetResourceDX11(&feature.upscalingContext, (ID3D11Resource*)feature.textureTable.exposureTexture.image); |
|
|
|
dispatchDescription.reactive = ffxGetResourceDX11(&feature.upscalingContext, (ID3D11Resource*)feature.textureTable.reactiveMask.image); |
|
|
|
dispatchDescription.transparencyAndComposition = ffxGetResourceDX11(&feature.upscalingContext, (ID3D11Resource*)feature.textureTable.transparencyMask.image); |
|
|
|
dispatchDescription.output = ffxGetResourceDX11(&feature.upscalingContext, (ID3D11Resource*)feature.textureTable.colorOutput.image, nullptr, FFX_RESOURCE_STATE_UNORDERED_ACCESS); |
|
|
|
} |
|
|
|
else if (s_GraphicsD3D12 != nullptr) |
|
|
|
{ |
|
|
|
UnityGraphicsD3D12RecordingState state; |
|
|
|
s_GraphicsD3D12->CommandRecordingState(&state); |
|
|
|
@ -484,7 +498,11 @@ static void UNITY_INTERFACE_API OnSetTextureEvent(int eventID, void* data) |
|
|
|
// This way we can use the texture slot value simply as a pointer offset into the texture table
|
|
|
|
FSR2TextureDesc* textureDesc = ((FSR2TextureDesc*)&feature.textureTable) + textureSlot; |
|
|
|
|
|
|
|
if (s_GraphicsD3D12 != nullptr) |
|
|
|
if (s_GraphicsD3D11 != nullptr) |
|
|
|
{ |
|
|
|
textureDesc->image = (intptr_t)s_GraphicsD3D11->TextureFromNativeTexture((UnityTextureID)params->textureID); |
|
|
|
} |
|
|
|
else if (s_GraphicsD3D12 != nullptr) |
|
|
|
{ |
|
|
|
textureDesc->image = (intptr_t)s_GraphicsD3D12->TextureFromNativeTexture((UnityTextureID)params->textureID); |
|
|
|
} |
|
|
|
|