1 #include "angle_trace_gl.h"
2 #include "CapturedTest_MultiFrame_ES3_Vulkan.h"
3
4 const char *const glShaderSource_string_4[] = {
5 "precision mediump float;\n"
6 "varying vec2 v_texCoord;\n"
7 "uniform sampler2D s_texture;\n"
8 "void main()\n"
9 "{\n"
10 " gl_FragColor = vec4(0.4, 0.4, 0.4, 1.0);\n"
11 " gl_FragColor = texture2D(s_texture, v_texCoord);\n"
12 "}",
13 };
14 const char *const glShaderSource_string_5[] = {
15 "precision highp float;\n"
16 "void main(void) {\n"
17 " gl_Position = vec4(0.5, 0.5, 0.5, 1.0);\n"
18 "}",
19 };
20
21 // Private Functions
22
SetupReplayContextShared(void)23 void SetupReplayContextShared(void)
24 {
25 glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
26 glGenTextures(1, (GLuint *)gReadBuffer);
27 UpdateTextureID(2, 0);
28 glBindTexture(GL_TEXTURE_2D, gTextureMap[2]);
29 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, 9728);
30 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, 9728);
31 glTexImage2D(GL_TEXTURE_2D, 0, 6407, 2, 2, 0, GL_RGB, GL_UNSIGNED_BYTE, (const GLubyte *)&gBinaryData[624]);
32 CreateProgram(5);
33 CreateProgram(6);
34 CreateProgram(8);
35 CreateShader(GL_VERTEX_SHADER, 11);
36 glShaderSource(gShaderProgramMap[11], 1, glShaderSource_string_0, 0);
37 glCompileShader(gShaderProgramMap[11]);
38 glAttachShader(gShaderProgramMap[8], gShaderProgramMap[11]);
39 CreateShader(GL_FRAGMENT_SHADER, 12);
40 glShaderSource(gShaderProgramMap[12], 1, glShaderSource_string_1, 0);
41 glCompileShader(gShaderProgramMap[12]);
42 glAttachShader(gShaderProgramMap[8], gShaderProgramMap[12]);
43 glBindAttribLocation(gShaderProgramMap[8], 0, "a_position");
44 glBindAttribLocation(gShaderProgramMap[8], 1, "a_texCoord");
45 glLinkProgram(gShaderProgramMap[8]);
46 UpdateUniformLocation(8, "s_texture", 0, 1);
47 glUseProgram(gShaderProgramMap[8]);
48 UpdateCurrentProgram(8);
49 glUniform1iv(gUniformLocations[gCurrentProgram][0], 1, (const GLint *)&gBinaryData[640]);
50 glDeleteShader(gShaderProgramMap[11]);
51 glDeleteShader(gShaderProgramMap[12]);
52 CreateShader(GL_FRAGMENT_SHADER, 2);
53 glAttachShader(gShaderProgramMap[5], gShaderProgramMap[2]);
54 glShaderSource(gShaderProgramMap[2], 1, glShaderSource_string_4, 0);
55 glCompileShader(gShaderProgramMap[2]);
56 CreateShader(GL_VERTEX_SHADER, 4);
57 glAttachShader(gShaderProgramMap[5], gShaderProgramMap[4]);
58 glShaderSource(gShaderProgramMap[4], 1, glShaderSource_string_0, 0);
59 CreateShader(GL_VERTEX_SHADER, 7);
60 glAttachShader(gShaderProgramMap[6], gShaderProgramMap[7]);
61 glShaderSource(gShaderProgramMap[7], 1, glShaderSource_string_5, 0);
62 glCompileShader(gShaderProgramMap[7]);
63 }
64
SetupReplayContextSharedInactive(void)65 void SetupReplayContextSharedInactive(void)
66 {
67 CreateProgram(3);
68 CreateShader(GL_VERTEX_SHADER, 11);
69 glShaderSource(gShaderProgramMap[11], 1, glShaderSource_string_0, 0);
70 glCompileShader(gShaderProgramMap[11]);
71 glAttachShader(gShaderProgramMap[3], gShaderProgramMap[11]);
72 CreateShader(GL_FRAGMENT_SHADER, 12);
73 glShaderSource(gShaderProgramMap[12], 1, glShaderSource_string_4, 0);
74 glCompileShader(gShaderProgramMap[12]);
75 glAttachShader(gShaderProgramMap[3], gShaderProgramMap[12]);
76 glBindAttribLocation(gShaderProgramMap[3], 0, "a_position");
77 glBindAttribLocation(gShaderProgramMap[3], 1, "a_texCoord");
78 glLinkProgram(gShaderProgramMap[3]);
79 UpdateUniformLocation(3, "s_texture", 0, 1);
80 glUseProgram(gShaderProgramMap[3]);
81 UpdateCurrentProgram(3);
82 glUniform1iv(gUniformLocations[gCurrentProgram][0], 1, (const GLint *)&gBinaryData[656]);
83 glDeleteShader(gShaderProgramMap[11]);
84 glDeleteShader(gShaderProgramMap[12]);
85 CreateShader(GL_VERTEX_SHADER, 1);
86 glShaderSource(gShaderProgramMap[1], 1, glShaderSource_string_0, 0);
87 glCompileShader(gShaderProgramMap[1]);
88 CreateShader(GL_VERTEX_SHADER, 9);
89 glShaderSource(gShaderProgramMap[9], 1, glShaderSource_string_0, 0);
90 glCompileShader(gShaderProgramMap[9]);
91 CreateShader(GL_FRAGMENT_SHADER, 10);
92 glShaderSource(gShaderProgramMap[10], 1, glShaderSource_string_1, 0);
93 glCompileShader(gShaderProgramMap[10]);
94 }
95
96 // Public Functions
97
98