mirror of
https://github.com/gnif/LookingGlass.git
synced 2024-12-22 22:01:46 +00:00
[client] egl/filters: bypass setup/prepare logic if disabled/inactive
filters are now not run if `egl_filterSetup` returns false, as such we do not need additional `enable` checks in `prepare` or `run` and we can bypass the filters even earlier if they are not enabled reducing load.
This commit is contained in:
parent
fc037ccc95
commit
70a751b58d
3 changed files with 12 additions and 8 deletions
|
@ -365,9 +365,6 @@ static bool egl_filterDownscalePrepare(EGL_Filter * filter)
|
||||||
{
|
{
|
||||||
EGL_FilterDownscale * this = UPCAST(EGL_FilterDownscale, filter);
|
EGL_FilterDownscale * this = UPCAST(EGL_FilterDownscale, filter);
|
||||||
|
|
||||||
if (!this->enable)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if (this->prepared)
|
if (this->prepared)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
|
|
@ -224,6 +224,9 @@ static bool egl_filterFFXCASSetup(EGL_Filter * filter,
|
||||||
{
|
{
|
||||||
EGL_FilterFFXCAS * this = UPCAST(EGL_FilterFFXCAS, filter);
|
EGL_FilterFFXCAS * this = UPCAST(EGL_FilterFFXCAS, filter);
|
||||||
|
|
||||||
|
if (!this->enable)
|
||||||
|
return false;
|
||||||
|
|
||||||
if (pixFmt == this->pixFmt && this->width == width && this->height == height)
|
if (pixFmt == this->pixFmt && this->width == width && this->height == height)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
@ -251,9 +254,6 @@ static bool egl_filterFFXCASPrepare(EGL_Filter * filter)
|
||||||
{
|
{
|
||||||
EGL_FilterFFXCAS * this = UPCAST(EGL_FilterFFXCAS, filter);
|
EGL_FilterFFXCAS * this = UPCAST(EGL_FilterFFXCAS, filter);
|
||||||
|
|
||||||
if (!this->enable)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if (this->prepared)
|
if (this->prepared)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
|
|
@ -339,6 +339,13 @@ static bool egl_filterFFXFSR1Setup(EGL_Filter * filter,
|
||||||
{
|
{
|
||||||
EGL_FilterFFXFSR1 * this = UPCAST(EGL_FilterFFXFSR1, filter);
|
EGL_FilterFFXFSR1 * this = UPCAST(EGL_FilterFFXFSR1, filter);
|
||||||
|
|
||||||
|
if (!this->enable)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
this->active = this->width > width && this->height > height;
|
||||||
|
if (!this->active)
|
||||||
|
return false;
|
||||||
|
|
||||||
if (pixFmt == this->pixFmt && !this->sizeChanged &&
|
if (pixFmt == this->pixFmt && !this->sizeChanged &&
|
||||||
width == this->inWidth && height == this->inHeight)
|
width == this->inWidth && height == this->inHeight)
|
||||||
return true;
|
return true;
|
||||||
|
@ -351,7 +358,6 @@ static bool egl_filterFFXFSR1Setup(EGL_Filter * filter,
|
||||||
|
|
||||||
this->inWidth = width;
|
this->inWidth = width;
|
||||||
this->inHeight = height;
|
this->inHeight = height;
|
||||||
this->active = this->width > width && this->height > height;
|
|
||||||
this->sizeChanged = false;
|
this->sizeChanged = false;
|
||||||
this->pixFmt = pixFmt;
|
this->pixFmt = pixFmt;
|
||||||
this->prepared = false;
|
this->prepared = false;
|
||||||
|
@ -360,6 +366,7 @@ static bool egl_filterFFXFSR1Setup(EGL_Filter * filter,
|
||||||
this->easuUniform[1].f[1] = this->height;
|
this->easuUniform[1].f[1] = this->height;
|
||||||
ffxFsrEasuConst((uint32_t *)this->consts->data, this->inWidth, this->inHeight,
|
ffxFsrEasuConst((uint32_t *)this->consts->data, this->inWidth, this->inHeight,
|
||||||
this->inWidth, this->inHeight, this->width, this->height);
|
this->inWidth, this->inHeight, this->width, this->height);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -375,7 +382,7 @@ static bool egl_filterFFXFSR1Prepare(EGL_Filter * filter)
|
||||||
{
|
{
|
||||||
EGL_FilterFFXFSR1 * this = UPCAST(EGL_FilterFFXFSR1, filter);
|
EGL_FilterFFXFSR1 * this = UPCAST(EGL_FilterFFXFSR1, filter);
|
||||||
|
|
||||||
if (!this->enable || !this->active)
|
if (!this->active)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (this->prepared)
|
if (this->prepared)
|
||||||
|
|
Loading…
Reference in a new issue