HLSL: minor: add warning for mat() matrix size truncation
Minor change to add a compilation warning on implicit matrix size truncations.
This commit is contained in:
parent
7199a6d1a9
commit
8c49f9b4e6
3 changed files with 16 additions and 1 deletions
|
|
@ -1,4 +1,6 @@
|
||||||
hlsl.cbuffer-identifier.vert
|
hlsl.cbuffer-identifier.vert
|
||||||
|
WARNING: 0:29: '' : mul() matrix size mismatch
|
||||||
|
|
||||||
Shader version: 500
|
Shader version: 500
|
||||||
0:? Sequence
|
0:? Sequence
|
||||||
0:22 Function Definition: @main(struct-VS_INPUT-vf4-vf31; ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
0:22 Function Definition: @main(struct-VS_INPUT-vf4-vf31; ( temp structure{ temp 4-component vector of float Pos, temp 3-component vector of float Norm})
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,13 @@
|
||||||
hlsl.mul-truncate.frag
|
hlsl.mul-truncate.frag
|
||||||
|
WARNING: 0:24: '' : mul() matrix size mismatch
|
||||||
|
WARNING: 0:25: '' : mul() matrix size mismatch
|
||||||
|
WARNING: 0:28: '' : mul() matrix size mismatch
|
||||||
|
WARNING: 0:29: '' : mul() matrix size mismatch
|
||||||
|
WARNING: 0:32: '' : mul() matrix size mismatch
|
||||||
|
WARNING: 0:33: '' : mul() matrix size mismatch
|
||||||
|
WARNING: 0:34: '' : mul() matrix size mismatch
|
||||||
|
WARNING: 0:35: '' : mul() matrix size mismatch
|
||||||
|
|
||||||
Shader version: 500
|
Shader version: 500
|
||||||
gl_FragCoord origin is upper left
|
gl_FragCoord origin is upper left
|
||||||
0:? Sequence
|
0:? Sequence
|
||||||
|
|
|
||||||
|
|
@ -3238,7 +3238,7 @@ void HlslParseContext::decomposeStructBufferMethods(const TSourceLoc& loc, TInte
|
||||||
|
|
||||||
// Index into the array to find the item being loaded.
|
// Index into the array to find the item being loaded.
|
||||||
// Byte address buffers index in bytes (only multiples of 4 permitted... not so much a byte address
|
// Byte address buffers index in bytes (only multiples of 4 permitted... not so much a byte address
|
||||||
// buffer then, but that's what it calls itself.
|
// buffer then, but that's what it calls itself).
|
||||||
|
|
||||||
int size = 0;
|
int size = 0;
|
||||||
|
|
||||||
|
|
@ -5243,6 +5243,10 @@ void HlslParseContext::addGenMulArgumentConversion(const TSourceLoc& loc, TFunct
|
||||||
// downstream.
|
// downstream.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Warn if we altered one of the arguments
|
||||||
|
if (arg0 != argAggregate->getSequence()[0] || arg1 != argAggregate->getSequence()[1])
|
||||||
|
warn(loc, "mul() matrix size mismatch", "", "");
|
||||||
|
|
||||||
// Put arguments back. (They might be unchanged, in which case this is harmless).
|
// Put arguments back. (They might be unchanged, in which case this is harmless).
|
||||||
argAggregate->getSequence()[0] = arg0;
|
argAggregate->getSequence()[0] = arg0;
|
||||||
argAggregate->getSequence()[1] = arg1;
|
argAggregate->getSequence()[1] = arg1;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue