HLSL: phase 2b: add l-value operator[] for RWTexture/RWBuffer

This commit adds l-value support for RW texture and buffer objects.
Supported are:

- pre and post inc/decrement
- function out parameters
- op-assignments, such as *=, +-, etc.
- result values from op-assignments.  e.g, val=(MyRwTex[loc] *= 2);

Not supported are:
- Function inout parameters
- multiple post-inc/decrement operators.  E.g, MyRWTex[loc]++++;
This commit is contained in:
steve-lunarg 2016-10-07 19:35:40 -06:00
parent 6b43d274e7
commit 90707966ea
6 changed files with 2766 additions and 586 deletions

View file

@ -2045,6 +2045,10 @@ bool TIntermBinary::promote()
}
break;
case EOpVectorTimesScalarAssign:
if (left->isVector() && right->isScalar())
return true;
default:
return false;
}