Gsdx texturing option
#1
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 Wink ). 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 Tongue2 ). 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.
Reply

Sponsored links

#2
I gathering your talking about texture filtering?

So all these years
check=forced on
box= on if ps2 requested

?

would do  these changes also help with  issues it causes in some games?(Forced linear mode SW ) or is that another demon all together? i say go for if it gona fix the mess and make more accurate
Reply
#3
well... yeah. a lot of options. aren't there more then 2 options?!? Wink isn't it that hardware only works with converted textures. but how you handle palette textures? those are full force. 4 texture point samples and 4 palette point samples. and then add filtering. is that what software does? this option is labeled as expensive already anyway. so... Smile
Reply
#4
I suggest having these options:
1- none, for people that cannot run a game with either of the other 2 options.
2- SW filter -accurate PS2 filter-.
3- Different filtering method on the GPU (Hq4x, xBRZ, etc...) since having similar but less accurate HW filter seems redundant -unless it is really free-, especially with today's decent specs. And those higher level filters seems more and more useful as we go into 4K+ resolutions.

Maintaining the split between sprite and polygon filtering is important, since some HUD elements in some games are just unreadable with filtering on -at least with linear filtering-.
Reply
#5
Isn't texture filtering basically always free? I guess it could be taxing in SW.

I'm just waiting for the fancy filters which K.F mentioned.
Reply
#6
The other alternative would be just to keep the current combobox with proper labels:

0 - Off
1 - OnRequest
2 - Forced

And add a radio button or combobox

0 - SW filtering (precise but slow)
1 - HW filtering (fast but inaccurate)
2 - Mixed (current implementation whyever it was done like that)

And the second box will be grayed out on no filtering.

I am not sure what has higher usability. Since gsdx plugin is already messy it might be good to keep comboboxes at low count... But mixing two independent options within one combobox also sounds not that good.

In your case redundancy just is low enough so that the combo box is not flooded but if you include more filtering options than sw and hw (maybe mix which is fast and precise) or another application option -> only on triangles the combo box will be bloated instantly.
Reply
#7
I don't think other texturing methods are viable. Just a basic bilinear has already glitches. Advances filtering that uses an extra pixels will create various issues. The PS2 uses texture atlas with accurate coordinate and no border/clamping.

I didn't talk about palette because palette always use the SW texturing method. Hum, I need to make a table of the current selection. (it depends of the option/GS texture type/GS texture clamp mode.

@willkuer,
Yes it is another possibilities. However, it would be either SW or HW. I'm not sure difference is that big between the 2. Besides I'm not sure it really worth it to keep the "OFF" mode. I dunno if it is really faster, but quality is really bad.
Reply
#8
Well I never use the OFF mode, I either use "Full/forced" or "on reguest/2d only" if certain game text goes unreadable with forced. the performance hit from it should irrelevent even in sw mode imo in this day and age
Reply
#9
(08-11-2015, 09:17 PM)tsunami2311 Wrote: the performance hit from it should irrelevent even in sw mode imo in this day and age

Maybe. I need to check the impact on high upscaling. I will try to register on Nvidia progam to access their debuggers. Performance hit must be close to the 8 bits textures mode. Hum, actually, maybe we could support a full texturing in shader. It would reduce the setup cost at the expense of more GPU work.
Reply
#10
(08-11-2015, 10:47 PM)gregory Wrote: Maybe. I need to check the impact on high upscaling. I will try to register on Nvidia progam to access their debuggers. Performance hit must be close to the 8 bits textures mode. Hum, actually, maybe we could support a full texturing in shader. It would reduce the setup cost at the expense of more GPU work.

By sheer coincidence, i got an email from them about this today https://developer.nvidia.com/gameworksdo...bugger-1-0
[Image: ref-sig-anim.gif]

Reply




Users browsing this thread: 1 Guest(s)