Skip to content
Snippets Groups Projects
Commit a21187a7 authored by John Kessenich's avatar John Kessenich
Browse files

Merge branch 'amdrexu-bugfix2'

parents 31527186 4bfb32e1
No related branches found
No related tags found
No related merge requests found
This diff is collapsed.
......@@ -7,12 +7,12 @@ Linked fragment stage:
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 207
// Id's are bound by 213
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 15 68 77 200 202 204
EntryPoint Fragment 4 "main" 15 68 77 206 208 210
ExecutionMode 4 OriginUpperLeft
Source ESSL 310
Name 4 "main"
......@@ -33,10 +33,10 @@ Linked fragment stage:
Name 154 "mask2"
Name 156 "mask3"
Name 160 "mask4"
Name 200 "f"
Name 202 "v"
Name 204 "i"
Name 206 "b"
Name 206 "f"
Name 208 "v"
Name 210 "i"
Name 212 "b"
Decorate 8(count) RelaxedPrecision
Decorate 12(u) RelaxedPrecision
Decorate 15(t) RelaxedPrecision
......@@ -138,11 +138,13 @@ Linked fragment stage:
Decorate 196 RelaxedPrecision
Decorate 197 RelaxedPrecision
Decorate 198 RelaxedPrecision
Decorate 200(f) RelaxedPrecision
Decorate 202(v) RelaxedPrecision
Decorate 202(v) Flat
Decorate 204(i) RelaxedPrecision
Decorate 204(i) Flat
Decorate 202 RelaxedPrecision
Decorate 203 RelaxedPrecision
Decorate 206(f) RelaxedPrecision
Decorate 208(v) RelaxedPrecision
Decorate 208(v) Flat
Decorate 210(i) RelaxedPrecision
Decorate 210(i) Flat
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
......@@ -193,14 +195,16 @@ Linked fragment stage:
155: 10(int) Constant 2576
158: 6(int) Constant 4
161: 10(int) Constant 2737
199: TypePointer Input 74(float)
200(f): 199(ptr) Variable Input
201: TypePointer Input 66(ivec4)
202(v): 201(ptr) Variable Input
203: TypePointer Input 6(int)
204(i): 203(ptr) Variable Input
205: TypePointer Private 22(bool)
206(b): 205(ptr) Variable Private
199: 10(int) Constant 4294967295
200: TypePointer Output 10(int)
205: TypePointer Input 74(float)
206(f): 205(ptr) Variable Input
207: TypePointer Input 66(ivec4)
208(v): 207(ptr) Variable Input
209: TypePointer Input 6(int)
210(i): 209(ptr) Variable Input
211: TypePointer Private 22(bool)
212(b): 211(ptr) Variable Private
4(main): 2 Function None 3
5: Label
8(count): 7(ptr) Variable Function
......@@ -434,5 +438,10 @@ Linked fragment stage:
197: 66(ivec4) Load 68(c)
198: 66(ivec4) IAdd 197 196
Store 68(c) 198
201: 200(ptr) AccessChain 68(c) 103
202: 10(int) Load 201
203: 10(int) IAdd 202 199
204: 200(ptr) AccessChain 68(c) 103
Store 204 203
Return
FunctionEnd
......@@ -258,4 +258,7 @@ const uint64_t i_to_u64 = uint64_t(si);
// uint <-> int64
const uint i64_to_u = uint(si64);
const int64_t u_to_i64 = int64_t(su);
\ No newline at end of file
const int64_t u_to_i64 = int64_t(su);
#define UINT64_MAX 18446744073709551615ul
uint64_t u64Max = UINT64_MAX;
......@@ -95,5 +95,8 @@ void main()
if ((mask1 ^ mask4) == 0xA10u)
count *= 7; // 341413380
c += uvec4(count);
c += uvec4(count);
#define UINT_MAX 4294967295u
c.x += UINT_MAX;
}
......@@ -2,5 +2,5 @@
// For the version, it uses the latest git tag followed by the number of commits.
// For the date, it uses the current date (when then script is run).
#define GLSLANG_REVISION "Overload400-PrecQual.1472"
#define GLSLANG_DATE "05-Sep-2016"
#define GLSLANG_REVISION "Overload400-PrecQual.1474"
#define GLSLANG_DATE "09-Sep-2016"
......@@ -224,7 +224,6 @@ int TPpContext::ReadToken(TokenStream *pTok, TPpToken *ppToken)
ppToken->dval = atof(ppToken->name);
break;
case PpAtomConstInt:
case PpAtomConstUint:
if (len > 0 && tokenText[0] == '0') {
if (len > 1 && (tokenText[1] == 'x' || tokenText[1] == 'X'))
ppToken->ival = strtol(ppToken->name, 0, 16);
......@@ -233,8 +232,16 @@ int TPpContext::ReadToken(TokenStream *pTok, TPpToken *ppToken)
} else
ppToken->ival = atoi(ppToken->name);
break;
case PpAtomConstUint:
if (len > 0 && tokenText[0] == '0') {
if (len > 1 && (tokenText[1] == 'x' || tokenText[1] == 'X'))
ppToken->ival = (int)strtoul(ppToken->name, 0, 16);
else
ppToken->ival = (int)strtoul(ppToken->name, 0, 8);
} else
ppToken->ival = (int)strtoul(ppToken->name, 0, 10);
break;
case PpAtomConstInt64:
case PpAtomConstUint64:
if (len > 0 && tokenText[0] == '0') {
if (len > 1 && (tokenText[1] == 'x' || tokenText[1] == 'X'))
ppToken->i64val = strtoll(ppToken->name, nullptr, 16);
......@@ -243,6 +250,15 @@ int TPpContext::ReadToken(TokenStream *pTok, TPpToken *ppToken)
} else
ppToken->i64val = atoll(ppToken->name);
break;
case PpAtomConstUint64:
if (len > 0 && tokenText[0] == '0') {
if (len > 1 && (tokenText[1] == 'x' || tokenText[1] == 'X'))
ppToken->i64val = (long long)strtoull(ppToken->name, nullptr, 16);
else
ppToken->i64val = (long long)strtoull(ppToken->name, nullptr, 8);
} else
ppToken->i64val = (long long)strtoull(ppToken->name, 0, 10);
break;
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment