yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
acb9076a
main
1RWTexture2D < float3 > rwtx ; 2RWBuffer < float3 > buf ; 3 4float3 SomeValue () { return float3 ( 1 , 2 , 3 ); } 5 6float4 main () : SV_Target0 7{ 8int2 tc2 = { 0 , 0 }; 9int tc = 0 ; 10 11// Test swizzles and partial updates of L-values when writing to buffers and writable textures. 12rwtx [ tc2 ]. zyx = float3 ( 1 , 2 , 3 ); // full swizzle, simple RHS 13rwtx [ tc2 ]. zyx = SomeValue (); // full swizzle, complex RHS 14rwtx [ tc2 ]. zyx = 2 ; // full swizzle, modify op 15 16// Partial updates not yet supported. 17// Partial values, which will use swizzles. 18// buf[tc].yz = 42; // partial swizzle, simple RHS 19// buf[tc].yz = SomeValue().x; // partial swizzle, complex RHS 20// buf[tc].yz += 43; // partial swizzle, modify op 21 22// // Partial values, which will use index. 23// buf[tc].y = 44; // single index, simple RHS 24// buf[tc].y = SomeValue().x; // single index, complex RHS 25// buf[tc].y += 45; // single index, modify op 26 27return 0.0 ; 28}