main: FSR sharpness setting.
This commit is contained in:
parent
96acb9de7e
commit
a9dac11f15
4 changed files with 15 additions and 1 deletions
|
@ -38,6 +38,7 @@ const struct option *gamescope_options = (struct option[]){
|
|||
{ "output-height", required_argument, nullptr, 'H' },
|
||||
{ "nearest-neighbor-filter", no_argument, nullptr, 'n' },
|
||||
{ "fsr-upscaling", no_argument, nullptr, 'U' },
|
||||
{ "fsr-sharpness", required_argument, nullptr, 0 },
|
||||
|
||||
// nested mode options
|
||||
{ "nested-unfocused-refresh", required_argument, nullptr, 'o' },
|
||||
|
@ -87,6 +88,7 @@ const char usage[] =
|
|||
" -H, --output-height output height\n"
|
||||
" -n, --nearest-neighbor-filter use nearest neighbor filtering\n"
|
||||
" -U --fsr-upscaling use AMD FidelityFX™ Super Resolution 1.0 for upscaling"
|
||||
" --fsr-sharpness FSR sharpness from 0 (max) to 20 (min)\n"
|
||||
" --cursor path to default cursor image\n"
|
||||
" -R, --ready-fd notify FD when ready\n"
|
||||
" -T, --stats-path write statistics to path\n"
|
||||
|
@ -119,6 +121,8 @@ const char usage[] =
|
|||
" Super + F toggle fullscreen\n"
|
||||
" Super + N toggle nearest neighbour filtering\n"
|
||||
" Super + U toggle FSR upscaling\n"
|
||||
" Super + I increase FSR sharpness by 1\n"
|
||||
" Super + O decrease FSR sharpness by 1\n"
|
||||
" Super + S take a screenshot\n"
|
||||
"";
|
||||
|
||||
|
@ -139,6 +143,7 @@ bool g_bIsNested = false;
|
|||
|
||||
bool g_bFilterGameWindow = true;
|
||||
bool g_fsrUpscale = false;
|
||||
int g_fsrSharpness = 2;
|
||||
|
||||
bool g_bBorderlessOutputWindow = false;
|
||||
|
||||
|
@ -278,6 +283,8 @@ int main(int argc, char **argv)
|
|||
g_nTouchClickMode = g_nDefaultTouchClickMode;
|
||||
} else if (strcmp(opt_name, "generate-drm-mode") == 0) {
|
||||
g_drmModeGeneration = parse_drm_mode_generation( optarg );
|
||||
} else if (strcmp(opt_name, "fsr-sharpness") == 0) {
|
||||
g_fsrSharpness = atoi( optarg );
|
||||
}
|
||||
break;
|
||||
case '?':
|
||||
|
|
|
@ -23,6 +23,7 @@ extern bool g_bFullscreen;
|
|||
extern bool g_bFilterGameWindow;
|
||||
|
||||
extern bool g_fsrUpscale;
|
||||
extern int g_fsrSharpness;
|
||||
|
||||
extern bool g_bBorderlessOutputWindow;
|
||||
|
||||
|
|
|
@ -2513,7 +2513,7 @@ bool vulkan_composite( struct Composite_t *pComposite, struct VulkanPipeline_t *
|
|||
vkCmdBindDescriptorSets(curCommandBuffer, VK_PIPELINE_BIND_POINT_COMPUTE, pipelineLayout, 0, 1, &descriptorSet, 0, 0);
|
||||
|
||||
uvec4_t tmp;
|
||||
FsrRcasCon(&tmp.x, 0.2f);
|
||||
FsrRcasCon(&tmp.x, g_fsrSharpness / 10.0f);
|
||||
rcasConstants.u_layer0Offset.x = uint32_t(int32_t(fsrpComposite.data.vOffset[0].x));
|
||||
rcasConstants.u_layer0Offset.y = uint32_t(int32_t(fsrpComposite.data.vOffset[0].y));
|
||||
rcasConstants.u_opacity[0] = fsrpComposite.data.flOpacity[0];
|
||||
|
|
|
@ -155,6 +155,12 @@ void inputSDLThreadRun( void )
|
|||
case KEY_U:
|
||||
g_fsrUpscale = !g_fsrUpscale;
|
||||
break;
|
||||
case KEY_I:
|
||||
g_fsrSharpness = std::min(20, g_fsrSharpness + 1);
|
||||
break;
|
||||
case KEY_O:
|
||||
g_fsrSharpness = std::max(0, g_fsrSharpness - 1);
|
||||
break;
|
||||
case KEY_S:
|
||||
take_screenshot();
|
||||
break;
|
||||
|
|
Loading…
Reference in a new issue