summaryrefslogtreecommitdiff
path: root/glamor/glamor_core.c
diff options
context:
space:
mode:
authorZhigang Gong <zhigang.gong@gmail.com>2011-08-11 15:56:02 -0400
committerZhigang Gong <zhigang.gong@linux.intel.com>2011-09-26 16:47:01 +0800
commita228effbeb339ae6f0b73c633022b3ec9981148f (patch)
treeba3d3d7eb38aa0153f79bb4289bd4774b58361dc /glamor/glamor_core.c
parent5cbb2a4ca05f696d2af9a2e50bf106b6f2acd1c6 (diff)
glamor: Remove useless glVertexPointer related code.
As glVertexPointer is not supported by GLES2, I totally replaced it by VertexAttribArray. This commit remove those old code. Signed-off-by: Zhigang Gong <zhigang.gong@gmail.com>
Diffstat (limited to 'glamor/glamor_core.c')
-rw-r--r--glamor/glamor_core.c83
1 files changed, 11 insertions, 72 deletions
diff --git a/glamor/glamor_core.c b/glamor/glamor_core.c
index 09851a0dd..9f0457380 100644
--- a/glamor/glamor_core.c
+++ b/glamor/glamor_core.c
@@ -141,30 +141,7 @@ void
glamor_init_finish_access_shaders(ScreenPtr screen)
{
glamor_screen_private *glamor_priv = glamor_get_screen_private(screen);
-#ifndef GLAMOR_GLES2
const char *vs_source =
- "void main()\n"
- "{\n"
- " gl_Position = gl_Vertex;\n"
- " gl_TexCoord[0] = gl_MultiTexCoord0;\n"
- "}\n";
- const char *fs_source =
- "varying vec2 texcoords;\n"
- "uniform sampler2D sampler;\n"
- "void main()\n"
- "{\n"
- " gl_FragColor = texture2D(sampler, gl_TexCoord[0].xy);\n"
- "}\n";
-
- const char *aswizzle_source =
- "varying vec2 texcoords;\n"
- "uniform sampler2D sampler;\n"
- "void main()\n"
- "{\n"
- " gl_FragColor = vec4(texture2D(sampler, gl_TexCoord[0].xy).rgb, 1);\n"
- "}\n";
-#endif
- const char *es_vs_source =
"attribute vec4 v_position;\n"
"attribute vec4 v_texcoord0;\n"
"varying vec2 source_texture;\n"
@@ -174,7 +151,7 @@ glamor_init_finish_access_shaders(ScreenPtr screen)
" source_texture = v_texcoord0.xy;\n"
"}\n";
- const char *es_fs_source =
+ const char *fs_source =
"varying vec2 source_texture;\n"
"uniform sampler2D sampler;\n"
"void main()\n"
@@ -182,62 +159,37 @@ glamor_init_finish_access_shaders(ScreenPtr screen)
" gl_FragColor = texture2D(sampler, source_texture);\n"
"}\n";
- const char *es_aswizzle_source =
+ const char *set_alpha_source =
"varying vec2 source_texture;\n"
- "varying vec2 texcoords;\n"
"uniform sampler2D sampler;\n"
"void main()\n"
"{\n"
" gl_FragColor = vec4(texture2D(sampler, source_texture).rgb, 1);\n"
"}\n";
-
-
-
- GLint fs_prog, vs_prog, avs_prog, aswizzle_prog;
- GLint es_fs_prog, es_vs_prog, es_avs_prog, es_aswizzle_prog;
+ GLint fs_prog, vs_prog, avs_prog, set_alpha_prog;
+ GLint sampler_uniform_location;
glamor_priv->finish_access_prog[0] = glCreateProgram();
glamor_priv->finish_access_prog[1] = glCreateProgram();
- glamor_priv->finish_access_prog[2] = glCreateProgram();
- glamor_priv->finish_access_prog[3] = glCreateProgram();
-#ifndef GLAMOR_GLES2
vs_prog = glamor_compile_glsl_prog(GL_VERTEX_SHADER, vs_source);
fs_prog = glamor_compile_glsl_prog(GL_FRAGMENT_SHADER, fs_source);
glAttachShader(glamor_priv->finish_access_prog[0], vs_prog);
glAttachShader(glamor_priv->finish_access_prog[0], fs_prog);
avs_prog = glamor_compile_glsl_prog(GL_VERTEX_SHADER, vs_source);
- aswizzle_prog = glamor_compile_glsl_prog(GL_FRAGMENT_SHADER, aswizzle_source);
+ set_alpha_prog = glamor_compile_glsl_prog(GL_FRAGMENT_SHADER, set_alpha_source);
glAttachShader(glamor_priv->finish_access_prog[1], avs_prog);
- glAttachShader(glamor_priv->finish_access_prog[1], aswizzle_prog);
-#endif
- es_vs_prog = glamor_compile_glsl_prog(GL_VERTEX_SHADER, es_vs_source);
- es_fs_prog = glamor_compile_glsl_prog(GL_FRAGMENT_SHADER, es_fs_source);
- glAttachShader(glamor_priv->finish_access_prog[2], es_vs_prog);
- glAttachShader(glamor_priv->finish_access_prog[2], es_fs_prog);
-
- es_avs_prog = glamor_compile_glsl_prog(GL_VERTEX_SHADER, es_vs_source);
- es_aswizzle_prog = glamor_compile_glsl_prog(GL_FRAGMENT_SHADER, es_aswizzle_source);
- glAttachShader(glamor_priv->finish_access_prog[3], es_avs_prog);
- glAttachShader(glamor_priv->finish_access_prog[3], es_aswizzle_prog);
-
+ glAttachShader(glamor_priv->finish_access_prog[1], set_alpha_prog);
-
-#ifndef GLAMOR_GLES2
+ glBindAttribLocation(glamor_priv->finish_access_prog[0], GLAMOR_VERTEX_POS, "v_position");
+ glBindAttribLocation(glamor_priv->finish_access_prog[0], GLAMOR_VERTEX_SOURCE, "v_texcoord0");
glamor_link_glsl_prog(glamor_priv->finish_access_prog[0]);
- glamor_link_glsl_prog(glamor_priv->finish_access_prog[1]);
-#endif
- glBindAttribLocation(glamor_priv->finish_access_prog[2], GLAMOR_VERTEX_POS, "v_position");
- glBindAttribLocation(glamor_priv->finish_access_prog[2], GLAMOR_VERTEX_SOURCE, "v_texcoord0");
- glamor_link_glsl_prog(glamor_priv->finish_access_prog[2]);
- glBindAttribLocation(glamor_priv->finish_access_prog[3], GLAMOR_VERTEX_POS, "v_position");
- glBindAttribLocation(glamor_priv->finish_access_prog[3], GLAMOR_VERTEX_SOURCE, "v_texcoord0");
- glamor_link_glsl_prog(glamor_priv->finish_access_prog[3]);
+ glBindAttribLocation(glamor_priv->finish_access_prog[1], GLAMOR_VERTEX_POS, "v_position");
+ glBindAttribLocation(glamor_priv->finish_access_prog[1], GLAMOR_VERTEX_SOURCE, "v_texcoord0");
+ glamor_link_glsl_prog(glamor_priv->finish_access_prog[1]);
- GLint sampler_uniform_location;
-#ifndef GLAMOR_GLES2
sampler_uniform_location =
glGetUniformLocation(glamor_priv->finish_access_prog[0], "sampler");
glUseProgram(glamor_priv->finish_access_prog[0]);
@@ -249,19 +201,6 @@ glamor_init_finish_access_shaders(ScreenPtr screen)
glUseProgram(glamor_priv->finish_access_prog[1]);
glUniform1i(sampler_uniform_location, 0);
glUseProgram(0);
-#endif
- sampler_uniform_location =
- glGetUniformLocation(glamor_priv->finish_access_prog[2], "sampler");
- glUseProgram(glamor_priv->finish_access_prog[2]);
- glUniform1i(sampler_uniform_location, 0);
- glUseProgram(0);
-
- sampler_uniform_location =
- glGetUniformLocation(glamor_priv->finish_access_prog[3], "sampler");
- glUseProgram(glamor_priv->finish_access_prog[3]);
- glUniform1i(sampler_uniform_location, 0);
- glUseProgram(0);
-
}
void