Merge "changing vec4 to vec2 for perf reasons."

This commit is contained in:
Alex Sakhartchouk
2010-10-06 16:09:36 -07:00
committed by Android (Google) Code Review
6 changed files with 10 additions and 9 deletions

View File

@@ -104,7 +104,7 @@ public class ProgramFragment extends Program {
private void buildShaderString() {
mShader = "//rs_shader_internal\n";
mShader += "varying lowp vec4 varColor;\n";
mShader += "varying vec4 varTex0;\n";
mShader += "varying vec2 varTex0;\n";
mShader += "void main() {\n";
if (mVaryingColorEnable) {

View File

@@ -101,7 +101,7 @@ public class ProgramVertex extends Program {
mShader = "//rs_shader_internal\n";
mShader += "varying vec4 varColor;\n";
mShader += "varying vec4 varTex0;\n";
mShader += "varying vec2 varTex0;\n";
mShader += "void main() {\n";
mShader += " gl_Position = UNI_MVP * ATTRIB_position;\n";
@@ -109,7 +109,7 @@ public class ProgramVertex extends Program {
mShader += " varColor = ATTRIB_color;\n";
if (mTextureMatrixEnable) {
mShader += " varTex0 = UNI_TexMatrix * ATTRIB_texture0;\n";
mShader += " varTex0 = (UNI_TexMatrix * vec4(ATTRIB_texture0, 0.0, 1.0)).xy;\n";
} else {
mShader += " varTex0 = ATTRIB_texture0;\n";
}
@@ -126,7 +126,7 @@ public class ProgramVertex extends Program {
b.add(Element.F32_4(mRS), "position");
b.add(Element.F32_4(mRS), "color");
b.add(Element.F32_3(mRS), "normal");
b.add(Element.F32_4(mRS), "texture0");
b.add(Element.F32_2(mRS), "texture0");
addInput(b.create());
return super.create();

View File

@@ -1,4 +1,4 @@
varying vec4 varTex0;
varying vec2 varTex0;
void main() {
vec2 t0 = varTex0.xy;

View File

@@ -497,7 +497,7 @@ bool FontState::cacheBitmap(FT_Bitmap *bitmap, uint32_t *retOriginX, uint32_t *r
void FontState::initRenderState()
{
String8 shaderString("varying vec4 varTex0;\n");
String8 shaderString("varying vec2 varTex0;\n");
shaderString.append("void main() {\n");
shaderString.append(" lowp vec4 col = UNI_Color;\n");
shaderString.append(" col.a = texture2D(UNI_Tex0, varTex0.xy).a;\n");

View File

@@ -190,7 +190,7 @@ void ProgramFragmentState::init(Context *rsc)
{
String8 shaderString(RS_SHADER_INTERNAL);
shaderString.append("varying lowp vec4 varColor;\n");
shaderString.append("varying vec4 varTex0;\n");
shaderString.append("varying vec2 varTex0;\n");
shaderString.append("void main() {\n");
shaderString.append(" lowp vec4 col = UNI_Color;\n");
shaderString.append(" gl_FragColor = col;\n");

View File

@@ -242,6 +242,7 @@ ProgramVertexState::~ProgramVertexState()
void ProgramVertexState::init(Context *rsc)
{
const Element *matrixElem = Element::create(rsc, RS_TYPE_MATRIX_4X4, RS_KIND_USER, false, 1);
const Element *f2Elem = Element::create(rsc, RS_TYPE_FLOAT_32, RS_KIND_USER, false, 2);
const Element *f3Elem = Element::create(rsc, RS_TYPE_FLOAT_32, RS_KIND_USER, false, 3);
const Element *f4Elem = Element::create(rsc, RS_TYPE_FLOAT_32, RS_KIND_USER, false, 4);
@@ -256,7 +257,7 @@ void ProgramVertexState::init(Context *rsc)
rsc->mStateElement.elementBuilderAdd(f4Elem, "position", 1);
rsc->mStateElement.elementBuilderAdd(f4Elem, "color", 1);
rsc->mStateElement.elementBuilderAdd(f3Elem, "normal", 1);
rsc->mStateElement.elementBuilderAdd(f4Elem, "texture0", 1);
rsc->mStateElement.elementBuilderAdd(f2Elem, "texture0", 1);
const Element *attrElem = rsc->mStateElement.elementBuilderCreate(rsc);
Type *inputType = new Type(rsc);
@@ -266,7 +267,7 @@ void ProgramVertexState::init(Context *rsc)
String8 shaderString(RS_SHADER_INTERNAL);
shaderString.append("varying vec4 varColor;\n");
shaderString.append("varying vec4 varTex0;\n");
shaderString.append("varying vec2 varTex0;\n");
shaderString.append("void main() {\n");
shaderString.append(" gl_Position = UNI_MVP * ATTRIB_position;\n");
shaderString.append(" gl_PointSize = 1.0;\n");