• Home
  • Raw
  • Download

Lines Matching full:description

404 Program* ProgramCache::get(const ProgramDescription& description) {  in get()  argument
405 programid key = description.key(); in get()
415 description.log("Could not find program"); in get()
416 program = generateProgram(description, key); in get()
428 Program* ProgramCache::generateProgram(const ProgramDescription& description, programid key) { in generateProgram() argument
429 String8 vertexShader = generateVertexShader(description); in generateProgram()
430 String8 fragmentShader = generateFragmentShader(description); in generateProgram()
432 return new Program(description, vertexShader.string(), fragmentShader.string()); in generateProgram()
435 static inline size_t gradientIndex(const ProgramDescription& description) { in gradientIndex() argument
436 return description.gradientType * 2 + description.isSimpleGradient; in gradientIndex()
439 String8 ProgramCache::generateVertexShader(const ProgramDescription& description) { in generateVertexShader() argument
442 if (description.hasTexture || description.hasExternalTexture) { in generateVertexShader()
445 if (description.hasVertexAlpha) { in generateVertexShader()
448 if (description.hasColors) { in generateVertexShader()
453 if (description.hasTextureTransform) { in generateVertexShader()
456 if (description.hasGradient) { in generateVertexShader()
459 if (description.hasBitmap) { in generateVertexShader()
462 if (description.hasRoundRectClip) { in generateVertexShader()
466 if (description.hasTexture || description.hasExternalTexture) { in generateVertexShader()
469 if (description.hasVertexAlpha) { in generateVertexShader()
472 if (description.hasColors) { in generateVertexShader()
475 if (description.hasGradient) { in generateVertexShader()
476 shader.append(gVS_Header_Varyings_HasGradient[gradientIndex(description)]); in generateVertexShader()
478 if (description.hasBitmap) { in generateVertexShader()
481 if (description.hasRoundRectClip) { in generateVertexShader()
487 if (description.hasTextureTransform) { in generateVertexShader()
489 } else if (description.hasTexture || description.hasExternalTexture) { in generateVertexShader()
492 if (description.hasVertexAlpha) { in generateVertexShader()
495 if (description.hasColors) { in generateVertexShader()
498 if (description.hasBitmap) { in generateVertexShader()
503 if (description.hasGradient) { in generateVertexShader()
504 shader.append(gVS_Main_OutGradient[gradientIndex(description)]); in generateVertexShader()
506 if (description.hasRoundRectClip) { in generateVertexShader()
518 static bool shaderOp(const ProgramDescription& description, String8& shader, in shaderOp() argument
520 int op = description.hasAlpha8Texture ? MODULATE_OP_MODULATE_A8 : modulateOp; in shaderOp()
522 return description.hasAlpha8Texture; in shaderOp()
525 String8 ProgramCache::generateFragmentShader(const ProgramDescription& description) { in generateFragmentShader() argument
528 const bool blendFramebuffer = description.framebufferMode >= SkXfermode::kPlus_Mode; in generateFragmentShader()
532 if (description.hasExternalTexture) { in generateFragmentShader()
539 if (description.hasTexture || description.hasExternalTexture) { in generateFragmentShader()
542 if (description.hasVertexAlpha) { in generateFragmentShader()
545 if (description.hasColors) { in generateFragmentShader()
548 if (description.hasGradient) { in generateFragmentShader()
549 shader.append(gVS_Header_Varyings_HasGradient[gradientIndex(description)]); in generateFragmentShader()
551 if (description.hasBitmap) { in generateFragmentShader()
554 if (description.hasRoundRectClip) { in generateFragmentShader()
560 const bool singleColor = !description.hasTexture && !description.hasExternalTexture && in generateFragmentShader()
561 !description.hasGradient && !description.hasBitmap; in generateFragmentShader()
563 if (description.modulate || singleColor) { in generateFragmentShader()
567 if (description.hasTexture || description.useShadowAlphaInterp) { in generateFragmentShader()
569 } else if (description.hasExternalTexture) { in generateFragmentShader()
572 if (description.hasGradient) { in generateFragmentShader()
573 shader.appendFormat(gFS_Uniforms_GradientSampler[description.isSimpleGradient], in generateFragmentShader()
576 if (description.hasRoundRectClip) { in generateFragmentShader()
581 if (!description.hasVertexAlpha in generateFragmentShader()
583 && !description.hasColors in generateFragmentShader()
584 && description.colorOp == ProgramDescription::ColorFilterMode::None in generateFragmentShader()
585 && !description.hasDebugHighlight in generateFragmentShader()
586 && !description.hasRoundRectClip) { in generateFragmentShader()
589 const bool noShader = !description.hasGradient && !description.hasBitmap; in generateFragmentShader()
590 const bool singleTexture = (description.hasTexture || description.hasExternalTexture) && in generateFragmentShader()
591 !description.hasAlpha8Texture && noShader; in generateFragmentShader()
592 const bool singleA8Texture = description.hasTexture && in generateFragmentShader()
593 description.hasAlpha8Texture && noShader; in generateFragmentShader()
594 const bool singleGradient = !description.hasTexture && !description.hasExternalTexture && in generateFragmentShader()
595 description.hasGradient && !description.hasBitmap && in generateFragmentShader()
596 description.gradientType == ProgramDescription::kGradientLinear; in generateFragmentShader()
602 if (!description.modulate) { in generateFragmentShader()
609 if (!description.modulate) { in generateFragmentShader()
616 if (!description.modulate) { in generateFragmentShader()
617 shader.appendFormat(gFS_Fast_SingleGradient[description.isSimpleGradient], in generateFragmentShader()
620 shader.appendFormat(gFS_Fast_SingleModulateGradient[description.isSimpleGradient], in generateFragmentShader()
637 if (description.hasBitmap) { in generateFragmentShader()
640 shader.append(gFS_Uniforms_ColorOp[static_cast<int>(description.colorOp)]); in generateFragmentShader()
643 if (description.hasGradient && description.hasBitmap) { in generateFragmentShader()
644 generateBlend(shader, "blendShaders", description.shadersMode); in generateFragmentShader()
646 if (description.colorOp == ProgramDescription::ColorFilterMode::Blend) { in generateFragmentShader()
647 generateBlend(shader, "blendColors", description.colorMode); in generateFragmentShader()
650 generateBlend(shader, "blendFramebuffer", description.framebufferMode); in generateFragmentShader()
652 if (description.isBitmapNpot) { in generateFragmentShader()
653 generateTextureWrap(shader, description.bitmapWrapS, description.bitmapWrapT); in generateFragmentShader()
659 if (description.hasTexture || description.hasExternalTexture) { in generateFragmentShader()
660 if (description.hasAlpha8Texture) { in generateFragmentShader()
661 if (!description.hasGradient && !description.hasBitmap) { in generateFragmentShader()
668 if (!description.hasGradient && !description.hasBitmap) { in generateFragmentShader()
672 if (description.hasGradient) { in generateFragmentShader()
673 shader.append(gFS_Main_FetchGradient[gradientIndex(description)]); in generateFragmentShader()
676 if (description.hasBitmap) { in generateFragmentShader()
677 if (!description.isBitmapNpot) { in generateFragmentShader()
685 if (description.hasGradient && description.hasBitmap) { in generateFragmentShader()
686 if (description.isBitmapFirst) { in generateFragmentShader()
691 applyModulate = shaderOp(description, shader, modulateOp, in generateFragmentShader()
694 if (description.hasGradient) { in generateFragmentShader()
695 applyModulate = shaderOp(description, shader, modulateOp, in generateFragmentShader()
697 } else if (description.hasBitmap) { in generateFragmentShader()
698 applyModulate = shaderOp(description, shader, modulateOp, in generateFragmentShader()
703 if (description.modulate && applyModulate) { in generateFragmentShader()
708 shader.append(gFS_Main_ApplyColorOp[static_cast<int>(description.colorOp)]); in generateFragmentShader()
710 if (description.hasVertexAlpha) { in generateFragmentShader()
711 if (description.useShadowAlphaInterp) { in generateFragmentShader()
722 shader.append(!description.swapSrcDst ? in generateFragmentShader()
725 if (description.hasColors) { in generateFragmentShader()
728 if (description.hasRoundRectClip) { in generateFragmentShader()
731 if (description.hasDebugHighlight) { in generateFragmentShader()