forked from KhronosGroup/glslang
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
HLSL: 1) Implement lookahead buffers/stacks for token advance/recede,…
… 2) use it for cast operation. The grammar now accepts type casts, like "(int)x", but that has to be disambiguated from "(a + b)", needed deeper lookahead and backing up than what existed so far.
- Loading branch information
1 parent
080cdc1
commit 1cc1a28
Showing
7 changed files
with
190 additions
and
8 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,86 @@ | ||
hlsl.cast.frag | ||
Shader version: 450 | ||
gl_FragCoord origin is upper left | ||
0:? Sequence | ||
0:5 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) | ||
0:2 Function Parameters: | ||
0:2 'input' (temp 4-component vector of float) | ||
0:? Sequence | ||
0:3 Branch: Return with expression | ||
0:3 add (temp 4-component vector of float) | ||
0:3 add (temp 4-component vector of float) | ||
0:3 Construct vec4 (temp 4-component vector of float) | ||
0:3 'input' (temp 4-component vector of float) | ||
0:3 Convert int to float (temp 4-component vector of float) | ||
0:3 Convert float to int (temp 4-component vector of int) | ||
0:3 'input' (temp 4-component vector of float) | ||
0:3 Constant: | ||
0:3 1.198000 | ||
0:3 1.198000 | ||
0:3 1.198000 | ||
0:3 1.198000 | ||
0:? Linker Objects | ||
|
||
|
||
Linked fragment stage: | ||
|
||
|
||
Shader version: 450 | ||
gl_FragCoord origin is upper left | ||
0:? Sequence | ||
0:5 Function Definition: PixelShaderFunction(vf4; (temp 4-component vector of float) | ||
0:2 Function Parameters: | ||
0:2 'input' (temp 4-component vector of float) | ||
0:? Sequence | ||
0:3 Branch: Return with expression | ||
0:3 add (temp 4-component vector of float) | ||
0:3 add (temp 4-component vector of float) | ||
0:3 Construct vec4 (temp 4-component vector of float) | ||
0:3 'input' (temp 4-component vector of float) | ||
0:3 Convert int to float (temp 4-component vector of float) | ||
0:3 Convert float to int (temp 4-component vector of int) | ||
0:3 'input' (temp 4-component vector of float) | ||
0:3 Constant: | ||
0:3 1.198000 | ||
0:3 1.198000 | ||
0:3 1.198000 | ||
0:3 1.198000 | ||
0:? Linker Objects | ||
|
||
// Module Version 10000 | ||
// Generated by (magic number): 80001 | ||
// Id's are bound by 26 | ||
|
||
Capability Shader | ||
1: ExtInstImport "GLSL.std.450" | ||
MemoryModel Logical GLSL450 | ||
EntryPoint Fragment 4 "PixelShaderFunction" | ||
ExecutionMode 4 OriginUpperLeft | ||
Source HLSL 450 | ||
Name 4 "PixelShaderFunction" | ||
Name 9 "input" | ||
2: TypeVoid | ||
3: TypeFunction 2 | ||
6: TypeFloat 32 | ||
7: TypeVector 6(float) 4 | ||
8: TypePointer Function 7(fvec4) | ||
17: TypeInt 32 1 | ||
18: TypeVector 17(int) 4 | ||
22: 6(float) Constant 1067014160 | ||
23: 7(fvec4) ConstantComposite 22 22 22 22 | ||
4(PixelShaderFunction): 2 Function None 3 | ||
5: Label | ||
9(input): 8(ptr) Variable Function | ||
10: 7(fvec4) Load 9(input) | ||
11: 6(float) CompositeExtract 10 0 | ||
12: 6(float) CompositeExtract 10 1 | ||
13: 6(float) CompositeExtract 10 2 | ||
14: 6(float) CompositeExtract 10 3 | ||
15: 7(fvec4) CompositeConstruct 11 12 13 14 | ||
16: 7(fvec4) Load 9(input) | ||
19: 18(ivec4) ConvertFToS 16 | ||
20: 7(fvec4) ConvertSToF 19 | ||
21: 7(fvec4) FAdd 15 20 | ||
24: 7(fvec4) FAdd 21 23 | ||
ReturnValue 24 | ||
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,4 @@ | ||
float4 PixelShaderFunction(float4 input) : COLOR0 | ||
{ | ||
return (float4)input + (int4)input + (float4)1.198; | ||
} |
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
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
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