08-08-2015, 05:12 PM
I think it is time to revisite the gsdx texturing option (which is a mess currently).
The state of the art: the option has 3 states
* disable linear filtering <= very bad quality, intended as a speed hack I guess
* enable linear filtering when the PS2 request it (typically on triangle but not on sprite)
* always enable linear filtering
There are 2 ways to do the filtering
* SW filtering done in the shader. The texture is sampled 4 times and manually interpolated. Better to emulate PS2 behavior but slower.
* HW filtering done in the fixed unit of the GPU. It is quite faster for the GPU as you only need to sample the texture once.
Currently the way to select between HW/SW is kind of automatic (aka a real mess ). I want to remove the automatic detection and propose an user option. So we can choose between speed or accuracy (instead of none of them ). We could add another option, or extend the texturing option to a multi state combo box (yes I love adding new option). Something like that
* disable linear filtering (the fastest but ugliest too)
* PS2 linear mode HW (less accurate but fast)
* PS2 linear mode SW (the most accurate)
* Forced linear mode HW (for people that want extra filtering with limited speed impact)
* Forced linear mode SW (for people that want extra filtering with a better accuracy)
Actually I'm not sure all steps are useful. For example linear HW must be as fast as no filtering (or close enough).
Feel free to share your opinions.
The state of the art: the option has 3 states
* disable linear filtering <= very bad quality, intended as a speed hack I guess
* enable linear filtering when the PS2 request it (typically on triangle but not on sprite)
* always enable linear filtering
There are 2 ways to do the filtering
* SW filtering done in the shader. The texture is sampled 4 times and manually interpolated. Better to emulate PS2 behavior but slower.
* HW filtering done in the fixed unit of the GPU. It is quite faster for the GPU as you only need to sample the texture once.
Currently the way to select between HW/SW is kind of automatic (aka a real mess ). I want to remove the automatic detection and propose an user option. So we can choose between speed or accuracy (instead of none of them ). We could add another option, or extend the texturing option to a multi state combo box (yes I love adding new option). Something like that
* disable linear filtering (the fastest but ugliest too)
* PS2 linear mode HW (less accurate but fast)
* PS2 linear mode SW (the most accurate)
* Forced linear mode HW (for people that want extra filtering with limited speed impact)
* Forced linear mode SW (for people that want extra filtering with a better accuracy)
Actually I'm not sure all steps are useful. For example linear HW must be as fast as no filtering (or close enough).
Feel free to share your opinions.