On Tue Nov 1 13:49:05 2022 +0000, Zebediah Figura wrote:
All of the tests pass for me with the native compiler, which implies that the changes in patch 5/7 are not correct as-is (and, somewhat by extension, neither are the changes in 4/7.)
(!)
I see. So I was mistaken. It seems that objects can actually be components of structs in SM < 5 if they are used as local variables, as in the tests.
Probably I got confused, because, for instance, this shader fails in ps_4_0: ```c struct apple { int2 aa; Texture2D bb; float cc; };
struct apple a; // Uniform variable of type that has object components!
float4 main() : sv_target { return float4(0, 1, 2, 3); }
``` and the error message is a little more general than it should be: ``` error X3090: ps_4_0 does not allow textures or samplers to be members of compound types ```
I will check more in detail which storage classes are allowed to have object members and which don't.