(12-17-2014, 05:16 AM)AlexAltea Wrote: @DaHandy: Right, as you said NV4097_SET_VERTEX_TEXTURE_ADDRESS (0x908) and NV4097_SET_VERTEX_TEXTURE_ADDRESS (0x1A08) are different RSX methods. Just FYI, RSX methods work like this:
Sorry for the #define's. Gotta replace them with BitField<from, to> or something.
Up to the date, I'm not quite sure what's the deal with the RSX methods, they seem to be both a way to store information somewhere in the GPU using their offset as pointer *AND* to perform operations.
Regarding the first aspect (storing information), RPCS3 has members on RSXThread for most of the methods which are updated on the big switch case. Only a few of them (e.g. RSXTexture objects), are actually handled in a way that resembles more the PS3 (using a methodRegisters object).
I'd say all the other methods should switch to this methodRegisters approach as well.
Thanks for your answer Alex!
I'm hopefully going to look more into that during the Christmas holidays as I get bored. I guess no one except Sony knows how the RSX really operates? Its just going to be a lot of guessing along with reversing the real PS3 console.
PS: Related to this, I just noticed that jacky400 commited some kind of a vertex texture implementation 2 hours ago, today.
i7-4470K, GTX 660 Ti, 8 GB DDR3, Kingston 256 GB HyperX SSD, Windows 8.1 (64-bit)