HLSL: allow destination swizzles when writing RWTexture/RWBuffer objects.

Reads and write syntax to UAV objects is turned into EOpImageLoad/Store
operations.  This translation did not support destination swizzles,
for example, "mybuffer[tc].zyx = 3;", so such statements would fail to
compile.  Now they work.

Parial updates are explicitly prohibited.

New test: hlsl.rw.swizzle.frag
This commit is contained in:
steve-lunarg
2016-12-28 10:03:58 -07:00
parent 807a0d9e2f
commit cd6829ba81
4 changed files with 381 additions and 4 deletions

View File

@@ -171,6 +171,7 @@ INSTANTIATE_TEST_CASE_P(
{"hlsl.rw.bracket.frag", "main"},
{"hlsl.rw.register.frag", "main"},
{"hlsl.rw.scalar.bracket.frag", "main"},
{"hlsl.rw.swizzle.frag", "main"},
{"hlsl.rw.vec2.bracket.frag", "main"},
{"hlsl.sample.array.dx10.frag", "main"},
{"hlsl.sample.basic.dx10.frag", "main"},