struct OS { | |
SamplerState ss; | |
float a; | |
Texture2D tex; | |
}; | |
SamplerState gss; | |
SamplerState gss2; | |
Texture2D gtex; | |
float4 osCall(OS s) | |
{ | |
return s.a * s.tex.Sample(s.ss, float2(0.2, 0.3)); | |
} | |
float4 main() : SV_TARGET0 | |
{ | |
OS os; | |
os.ss = gss2; | |
os.ss = gss; | |
os.tex = gtex; | |
os.a = 3.0; | |
// this should give an error | |
//SamplerState localss; | |
//localss = gss2; | |
return osCall(os); | |
} |