[Mesa-dev] [PATCH 28/35] meta: Expand texture coordinate from vec3 to vec4
Ian Romanick
idr at freedesktop.org
Wed Jan 29 13:53:19 PST 2014
From: Ian Romanick <ian.d.romanick at intel.com>
This will be necessary to support cubemap array textures because they
use all four components.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
---
src/mesa/drivers/common/meta.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c
index 9b54d3a..9e82132 100644
--- a/src/mesa/drivers/common/meta.c
+++ b/src/mesa/drivers/common/meta.c
@@ -471,7 +471,7 @@ setup_shader_for_sampler(struct gl_context *ctx, struct glsl_sampler *sampler)
vs_source =
"attribute vec2 position;\n"
"attribute vec3 textureCoords;\n"
- "varying vec3 texCoords;\n"
+ "varying vec4 texCoords;\n"
"void main()\n"
"{\n"
" texCoords = textureCoords;\n"
@@ -484,7 +484,7 @@ setup_shader_for_sampler(struct gl_context *ctx, struct glsl_sampler *sampler)
"precision highp float;\n"
"#endif\n"
"uniform %s texSampler;\n"
- "varying vec3 texCoords;\n"
+ "varying vec4 texCoords;\n"
"void main()\n"
"{\n"
" gl_FragColor = %s(texSampler, %s);\n"
@@ -497,8 +497,8 @@ setup_shader_for_sampler(struct gl_context *ctx, struct glsl_sampler *sampler)
vs_source = ralloc_asprintf(mem_ctx,
"#version %s\n"
"in vec2 position;\n"
- "in vec3 textureCoords;\n"
- "out vec3 texCoords;\n"
+ "in vec4 textureCoords;\n"
+ "out vec4 texCoords;\n"
"void main()\n"
"{\n"
" texCoords = textureCoords;\n"
@@ -511,7 +511,7 @@ setup_shader_for_sampler(struct gl_context *ctx, struct glsl_sampler *sampler)
"precision highp float;\n"
"#endif\n"
"uniform %s texSampler;\n"
- "in vec3 texCoords;\n"
+ "in vec4 texCoords;\n"
"out vec4 out_color;\n"
"\n"
"void main()\n"
@@ -3375,12 +3375,12 @@ setup_texture_sampler(GLenum target, struct sampler_table *table)
*/
table->sampler_3d.type = "sampler3D";
table->sampler_3d.func = "texture3D";
- table->sampler_3d.texcoords = "texCoords";
+ table->sampler_3d.texcoords = "texCoords.xyz";
return &table->sampler_3d;
case GL_TEXTURE_CUBE_MAP:
table->sampler_cubemap.type = "samplerCube";
table->sampler_cubemap.func = "textureCube";
- table->sampler_cubemap.texcoords = "texCoords";
+ table->sampler_cubemap.texcoords = "texCoords.xyz";
return &table->sampler_cubemap;
case GL_TEXTURE_1D_ARRAY:
table->sampler_1d_array.type = "sampler1DArray";
@@ -3390,7 +3390,7 @@ setup_texture_sampler(GLenum target, struct sampler_table *table)
case GL_TEXTURE_2D_ARRAY:
table->sampler_2d_array.type = "sampler2DArray";
table->sampler_2d_array.func = "texture2DArray";
- table->sampler_2d_array.texcoords = "texCoords";
+ table->sampler_2d_array.texcoords = "texCoords.xyz";
return &table->sampler_2d_array;
default:
_mesa_problem(NULL, "Unexpected texture target 0x%x in"
--
1.8.1.4
More information about the mesa-dev
mailing list