Lines Matching refs:shader
397 String8 shader(gVS_Header_Attributes); in generateVertexShader() local
399 shader.append(gVS_Header_Attributes_TexCoords); in generateVertexShader()
402 shader.append(gVS_Header_Attributes_AAParameters); in generateVertexShader()
405 shader.append(gVS_Header_Uniforms); in generateVertexShader()
407 shader.append(gVS_Header_Uniforms_TextureTransform); in generateVertexShader()
410 shader.append(gVS_Header_Uniforms_HasGradient[description.gradientType]); in generateVertexShader()
413 shader.append(gVS_Header_Uniforms_HasBitmap); in generateVertexShader()
416 shader.append(gVS_Header_Uniforms_IsPoint); in generateVertexShader()
420 shader.append(gVS_Header_Varyings_HasTexture); in generateVertexShader()
423 shader.append(gVS_Header_Varyings_IsAA); in generateVertexShader()
426 shader.append(gVS_Header_Varyings_HasGradient[description.gradientType]); in generateVertexShader()
430 shader.append(description.isPoint ? in generateVertexShader()
436 shader.append(gVS_Main); { in generateVertexShader()
438 shader.append(gVS_Main_OutTransformedTexCoords); in generateVertexShader()
440 shader.append(gVS_Main_OutTexCoords); in generateVertexShader()
443 shader.append(gVS_Main_AA); in generateVertexShader()
446 shader.append(gVS_Main_OutGradient[description.gradientType]); in generateVertexShader()
449 shader.append(description.isPoint ? in generateVertexShader()
454 shader.append(gVS_Main_PointSize); in generateVertexShader()
457 shader.append(gVS_Main_Position); in generateVertexShader()
460 shader.append(gVS_Footer); in generateVertexShader()
462 PROGRAM_LOGD("*** Generated vertex shader:\n\n%s", shader.string()); in generateVertexShader()
464 return shader; in generateVertexShader()
468 String8 shader; in generateFragmentShader() local
472 shader.append(gFS_Header_Extension_FramebufferFetch); in generateFragmentShader()
475 shader.append(gFS_Header_Extension_ExternalTexture); in generateFragmentShader()
478 shader.append(gFS_Header); in generateFragmentShader()
482 shader.append(gVS_Header_Varyings_HasTexture); in generateFragmentShader()
485 shader.append(gVS_Header_Varyings_IsAA); in generateFragmentShader()
488 shader.append(gVS_Header_Varyings_HasGradient[description.gradientType]); in generateFragmentShader()
492 shader.append(description.isPoint ? in generateFragmentShader()
503 shader.append(gFS_Uniforms_Color); in generateFragmentShader()
507 shader.append(gFS_Uniforms_TextureSampler); in generateFragmentShader()
509 shader.append(gFS_Uniforms_ExternalTextureSampler); in generateFragmentShader()
512 shader.append(gFS_Uniforms_AA); in generateFragmentShader()
515 shader.append(gFS_Uniforms_GradientSampler[description.gradientType]); in generateFragmentShader()
518 shader.append(gFS_Header_Uniforms_PointHasBitmap); in generateFragmentShader()
536 shader.append(gFS_Fast_SingleColor); in generateFragmentShader()
540 shader.append(gFS_Fast_SingleTexture); in generateFragmentShader()
542 shader.append(gFS_Fast_SingleModulateTexture); in generateFragmentShader()
547 shader.append(gFS_Fast_SingleA8Texture); in generateFragmentShader()
549 shader.append(gFS_Fast_SingleModulateA8Texture); in generateFragmentShader()
554 shader.append(gFS_Fast_SingleGradient); in generateFragmentShader()
556 shader.append(gFS_Fast_SingleModulateGradient); in generateFragmentShader()
565 printLongString(shader); in generateFragmentShader()
568 return shader; in generateFragmentShader()
573 shader.append(gFS_Uniforms_BitmapSampler); in generateFragmentShader()
575 shader.append(gFS_Uniforms_ColorOp[description.colorOp]); in generateFragmentShader()
579 generateBlend(shader, "blendShaders", description.shadersMode); in generateFragmentShader()
582 generateBlend(shader, "blendColors", description.colorMode); in generateFragmentShader()
585 generateBlend(shader, "blendFramebuffer", description.framebufferMode); in generateFragmentShader()
588 generateTextureWrap(shader, description.bitmapWrapS, description.bitmapWrapT); in generateFragmentShader()
592 shader.append(gFS_Main); { in generateFragmentShader()
597 shader.append(gFS_Main_FetchA8Texture[modulateOp]); in generateFragmentShader()
600 shader.append(gFS_Main_FetchTexture[modulateOp]); in generateFragmentShader()
604 shader.append(gFS_Main_FetchColor); in generateFragmentShader()
608 shader.append(gFS_Main_AccountForAA); in generateFragmentShader()
611 shader.append(gFS_Main_FetchGradient[description.gradientType]); in generateFragmentShader()
615 shader.append(gFS_Main_PointBitmapTexCoords); in generateFragmentShader()
618 shader.append(gFS_Main_FetchBitmap); in generateFragmentShader()
620 shader.append(gFS_Main_FetchBitmapNpot); in generateFragmentShader()
628 shader.append(gFS_Main_BlendShadersBG); in generateFragmentShader()
630 shader.append(gFS_Main_BlendShadersGB); in generateFragmentShader()
632 shader.append(gFS_Main_BlendShaders_Modulate[op]); in generateFragmentShader()
637 shader.append(gFS_Main_GradientShader_Modulate[op]); in generateFragmentShader()
641 shader.append(gFS_Main_BitmapShader_Modulate[op]); in generateFragmentShader()
646 shader.append(gFS_Main_ModulateColor); in generateFragmentShader()
649 shader.append(gFS_Main_ApplyColorOp[description.colorOp]); in generateFragmentShader()
652 shader.append(gFS_Main_FragColor); in generateFragmentShader()
654 shader.append(!description.swapSrcDst ? in generateFragmentShader()
659 shader.append(gFS_Footer); in generateFragmentShader()
663 printLongString(shader); in generateFragmentShader()
666 return shader; in generateFragmentShader()
669 void ProgramCache::generateBlend(String8& shader, const char* name, SkXfermode::Mode mode) { in generateBlend() argument
670 shader.append("\nvec4 "); in generateBlend()
671 shader.append(name); in generateBlend()
672 shader.append("(vec4 src, vec4 dst) {\n"); in generateBlend()
673 shader.append(" "); in generateBlend()
674 shader.append(gBlendOps[mode]); in generateBlend()
675 shader.append("}\n"); in generateBlend()
678 void ProgramCache::generateTextureWrap(String8& shader, GLenum wrapS, GLenum wrapT) { in generateTextureWrap() argument
679 shader.append("\nvec2 wrap(vec2 texCoords) {\n"); in generateTextureWrap()
681 shader.append(" float xMod2 = mod(texCoords.x, 2.0);\n"); in generateTextureWrap()
682 shader.append(" if (xMod2 > 1.0) xMod2 = 2.0 - xMod2;\n"); in generateTextureWrap()
685 shader.append(" float yMod2 = mod(texCoords.y, 2.0);\n"); in generateTextureWrap()
686 shader.append(" if (yMod2 > 1.0) yMod2 = 2.0 - yMod2;\n"); in generateTextureWrap()
688 shader.append(" return vec2("); in generateTextureWrap()
691 shader.append("texCoords.x"); in generateTextureWrap()
694 shader.append("mod(texCoords.x, 1.0)"); in generateTextureWrap()
697 shader.append("xMod2"); in generateTextureWrap()
700 shader.append(", "); in generateTextureWrap()
703 shader.append("texCoords.y"); in generateTextureWrap()
706 shader.append("mod(texCoords.y, 1.0)"); in generateTextureWrap()
709 shader.append("yMod2"); in generateTextureWrap()
712 shader.append(");\n"); in generateTextureWrap()
713 shader.append("}\n"); in generateTextureWrap()
716 void ProgramCache::printLongString(const String8& shader) const { in printLongString()
719 const char* str = shader.string(); in printLongString()
720 while ((index = shader.find("\n", index)) > -1) { in printLongString()