HLSL: add optional position.Y inversion

Adds command line options:

   --invert-y
   --iy

(synonyms) which invert position.Y on vertex shader output.  Handles these cases:

* Direct single variable return
* Member of direct returned struct
* Single variable output parameter
* Member of struct output parameter

API:

    // Enables position.Y output negation in vertex shader
    void TShader::setInvertY(bool invert);

Fixes #1173
This commit is contained in:
LoopDawg 2017-12-06 16:52:03 -07:00
parent 471bfed062
commit b22c069f7a
13 changed files with 549 additions and 1 deletions

18
Test/hlsl.y-negate-3.vert Normal file
View file

@ -0,0 +1,18 @@
// Test Y negation from entry point out parameter
float4 position;
struct VS_OUT {
float4 pos : SV_Position;
int somethingelse;
};
VS_OUT main()
{
VS_OUT vsout;
vsout.pos = position;
vsout.somethingelse = 42;
return vsout;
}