steamcompmgr: Implement GAMESCOPE_SCALING_MODE atom
0 = linear 1 = nearest 2 = integer 3 = fsr
This commit is contained in:
parent
7755bb635d
commit
d01363e35e
2 changed files with 33 additions and 0 deletions
|
@ -3495,6 +3495,35 @@ handle_property_notify(xwayland_ctx_t *ctx, XPropertyEvent *ev)
|
|||
{
|
||||
g_uVBlankRateOfDecayPercentage = (uint64_t)get_prop( ctx, ctx->root, ctx->atoms.gamescopeTuneableRateOfDecay, g_uDefaultVBlankRateOfDecayPercentage );
|
||||
}
|
||||
if ( ev->atom == ctx->atoms.gamescopeScalingFilter )
|
||||
{
|
||||
int nScalingMode = get_prop( ctx, ctx->root, ctx->atoms.gamescopeScalingFilter, 0 );
|
||||
switch ( nScalingMode )
|
||||
{
|
||||
default:
|
||||
case 0:
|
||||
g_bFilterGameWindow = true;
|
||||
g_bIntegerScale = false;
|
||||
g_fsrUpscale = false;
|
||||
break;
|
||||
case 1:
|
||||
g_bFilterGameWindow = false;
|
||||
g_bIntegerScale = false;
|
||||
g_fsrUpscale = false;
|
||||
break;
|
||||
case 2:
|
||||
g_bFilterGameWindow = false;
|
||||
g_bIntegerScale = true;
|
||||
g_fsrUpscale = false;
|
||||
break;
|
||||
case 3:
|
||||
g_bFilterGameWindow = true;
|
||||
g_bIntegerScale = false;
|
||||
g_fsrUpscale = true;
|
||||
break;
|
||||
}
|
||||
hasRepaint = true;
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
|
@ -4338,6 +4367,8 @@ void init_xwayland_ctx(gamescope_xwayland_server_t *xwayland_server)
|
|||
ctx->atoms.gamescopeTuneableVBlankRedZone = XInternAtom( ctx->dpy, "GAMESCOPE_TUNEABLE_VBLANK_REDZONE", false );
|
||||
ctx->atoms.gamescopeTuneableRateOfDecay = XInternAtom( ctx->dpy, "GAMESCOPE_TUNEABLE_VBLANK_RATE_OF_DECAY_PERCENTAGE", false );
|
||||
|
||||
ctx->atoms.gamescopeScalingFilter = XInternAtom( ctx->dpy, "GAMESCOPE_SCALING_FILTER", false );
|
||||
|
||||
ctx->root_width = DisplayWidth(ctx->dpy, ctx->scr);
|
||||
ctx->root_height = DisplayHeight(ctx->dpy, ctx->scr);
|
||||
|
||||
|
|
|
@ -112,5 +112,7 @@ struct xwayland_ctx_t
|
|||
|
||||
Atom gamescopeTuneableVBlankRedZone;
|
||||
Atom gamescopeTuneableRateOfDecay;
|
||||
|
||||
Atom gamescopeScalingFilter;
|
||||
} atoms;
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue