| // Copyright 2013 The Flutter Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifdef IMPELLER_TARGET_OPENGLES |
| |
| void main() { |
| // Instancing is not supported on legacy targets and test will be disabled. |
| } |
| |
| #else // IMPELLER_TARGET_OPENGLES |
| |
| uniform FrameInfo { |
| mat4 mvp; |
| } |
| frame_info; |
| |
| readonly buffer InstanceInfo { |
| vec4 colors[]; |
| } |
| instance_info; |
| |
| in vec2 vtx; |
| |
| out vec4 v_color; |
| |
| void main() { |
| gl_Position = |
| frame_info.mvp * vec4(vtx.x + 105.0 * gl_InstanceIndex, |
| vtx.y + 105.0 * gl_InstanceIndex, 0.0, 1.0); |
| v_color = instance_info.colors[gl_InstanceIndex]; |
| } |
| |
| #endif // IMPELLER_TARGET_OPENGLES |