rendervulkan: Pick right first partial composite image
This commit is contained in:
parent
6a6df4ea95
commit
70626628f9
2 changed files with 18 additions and 2 deletions
|
@ -42,6 +42,7 @@
|
||||||
#include "shaders/ffx_fsr1.h"
|
#include "shaders/ffx_fsr1.h"
|
||||||
#include "shaders/descriptor_set_constants.h"
|
#include "shaders/descriptor_set_constants.h"
|
||||||
|
|
||||||
|
extern bool g_bWasPartialComposite;
|
||||||
|
|
||||||
static constexpr mat3x4 g_rgb2yuv_srgb_to_bt601_limited = {{
|
static constexpr mat3x4 g_rgb2yuv_srgb_to_bt601_limited = {{
|
||||||
{ 0.257f, 0.504f, 0.098f, 0.0625f },
|
{ 0.257f, 0.504f, 0.098f, 0.0625f },
|
||||||
|
@ -3586,10 +3587,25 @@ bool vulkan_composite( const struct FrameInfo_t *frameInfo, std::shared_ptr<CVul
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( partial )
|
if ( partial )
|
||||||
|
{
|
||||||
|
if ( !g_bWasPartialComposite )
|
||||||
|
{
|
||||||
|
g_output.nOutPresentImagePartial = g_output.nOutImage;
|
||||||
|
g_output.nOutImagePartial = g_output.nOutImage;
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
g_output.nOutPresentImagePartial = g_output.nOutImagePartial;
|
g_output.nOutPresentImagePartial = g_output.nOutImagePartial;
|
||||||
|
}
|
||||||
g_output.nOutImagePartial = ( g_output.nOutImagePartial + 1 ) % 3;
|
g_output.nOutImagePartial = ( g_output.nOutImagePartial + 1 ) % 3;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (g_bWasPartialComposite)
|
||||||
|
{
|
||||||
|
g_output.nOutImage = ( g_output.nOutImagePartial + 1 ) % 3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
auto compositeImage = partial ? g_output.outputImagesPartialOverlay[ g_output.nOutImagePartial ] : g_output.outputImages[ g_output.nOutImage ];
|
auto compositeImage = partial ? g_output.outputImagesPartialOverlay[ g_output.nOutImagePartial ] : g_output.outputImages[ g_output.nOutImage ];
|
||||||
|
|
||||||
|
|
|
@ -101,6 +101,7 @@
|
||||||
|
|
||||||
static LogScope xwm_log("xwm");
|
static LogScope xwm_log("xwm");
|
||||||
|
|
||||||
|
bool g_bWasPartialComposite = false;
|
||||||
|
|
||||||
///
|
///
|
||||||
// Color Mgmt
|
// Color Mgmt
|
||||||
|
@ -2433,7 +2434,6 @@ paint_all(bool async)
|
||||||
}
|
}
|
||||||
bNeedsFullComposite |= !!(g_uCompositeDebug & CompositeDebugFlag::Heatmap);
|
bNeedsFullComposite |= !!(g_uCompositeDebug & CompositeDebugFlag::Heatmap);
|
||||||
|
|
||||||
static bool g_bWasPartialComposite = false;
|
|
||||||
static int g_nLastSingleOverlayZPos = 0;
|
static int g_nLastSingleOverlayZPos = 0;
|
||||||
|
|
||||||
if ( !bNeedsFullComposite && !bWantsPartialComposite )
|
if ( !bNeedsFullComposite && !bWantsPartialComposite )
|
||||||
|
|
Loading…
Reference in a new issue