1e5c31af7Sopenharmony_ci 2e5c31af7Sopenharmony_cicase correct_int_literal 3e5c31af7Sopenharmony_ci version 300 es 4e5c31af7Sopenharmony_ci values 5e5c31af7Sopenharmony_ci { 6e5c31af7Sopenharmony_ci uniform int u_ref = -1610612736; 7e5c31af7Sopenharmony_ci output float out0 = 1.0; 8e5c31af7Sopenharmony_ci } 9e5c31af7Sopenharmony_ci both "" 10e5c31af7Sopenharmony_ci #version 300 es 11e5c31af7Sopenharmony_ci precision mediump float; 12e5c31af7Sopenharmony_ci uniform highp int u_ref; 13e5c31af7Sopenharmony_ci ${DECLARATIONS} 14e5c31af7Sopenharmony_ci void main() 15e5c31af7Sopenharmony_ci { 16e5c31af7Sopenharmony_ci highp int h = 0xA0000000; 17e5c31af7Sopenharmony_ci out0 = 0.0; 18e5c31af7Sopenharmony_ci if (h == u_ref) 19e5c31af7Sopenharmony_ci out0 = 1.0; 20e5c31af7Sopenharmony_ci ${OUTPUT} 21e5c31af7Sopenharmony_ci } 22e5c31af7Sopenharmony_ci "" 23e5c31af7Sopenharmony_ciend 24e5c31af7Sopenharmony_ci 25e5c31af7Sopenharmony_cicase int_overflow_1 26e5c31af7Sopenharmony_ci version 300 es 27e5c31af7Sopenharmony_ci expect compile_fail 28e5c31af7Sopenharmony_ci both "" 29e5c31af7Sopenharmony_ci #version 300 es 30e5c31af7Sopenharmony_ci precision mediump float; 31e5c31af7Sopenharmony_ci ${DECLARATIONS} 32e5c31af7Sopenharmony_ci void main() 33e5c31af7Sopenharmony_ci { 34e5c31af7Sopenharmony_ci highp int i = 5000000000; 35e5c31af7Sopenharmony_ci out0 = 1.0; 36e5c31af7Sopenharmony_ci ${OUTPUT} 37e5c31af7Sopenharmony_ci } 38e5c31af7Sopenharmony_ci "" 39e5c31af7Sopenharmony_ciend 40e5c31af7Sopenharmony_ci 41e5c31af7Sopenharmony_cicase int_overflow_2 42e5c31af7Sopenharmony_ci version 300 es 43e5c31af7Sopenharmony_ci expect compile_fail 44e5c31af7Sopenharmony_ci both "" 45e5c31af7Sopenharmony_ci #version 300 es 46e5c31af7Sopenharmony_ci precision mediump float; 47e5c31af7Sopenharmony_ci ${DECLARATIONS} 48e5c31af7Sopenharmony_ci void main() 49e5c31af7Sopenharmony_ci { 50e5c31af7Sopenharmony_ci highp int j = 0xFFFFFFFFF; 51e5c31af7Sopenharmony_ci out0 = 1.0; 52e5c31af7Sopenharmony_ci ${OUTPUT} 53e5c31af7Sopenharmony_ci } 54e5c31af7Sopenharmony_ci "" 55e5c31af7Sopenharmony_ciend 56e5c31af7Sopenharmony_ci 57e5c31af7Sopenharmony_cicase int_wrap_1 58e5c31af7Sopenharmony_ci version 300 es 59e5c31af7Sopenharmony_ci values { output int out0 = -2147483648; } 60e5c31af7Sopenharmony_ci vertex "" 61e5c31af7Sopenharmony_ci #version 300 es 62e5c31af7Sopenharmony_ci ${VERTEX_DECLARATIONS} 63e5c31af7Sopenharmony_ci void main() 64e5c31af7Sopenharmony_ci { 65e5c31af7Sopenharmony_ci ${VERTEX_OUTPUT} 66e5c31af7Sopenharmony_ci } 67e5c31af7Sopenharmony_ci "" 68e5c31af7Sopenharmony_ci fragment "" 69e5c31af7Sopenharmony_ci #version 300 es 70e5c31af7Sopenharmony_ci precision mediump float; 71e5c31af7Sopenharmony_ci ${FRAGMENT_DECLARATIONS} 72e5c31af7Sopenharmony_ci void main() 73e5c31af7Sopenharmony_ci { 74e5c31af7Sopenharmony_ci out0 = 0x80000000; 75e5c31af7Sopenharmony_ci ${FRAGMENT_OUTPUT} 76e5c31af7Sopenharmony_ci } 77e5c31af7Sopenharmony_ci "" 78e5c31af7Sopenharmony_ciend 79e5c31af7Sopenharmony_ci 80e5c31af7Sopenharmony_cicase int_wrap_2 81e5c31af7Sopenharmony_ci version 300 es 82e5c31af7Sopenharmony_ci values { output int out0 = -2147483648; } 83e5c31af7Sopenharmony_ci vertex "" 84e5c31af7Sopenharmony_ci #version 300 es 85e5c31af7Sopenharmony_ci ${VERTEX_DECLARATIONS} 86e5c31af7Sopenharmony_ci void main() 87e5c31af7Sopenharmony_ci { 88e5c31af7Sopenharmony_ci ${VERTEX_OUTPUT} 89e5c31af7Sopenharmony_ci } 90e5c31af7Sopenharmony_ci "" 91e5c31af7Sopenharmony_ci fragment "" 92e5c31af7Sopenharmony_ci #version 300 es 93e5c31af7Sopenharmony_ci precision mediump float; 94e5c31af7Sopenharmony_ci ${FRAGMENT_DECLARATIONS} 95e5c31af7Sopenharmony_ci void main() 96e5c31af7Sopenharmony_ci { 97e5c31af7Sopenharmony_ci out0 = 2147483648; 98e5c31af7Sopenharmony_ci ${FRAGMENT_OUTPUT} 99e5c31af7Sopenharmony_ci } 100e5c31af7Sopenharmony_ci "" 101e5c31af7Sopenharmony_ciend 102