• Home
  • Raw
  • Download

Lines Matching refs:description

425 Program* ProgramCache::get(const ProgramDescription& description) {  in get()  argument
426 programid key = description.key(); in get()
436 description.log("Could not find program"); in get()
437 program = generateProgram(description, key); in get()
449 Program* ProgramCache::generateProgram(const ProgramDescription& description, programid key) { in generateProgram() argument
450 String8 vertexShader = generateVertexShader(description); in generateProgram()
451 String8 fragmentShader = generateFragmentShader(description); in generateProgram()
453 return new Program(description, vertexShader.string(), fragmentShader.string()); in generateProgram()
456 static inline size_t gradientIndex(const ProgramDescription& description) { in gradientIndex() argument
457 return description.gradientType * 2 + description.isSimpleGradient; in gradientIndex()
460 String8 ProgramCache::generateVertexShader(const ProgramDescription& description) { in generateVertexShader() argument
463 if (description.hasTexture || description.hasExternalTexture) { in generateVertexShader()
466 if (description.hasVertexAlpha) { in generateVertexShader()
469 if (description.hasColors) { in generateVertexShader()
474 if (description.hasTextureTransform) { in generateVertexShader()
477 if (description.hasGradient) { in generateVertexShader()
480 if (description.hasBitmap) { in generateVertexShader()
483 if (description.hasRoundRectClip) { in generateVertexShader()
487 if (description.hasTexture || description.hasExternalTexture) { in generateVertexShader()
490 if (description.hasVertexAlpha) { in generateVertexShader()
493 if (description.hasColors) { in generateVertexShader()
496 if (description.hasGradient) { in generateVertexShader()
497 shader.append(gVS_Header_Varyings_HasGradient[gradientIndex(description)]); in generateVertexShader()
499 if (description.hasBitmap) { in generateVertexShader()
502 if (description.hasRoundRectClip) { in generateVertexShader()
508 if (description.hasTextureTransform) { in generateVertexShader()
510 } else if (description.hasTexture || description.hasExternalTexture) { in generateVertexShader()
513 if (description.hasVertexAlpha) { in generateVertexShader()
516 if (description.hasColors) { in generateVertexShader()
519 if (description.hasBitmap) { in generateVertexShader()
524 if (description.hasGradient) { in generateVertexShader()
525 shader.append(gVS_Main_OutGradient[gradientIndex(description)]); in generateVertexShader()
527 if (description.hasRoundRectClip) { in generateVertexShader()
539 static bool shaderOp(const ProgramDescription& description, String8& shader, in shaderOp() argument
541 int op = description.hasAlpha8Texture ? MODULATE_OP_MODULATE_A8 : modulateOp; in shaderOp()
542 op = op * 2 + description.hasGammaCorrection; in shaderOp()
544 return description.hasAlpha8Texture; in shaderOp()
547 String8 ProgramCache::generateFragmentShader(const ProgramDescription& description) { in generateFragmentShader() argument
550 const bool blendFramebuffer = description.framebufferMode >= SkXfermode::kPlus_Mode; in generateFragmentShader()
554 if (description.hasExternalTexture) { in generateFragmentShader()
561 if (description.hasTexture || description.hasExternalTexture) { in generateFragmentShader()
564 if (description.hasVertexAlpha) { in generateFragmentShader()
567 if (description.hasColors) { in generateFragmentShader()
570 if (description.hasGradient) { in generateFragmentShader()
571 shader.append(gVS_Header_Varyings_HasGradient[gradientIndex(description)]); in generateFragmentShader()
573 if (description.hasBitmap) { in generateFragmentShader()
576 if (description.hasRoundRectClip) { in generateFragmentShader()
582 const bool singleColor = !description.hasTexture && !description.hasExternalTexture && in generateFragmentShader()
583 !description.hasGradient && !description.hasBitmap; in generateFragmentShader()
585 if (description.modulate || singleColor) { in generateFragmentShader()
589 if (description.hasTexture) { in generateFragmentShader()
591 } else if (description.hasExternalTexture) { in generateFragmentShader()
594 if (description.hasGradient) { in generateFragmentShader()
595 shader.appendFormat(gFS_Uniforms_GradientSampler[description.isSimpleGradient], in generateFragmentShader()
598 if (description.hasGammaCorrection) { in generateFragmentShader()
601 if (description.hasRoundRectClip) { in generateFragmentShader()
606 if (!description.hasVertexAlpha in generateFragmentShader()
608 && !description.hasColors in generateFragmentShader()
609 && description.colorOp == ProgramDescription::kColorNone in generateFragmentShader()
610 && !description.hasDebugHighlight in generateFragmentShader()
611 && !description.hasRoundRectClip) { in generateFragmentShader()
614 const bool noShader = !description.hasGradient && !description.hasBitmap; in generateFragmentShader()
615 const bool singleTexture = (description.hasTexture || description.hasExternalTexture) && in generateFragmentShader()
616 !description.hasAlpha8Texture && noShader; in generateFragmentShader()
617 const bool singleA8Texture = description.hasTexture && in generateFragmentShader()
618 description.hasAlpha8Texture && noShader; in generateFragmentShader()
619 const bool singleGradient = !description.hasTexture && !description.hasExternalTexture && in generateFragmentShader()
620 description.hasGradient && !description.hasBitmap && in generateFragmentShader()
621 description.gradientType == ProgramDescription::kGradientLinear; in generateFragmentShader()
627 if (!description.modulate) { in generateFragmentShader()
634 if (!description.modulate) { in generateFragmentShader()
635 if (description.hasGammaCorrection) { in generateFragmentShader()
641 if (description.hasGammaCorrection) { in generateFragmentShader()
649 if (!description.modulate) { in generateFragmentShader()
650 shader.appendFormat(gFS_Fast_SingleGradient[description.isSimpleGradient], in generateFragmentShader()
653 shader.appendFormat(gFS_Fast_SingleModulateGradient[description.isSimpleGradient], in generateFragmentShader()
670 if (description.hasBitmap) { in generateFragmentShader()
673 shader.append(gFS_Uniforms_ColorOp[description.colorOp]); in generateFragmentShader()
676 if (description.hasGradient && description.hasBitmap) { in generateFragmentShader()
677 generateBlend(shader, "blendShaders", description.shadersMode); in generateFragmentShader()
679 if (description.colorOp == ProgramDescription::kColorBlend) { in generateFragmentShader()
680 generateBlend(shader, "blendColors", description.colorMode); in generateFragmentShader()
683 generateBlend(shader, "blendFramebuffer", description.framebufferMode); in generateFragmentShader()
685 if (description.isBitmapNpot) { in generateFragmentShader()
686 generateTextureWrap(shader, description.bitmapWrapS, description.bitmapWrapT); in generateFragmentShader()
692 if (description.hasTexture || description.hasExternalTexture) { in generateFragmentShader()
693 if (description.hasAlpha8Texture) { in generateFragmentShader()
694 if (!description.hasGradient && !description.hasBitmap) { in generateFragmentShader()
696 description.hasGammaCorrection]); in generateFragmentShader()
702 if (!description.hasGradient && !description.hasBitmap) { in generateFragmentShader()
706 if (description.hasGradient) { in generateFragmentShader()
707 shader.append(gFS_Main_FetchGradient[gradientIndex(description)]); in generateFragmentShader()
710 if (description.hasBitmap) { in generateFragmentShader()
711 if (!description.isBitmapNpot) { in generateFragmentShader()
719 if (description.hasGradient && description.hasBitmap) { in generateFragmentShader()
720 if (description.isBitmapFirst) { in generateFragmentShader()
725 applyModulate = shaderOp(description, shader, modulateOp, in generateFragmentShader()
728 if (description.hasGradient) { in generateFragmentShader()
729 applyModulate = shaderOp(description, shader, modulateOp, in generateFragmentShader()
731 } else if (description.hasBitmap) { in generateFragmentShader()
732 applyModulate = shaderOp(description, shader, modulateOp, in generateFragmentShader()
737 if (description.modulate && applyModulate) { in generateFragmentShader()
742 shader.append(gFS_Main_ApplyColorOp[description.colorOp]); in generateFragmentShader()
744 if (description.hasVertexAlpha) { in generateFragmentShader()
745 if (description.useShadowAlphaInterp) { in generateFragmentShader()
756 shader.append(!description.swapSrcDst ? in generateFragmentShader()
759 if (description.hasColors) { in generateFragmentShader()
762 if (description.hasRoundRectClip) { in generateFragmentShader()
765 if (description.hasDebugHighlight) { in generateFragmentShader()