-
Notifications
You must be signed in to change notification settings - Fork 863
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #483 from steve-lunarg/precise-fix-2
HLSL: add precise keyword
- Loading branch information
Showing
4 changed files
with
119 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,103 @@ | ||
hlsl.precise.frag | ||
Shader version: 450 | ||
gl_FragCoord origin is upper left | ||
0:? Sequence | ||
0:8 Function Definition: MyFunction(f1;vf3; (global void) | ||
0:6 Function Parameters: | ||
0:6 'myfloat' (noContraction in float) | ||
0:6 'myfloat3' (noContraction out 3-component vector of float) | ||
0:15 Function Definition: main( (global structure{noContraction temp 4-component vector of float color}) | ||
0:9 Function Parameters: | ||
0:? Sequence | ||
0:11 move second child to first child (noContraction temp 4-component vector of float) | ||
0:11 color: direct index for structure (noContraction temp 4-component vector of float) | ||
0:11 'ps_output' (temp structure{noContraction temp 4-component vector of float color}) | ||
0:11 Constant: | ||
0:11 0 (const int) | ||
0:11 Constant: | ||
0:11 1.000000 | ||
0:11 1.000000 | ||
0:11 1.000000 | ||
0:11 1.000000 | ||
0:12 Branch: Return with expression | ||
0:12 'ps_output' (temp structure{noContraction temp 4-component vector of float color}) | ||
0:? Linker Objects | ||
0:? 'precisefloat' (noContraction global float) | ||
|
||
|
||
Linked fragment stage: | ||
|
||
|
||
Shader version: 450 | ||
gl_FragCoord origin is upper left | ||
0:? Sequence | ||
0:8 Function Definition: MyFunction(f1;vf3; (global void) | ||
0:6 Function Parameters: | ||
0:6 'myfloat' (noContraction in float) | ||
0:6 'myfloat3' (noContraction out 3-component vector of float) | ||
0:15 Function Definition: main( (global structure{noContraction temp 4-component vector of float color}) | ||
0:9 Function Parameters: | ||
0:? Sequence | ||
0:11 move second child to first child (noContraction temp 4-component vector of float) | ||
0:11 color: direct index for structure (noContraction temp 4-component vector of float) | ||
0:11 'ps_output' (temp structure{noContraction temp 4-component vector of float color}) | ||
0:11 Constant: | ||
0:11 0 (const int) | ||
0:11 Constant: | ||
0:11 1.000000 | ||
0:11 1.000000 | ||
0:11 1.000000 | ||
0:11 1.000000 | ||
0:12 Branch: Return with expression | ||
0:12 'ps_output' (temp structure{noContraction temp 4-component vector of float color}) | ||
0:? Linker Objects | ||
0:? 'precisefloat' (noContraction global float) | ||
|
||
// Module Version 10000 | ||
// Generated by (magic number): 80001 | ||
// Id's are bound by 29 | ||
|
||
Capability Shader | ||
1: ExtInstImport "GLSL.std.450" | ||
MemoryModel Logical GLSL450 | ||
EntryPoint Fragment 4 "main" | ||
ExecutionMode 4 OriginUpperLeft | ||
Name 4 "main" | ||
Name 13 "MyFunction(f1;vf3;" | ||
Name 11 "myfloat" | ||
Name 12 "myfloat3" | ||
Name 16 "PS_OUTPUT" | ||
MemberName 16(PS_OUTPUT) 0 "color" | ||
Name 18 "ps_output" | ||
Name 28 "precisefloat" | ||
2: TypeVoid | ||
3: TypeFunction 2 | ||
6: TypeFloat 32 | ||
7: TypePointer Function 6(float) | ||
8: TypeVector 6(float) 3 | ||
9: TypePointer Function 8(fvec3) | ||
10: TypeFunction 2 7(ptr) 9(ptr) | ||
15: TypeVector 6(float) 4 | ||
16(PS_OUTPUT): TypeStruct 15(fvec4) | ||
17: TypePointer Function 16(PS_OUTPUT) | ||
19: TypeInt 32 1 | ||
20: 19(int) Constant 0 | ||
21: 6(float) Constant 1065353216 | ||
22: 15(fvec4) ConstantComposite 21 21 21 21 | ||
23: TypePointer Function 15(fvec4) | ||
27: TypePointer Private 6(float) | ||
28(precisefloat): 27(ptr) Variable Private | ||
4(main): 2 Function None 3 | ||
5: Label | ||
18(ps_output): 17(ptr) Variable Function | ||
24: 23(ptr) AccessChain 18(ps_output) 20 | ||
Store 24 22 | ||
25:16(PS_OUTPUT) Load 18(ps_output) | ||
ReturnValue 25 | ||
FunctionEnd | ||
13(MyFunction(f1;vf3;): 2 Function None 10 | ||
11(myfloat): 7(ptr) FunctionParameter | ||
12(myfloat3): 9(ptr) FunctionParameter | ||
14: Label | ||
Return | ||
FunctionEnd |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
|
||
struct PS_OUTPUT { precise float4 color : SV_Target0; }; | ||
|
||
precise float precisefloat; | ||
|
||
void MyFunction(in precise float myfloat, out precise float3 myfloat3) { } | ||
|
||
PS_OUTPUT main() | ||
{ | ||
PS_OUTPUT ps_output; | ||
ps_output.color = 1.0; | ||
return ps_output; | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters