mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-16 00:17:03 +00:00
MSL writer: make signed int overflow defined behaviour
Bug: tint:124 Change-Id: Icf545b633d6390ceb7f639e80111390005e311a1 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/60100 Kokoro: Kokoro <noreply+kokoro@google.com> Commit-Queue: Antonio Maiorano <amaiorano@google.com> Reviewed-by: David Neto <dneto@google.com>
This commit is contained in:
committed by
Tint LUCI CQ
parent
1f0200a3ff
commit
e5dbe24e94
@@ -1,6 +1,11 @@
|
||||
#include <metal_stdlib>
|
||||
|
||||
using namespace metal;
|
||||
|
||||
int tint_unary_minus(const int v) {
|
||||
return select(-v, v, v == -2147483648);
|
||||
}
|
||||
|
||||
struct tint_padded_array_element {
|
||||
/* 0x0000 */ int el;
|
||||
/* 0x0004 */ int8_t tint_pad[12];
|
||||
@@ -29,11 +34,11 @@ void main_1(constant buf0& x_6, thread float4* const tint_symbol_4) {
|
||||
break;
|
||||
}
|
||||
int const x_33 = a;
|
||||
a = ((x_33 / 2) - 1);
|
||||
a = as_type<int>((as_type<uint>((x_33 / 2)) - as_type<uint>(1)));
|
||||
}
|
||||
int const x_36 = a;
|
||||
int const x_38 = x_6.x_GLF_uniform_int_values.arr[0].el;
|
||||
if ((x_36 == -(x_38))) {
|
||||
if ((x_36 == tint_unary_minus(x_38))) {
|
||||
int const x_45 = x_6.x_GLF_uniform_int_values.arr[0].el;
|
||||
int const x_48 = x_6.x_GLF_uniform_int_values.arr[1].el;
|
||||
int const x_51 = x_6.x_GLF_uniform_int_values.arr[1].el;
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
#include <metal_stdlib>
|
||||
|
||||
using namespace metal;
|
||||
|
||||
int tint_unary_minus(const int v) {
|
||||
return select(-v, v, v == -2147483648);
|
||||
}
|
||||
|
||||
struct tint_padded_array_element {
|
||||
/* 0x0000 */ int el;
|
||||
/* 0x0004 */ int8_t tint_pad[12];
|
||||
@@ -29,11 +34,11 @@ void main_1(constant buf0& x_6, thread float4* const tint_symbol_4) {
|
||||
break;
|
||||
}
|
||||
int const x_33 = a;
|
||||
a = ((x_33 / 2) - 1);
|
||||
a = as_type<int>((as_type<uint>((x_33 / 2)) - as_type<uint>(1)));
|
||||
}
|
||||
int const x_36 = a;
|
||||
int const x_38 = x_6.x_GLF_uniform_int_values.arr[0].el;
|
||||
if ((x_36 == -(x_38))) {
|
||||
if ((x_36 == tint_unary_minus(x_38))) {
|
||||
int const x_45 = x_6.x_GLF_uniform_int_values.arr[0].el;
|
||||
int const x_48 = x_6.x_GLF_uniform_int_values.arr[1].el;
|
||||
int const x_51 = x_6.x_GLF_uniform_int_values.arr[1].el;
|
||||
|
||||
Reference in New Issue
Block a user