Parser: Add 64-bit type conversion for specialization constant.
This commit is contained in:
parent
7d01bd6f0b
commit
64bcfdb632
8 changed files with 183 additions and 96 deletions
|
|
@ -225,4 +225,37 @@ void builtinFuncs()
|
|||
// notEqual()
|
||||
bv = notEqual(u64v, u64vec3(u64));
|
||||
bv.xy = notEqual(i64v, i64vec2(i64));
|
||||
}
|
||||
}
|
||||
|
||||
// Type conversion for specialization constant
|
||||
layout(constant_id = 100) const int64_t si64 = -10L;
|
||||
layout(constant_id = 101) const uint64_t su64 = 20UL;
|
||||
layout(constant_id = 102) const int si = -5;
|
||||
layout(constant_id = 103) const uint su = 4;
|
||||
layout(constant_id = 104) const bool sb = true;
|
||||
|
||||
// bool <-> int64/uint64
|
||||
const bool i64_to_b = bool(si64);
|
||||
const bool u64_to_b = bool(su64);
|
||||
const int64_t b_to_i64 = int64_t(sb);
|
||||
const uint64_t b_to_u64 = uint64_t(sb);
|
||||
|
||||
// int <-> int64
|
||||
const int i64_to_i = int(si64);
|
||||
const int64_t i_to_i64 = int64_t(si);
|
||||
|
||||
// uint <-> uint64
|
||||
const uint u64_to_u = uint(su64);
|
||||
const uint64_t u_to_u64 = uint64_t(su);
|
||||
|
||||
// int64 <-> uint64
|
||||
const int64_t u64_to_i64 = int64_t(su64);
|
||||
const uint64_t i64_to_u64 = uint64_t(si64);
|
||||
|
||||
// int <-> uint64
|
||||
const int u64_to_i = int(su64);
|
||||
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);
|
||||
Loading…
Add table
Add a link
Reference in a new issue