Browse Source

Renamed FSR3 => FSR2

fsr2
Nico de Poel 11 months ago
parent
commit
4ea19e9852
  1. 40
      FSR2UnityPlugin.cpp
  2. 0
      FSR2UnityPlugin.sln
  3. 12
      FSR2UnityTypes.h
  4. 5
      FSR3UnityPlugin.vcxproj
  5. 4
      FSR3UnityPlugin.vcxproj.filters

40
FSR3UnityPlugin.cpp → FSR2UnityPlugin.cpp

@ -16,7 +16,7 @@
#include "ffx-fsr2-api/ffx_fsr2.h"
#include "ffx-fsr2-api/dx12/ffx_fsr2_dx12.h"
#include "FSR3UnityTypes.h"
#include "FSR2UnityTypes.h"
static const int32_t BaseEventId = 0;
@ -33,16 +33,16 @@ static void UNITY_INTERFACE_API OnGraphicsDeviceEvent(UnityGfxDeviceEventType ev
static void UNITY_INTERFACE_API OnRenderEventAndData(int eventID, void* data);
static void UNITY_INTERFACE_API OnSetTextureEvent(int eventID, void* data);
struct FSR3Feature
struct FSR2Feature
{
FfxFsr2Context upscalingContext;
uint32_t flags;
bool isValid;
FSR3TextureTable textureTable;
FSR2TextureTable textureTable;
};
static std::vector<FSR3Feature> s_Features;
static std::vector<FSR2Feature> s_Features;
static std::queue<uint32_t> s_FeatureSlots;
static std::mutex s_FeatureMutex;
@ -111,7 +111,7 @@ static uint32_t AllocateFeatureSlot()
{
// Create a new feature if there are no free slots
uint32_t featureSlot = (uint32_t)s_Features.size();
s_Features.push_back(std::move(FSR3Feature()));
s_Features.push_back(std::move(FSR2Feature()));
return featureSlot;
}
@ -127,7 +127,7 @@ static void FreeFeatureSlot(uint32_t featureSlot)
std::lock_guard<std::mutex> lock(s_FeatureMutex);
s_FeatureSlots.push(featureSlot);
memset(&s_Features[featureSlot], 0, sizeof(FSR3Feature));
memset(&s_Features[featureSlot], 0, sizeof(FSR2Feature));
}
extern "C" bool UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API AMDUP_InitApi()
@ -189,24 +189,24 @@ extern "C" uint32_t UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API AMDUP_CreateFeatu
return AllocateFeatureSlot();
}
extern "C" float UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API AMDUP_GetUpscaleRatioFromQualityMode(FSR3Quality qualityMode)
extern "C" float UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API AMDUP_GetUpscaleRatioFromQualityMode(FSR2Quality qualityMode)
{
switch (qualityMode)
{
case FSR3Quality::qQuality:
case FSR2Quality::qQuality:
return 1.5f;
case FSR3Quality::qBalanced:
case FSR2Quality::qBalanced:
return 1.7f;
case FSR3Quality::qPerformance:
case FSR2Quality::qPerformance:
return 2.0f;
case FSR3Quality::qUltraPerformance:
case FSR2Quality::qUltraPerformance:
return 3.0f;
default:
return 1.0f;
}
}
extern "C" bool UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API AMDUP_GetRenderResolutionFromQualityMode(FSR3Quality qualityMode, uint32_t displayWidth, uint32_t displayHeight, uint32_t* renderWidth, uint32_t* renderHeight)
extern "C" bool UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API AMDUP_GetRenderResolutionFromQualityMode(FSR2Quality qualityMode, uint32_t displayWidth, uint32_t displayHeight, uint32_t* renderWidth, uint32_t* renderHeight)
{
if (renderWidth == nullptr || renderHeight == nullptr)
return false;
@ -231,7 +231,7 @@ static void UNITY_INTERFACE_API OnRenderEventAndData(int eventID, void* data)
// User rendering code
switch (eventID)
{
case BaseEventId + FSR3PluginEvent::eDestroyFeature:
case BaseEventId + FSR2PluginEvent::eDestroyFeature:
{
uint32_t featureSlot = (uint32_t)(int64_t)data;
if (featureSlot < 0 || featureSlot >= s_Features.size())
@ -245,9 +245,9 @@ static void UNITY_INTERFACE_API OnRenderEventAndData(int eventID, void* data)
}
break;
}
case BaseEventId + FSR3PluginEvent::eExecute:
case BaseEventId + FSR2PluginEvent::eExecute:
{
auto* params = (FSR3CommandExecutionData*)data;
auto* params = (FSR2CommandExecutionData*)data;
if (params->featureSlot < 0 || params->featureSlot >= s_Features.size())
return;
@ -294,14 +294,14 @@ static void UNITY_INTERFACE_API OnRenderEventAndData(int eventID, void* data)
ffxFsr2ContextDispatch(&feature.upscalingContext, &dispatchDescription);
break;
}
case BaseEventId + FSR3PluginEvent::ePostExecute:
case BaseEventId + FSR2PluginEvent::ePostExecute:
{
auto* params = (FSR3CommandExecutionData*)data;
auto* params = (FSR2CommandExecutionData*)data;
break;
}
case BaseEventId + FSR3PluginEvent::eInit:
case BaseEventId + FSR2PluginEvent::eInit:
{
auto* params = (FSR3CommandInitializationData*)data;
auto* params = (FSR2CommandInitializationData*)data;
if (params->featureSlot < 0 || params->featureSlot >= s_Features.size())
return;
@ -345,7 +345,7 @@ static void UNITY_INTERFACE_API OnSetTextureEvent(int eventID, void* data)
{
if (clearTextureTable)
{
memset(&feature.textureTable, 0, sizeof(FSR3TextureTable));
memset(&feature.textureTable, 0, sizeof(FSR2TextureTable));
}
break;
}

0
FSR3UnityPlugin.sln → FSR2UnityPlugin.sln

12
FSR3UnityTypes.h → FSR2UnityTypes.h

@ -1,6 +1,6 @@
#pragma once
enum FSR3PluginEvent : int32_t
enum FSR2PluginEvent : int32_t
{
eDestroyFeature,
eExecute,
@ -8,7 +8,7 @@ enum FSR3PluginEvent : int32_t
eInit
};
enum FSR3Quality: int32_t
enum FSR2Quality: int32_t
{
qQuality,
qBalanced,
@ -16,7 +16,7 @@ enum FSR3Quality: int32_t
qUltraPerformance
};
enum FSR3Textures: int32_t
enum FSR2Textures: int32_t
{
tColorInput,
tColorOutput,
@ -28,7 +28,7 @@ enum FSR3Textures: int32_t
tBiasColorMask,
};
struct FSR3CommandInitializationData
struct FSR2CommandInitializationData
{
uint32_t maxRenderSizeWidth;
uint32_t maxRenderSizeHeight;
@ -39,7 +39,7 @@ struct FSR3CommandInitializationData
uint32_t featureSlot;
};
struct FSR3CommandExecutionData
struct FSR2CommandExecutionData
{
float jitterOffsetX;
float jitterOffsetY;
@ -59,7 +59,7 @@ struct FSR3CommandExecutionData
uint32_t featureSlot;
};
struct FSR3TextureTable
struct FSR2TextureTable
{
intptr_t colorInput;
intptr_t colorOutput;

5
FSR3UnityPlugin.vcxproj

@ -24,6 +24,7 @@
<ProjectGuid>{505a5886-66bc-4210-b4e8-1301cfb75e74}</ProjectGuid>
<RootNamespace>FSR3UnityPlugin</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
<ProjectName>FSR2UnityPlugin</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
@ -147,10 +148,10 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="FSR3UnityPlugin.cpp" />
<ClCompile Include="FSR2UnityPlugin.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="FSR3UnityTypes.h" />
<ClInclude Include="FSR2UnityTypes.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">

4
FSR3UnityPlugin.vcxproj.filters

@ -15,12 +15,12 @@
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="FSR3UnityPlugin.cpp">
<ClCompile Include="FSR2UnityPlugin.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="FSR3UnityTypes.h">
<ClInclude Include="FSR2UnityTypes.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
Loading…
Cancel
Save