On Mon Feb 6 18:31:44 2023 +0000, Zebediah Figura wrote:
What I'm trying to say is that the letter used in disassembly simply isn't that meaningful *or* communicative, and we shouldn't be relying on it for internal naming or design. SM1's "s" variables aren't equal to sm4's "s" *or* "t". They are closer to the latter, though. On the other hand, SM1's "t" variables are completely different from SM4's "t" (they're closest to sm4's "v"). Accordingly I don't think it makes much sense to map HLSL types to regsets based on the disassembly letter, and I definitely don't think it makes sense to name the regset enum elements based on disassembly letter.
Oh, that seems reasonable enough, apologies for the lengthy discussion.
So, to confirm, this would be okay: ``` SM1: Texture -> HLSL_REGSET_RESOURCES -> D3DSPR_SAMPLER ('s') Sampler -> HLSL_REGSET_RESOURCES -> D3DSPR_SAMPLER ('s')
SM4: Texture -> HLSL_REGSET_RESOURCES -> VKD3D_SM4_RT_RESOURCE ('t') Sampler -> HLSL_REGSET_SAMPLERS -> VKD3D_SM4_RT_SAMPLER ('s') UAV -> HLSL_REGSET_UAVS -> VKD3D_SM5_RT_UAV ('u') ``` right?