• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#version 450 core
2#extension GL_ARB_sparse_texture2 : enable
3layout(location = 0) in highp vec4 a_position;
4layout(location = 4) in highp vec2 a_in0;
5layout(location = 5) in highp float a_in1;
6layout(location = 10) in highp ivec2 offsetValue;
7layout(location = 0) out mediump vec4 v_color0;
8layout(location = 1) out mediump vec4 v_color1;
9layout(location = 2) out mediump vec4 v_color2;
10layout(location = 3) out mediump vec4 v_color3;
11layout(set = 0, binding = 0) uniform highp sampler2D u_sampler;
12layout(set = 0, binding = 1) uniform buf0 { highp vec4 u_scale; };
13layout(set = 0, binding = 2) uniform buf1 { highp vec4 u_bias; };
14out gl_PerVertex {
15	vec4 gl_Position;
16};
17
18void main()
19{
20	gl_Position = a_position;
21	vec4 aux0;
22	vec4 aux1;
23	vec4 aux2;
24	vec4 aux3;
25
26	int ret0 = sparseTextureOffsetARB(u_sampler, a_in0, offsetValue, aux0);
27	int ret1 = sparseTexelFetchOffsetARB(u_sampler, ivec2(a_in0), int(a_in1), offsetValue, aux1);
28	int ret2 = sparseTextureLodOffsetARB(u_sampler, a_in0, a_in1, offsetValue, aux2);
29	int ret3 = sparseTextureGradOffsetARB(u_sampler, a_in0, vec2(a_in1, a_in1), vec2(a_in1, a_in1), offsetValue, aux3);
30
31	v_color0 = aux0 * u_scale + u_bias;
32	v_color1 = aux1 * u_scale + u_bias;
33	v_color2 = aux2 * u_scale + u_bias;
34	v_color3 = aux3 * u_scale + u_bias;
35}
36