diff options
Diffstat (limited to 'libs/rs')
-rw-r--r-- | libs/rs/java/Samples/res/raw/multitexf.glsl | 2 | ||||
-rw-r--r-- | libs/rs/java/tests/src/com/android/rs/test/primitives.rs | 10 | ||||
-rw-r--r-- | libs/rs/rsFont.cpp | 2 | ||||
-rw-r--r-- | libs/rs/rsProgramFragment.cpp | 2 | ||||
-rw-r--r-- | libs/rs/rsProgramVertex.cpp | 5 |
5 files changed, 16 insertions, 5 deletions
diff --git a/libs/rs/java/Samples/res/raw/multitexf.glsl b/libs/rs/java/Samples/res/raw/multitexf.glsl index 91151ad..351ff9b 100644 --- a/libs/rs/java/Samples/res/raw/multitexf.glsl +++ b/libs/rs/java/Samples/res/raw/multitexf.glsl @@ -1,4 +1,4 @@ -varying vec4 varTex0; +varying vec2 varTex0; void main() { vec2 t0 = varTex0.xy; diff --git a/libs/rs/java/tests/src/com/android/rs/test/primitives.rs b/libs/rs/java/tests/src/com/android/rs/test/primitives.rs index 5312bcc..012af9c 100644 --- a/libs/rs/java/tests/src/com/android/rs/test/primitives.rs +++ b/libs/rs/java/tests/src/com/android/rs/test/primitives.rs @@ -2,15 +2,21 @@ #pragma rs export_func(primitives_test) +#pragma rs export_var(floatTest, doubleTest, charTest, shortTest, intTest, longTest, longlongTest) + // Testing primitive types static float floatTest = 1.99f; static double doubleTest = 2.05; static char charTest = -8; static short shortTest = -16; static int intTest = -32; +static long longTest = 17179869184l; // 1 << 34 +static long long longlongTest = 68719476736l; // 1 << 36 + static uchar ucharTest = 8; static ushort ushortTest = 16; static uint uintTest = 32; +static int64_t int64_tTest = -17179869184l; // - 1 << 34 static bool test_primitive_types(uint32_t index) { bool failed = false; @@ -21,9 +27,13 @@ static bool test_primitive_types(uint32_t index) { _RS_ASSERT(charTest == -8); _RS_ASSERT(shortTest == -16); _RS_ASSERT(intTest == -32); + _RS_ASSERT(longTest == 17179869184l); + _RS_ASSERT(longlongTest == 68719476736l); + _RS_ASSERT(ucharTest == 8); _RS_ASSERT(ushortTest == 16); _RS_ASSERT(uintTest == 32); + _RS_ASSERT(int64_tTest == -17179869184l); float time = end(index); diff --git a/libs/rs/rsFont.cpp b/libs/rs/rsFont.cpp index b9de7e1..a951005 100644 --- a/libs/rs/rsFont.cpp +++ b/libs/rs/rsFont.cpp @@ -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"); diff --git a/libs/rs/rsProgramFragment.cpp b/libs/rs/rsProgramFragment.cpp index c94f294..81b4fa4 100644 --- a/libs/rs/rsProgramFragment.cpp +++ b/libs/rs/rsProgramFragment.cpp @@ -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"); diff --git a/libs/rs/rsProgramVertex.cpp b/libs/rs/rsProgramVertex.cpp index d3dbfb2..a785262 100644 --- a/libs/rs/rsProgramVertex.cpp +++ b/libs/rs/rsProgramVertex.cpp @@ -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"); |