title: gles glsl bit wise operations problems
body: <p>I am trying to create a shader that uses bitwise commands for a mobile application. I am using glsl version 320 es. To demonstrate the problem I have created a shadertoy example:
  <a href="https://www.shadertoy.com/view/MsVyRw" rel="nofollow noreferrer">https://www.shadertoy.com/view/MsVyRw</a>
  Which should show a red screen. The screen appears red when opened from my galaxy s8 as well. When running my application with the following fragment shader:</p>
  
  <pre><code>#version 320 es
  precision highp float;
  out vec4 fragColor;
  void main()
  {
      uint x = uint(0xec140e57);
      uint tmp0 = x &gt;&gt; uint(4);
      uint tmp1 = uint(0xec140e57) &gt;&gt; uint(4);
      if(tmp0 == tmp1){
          fragColor = vec4(1.0, 0.0, 0.0,1.0);
      }
      else{
          fragColor = vec4(0.0, 0.0, 1.0,1.0);
      }
  };
  </code></pre>
  
  <p>The screen appears blue. However if I change </p>
  
  <pre><code>uint x = uint(0xec140e57);
  uint tmp0 = x &gt;&gt; uint(4);
  uint tmp1 = uint(0xec140e57) &gt;&gt; uint(4);
  </code></pre>
  
  <p>to </p>
  
  <pre><code>uint tmp0 = uint(0xec140e57) &gt;&gt; uint(4);
  uint tmp1 = uint(0xec140e57) &gt;&gt; uint(4);
  </code></pre>
  
  <p>the screen appears red.</p>
  
  <p>It is definitely not a problem with the gpu ALUs since it works with shadertoy. Is there something that I am missing with the preprocessor flags that would allow this sort of operation?</p>