Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rsx: Implement Texture LOD Bias Addend setting #9493

Merged
merged 5 commits into from
Dec 30, 2020
Merged

Conversation

elad335
Copy link
Contributor

@elad335 elad335 commented Dec 24, 2020

  • Implement "Texture LOD Bias Addend" settings, 0 is the default, negative values can improve texture quality at a distance to some degree over real PS3 (although aliasing may be introduced at lower resolutions, can crank up the resolution for it). Positive values result in funny extremely blurry and downgraded graphics to say the least. (config.yml only at the moment)
  • Move Anisotropic Filter Override to common RSX state. Remove duplicated code in OpenGL/Vulkan backends. Also protect the backends against invalid AF values.

@Gael2433
Copy link

Games running on Unreal Engine react nicely to LOD overrides, here is Singularity:
Default:
image
Force LOD 4:
image
Force LOD -1:
image
Force LOD 12:
image
Force LOD -12:
image

@Gael2433
Copy link

Guilty Gear Xrd -SIGN-:
Default:
image
Force LOD 4:
image
Force LOD 12:
image
Force LOD -1:
image
Force LOD -12:
image

@Gael2433
Copy link

Final Fantasy XIII:
Default:
rpcs3-RSXLOD 2020-12-25 11-29-11
-12 LOD:
rpcs3-RSXLOD 2020-12-25 11-29-42
12 LOD:
rpcs3-RSXLOD 2020-12-25 11-30-07

@elad335
Copy link
Contributor Author

elad335 commented Dec 25, 2020

I recommend to render -12 LOD at 4k to see the full texture detail and avoid aliasing.

@MarioSonic2987
Copy link
Contributor

MarioSonic2987 commented Dec 25, 2020

Midnight Club: Los Angeles - Improves foliage rendering

Default:
screenshot-2020_12_25_10_31_57

-12 LOD:
screenshot-2020_12_25_10_20_18

Red Dead Redemption - Improves foliage rendering

Default:
screenshot-2020_12_25_11_07_56

-12 LOD:
screenshot-2020_12_25_11_11_57

@kd-11
Copy link
Contributor

kd-11 commented Dec 26, 2020

The way this is implemented is just leading to constant spec violations. You cannot use a lod that does not exist in your sampler safely, which is why this is usually implemented as a bias value not an absolute value (you can see this in your driver settings). Hardware is designed with LOD bias support as does every API. I would suggest switching to a LOD bias implementation instead of this, just run with validation layers to see how this implementation doesn't make sense.
Alternatively this can be merged as is and I would have to redo it correctly later, but that is unfair to me.

@elad335 elad335 changed the title rsx: Implement Texture LOD min/max addend setting rsx: Implement Texture LOD Bias Addend setting Dec 26, 2020
@elad335
Copy link
Contributor Author

elad335 commented Dec 26, 2020

Fixed.

@Nekotekina Nekotekina merged commit 7fc26b1 into RPCS3:master Dec 30, 2020
@elad335 elad335 deleted the polish branch September 19, 2022 06:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants