Home | History | Annotate | Download | only in hwui

Lines Matching refs:description

369 Program* ProgramCache::get(const ProgramDescription& description) {
370 programid key = description.key();
374 description.log("Could not find program");
375 program = generateProgram(description, key);
387 Program* ProgramCache::generateProgram(const ProgramDescription& description, programid key) {
388 String8 vertexShader = generateVertexShader(description);
389 String8 fragmentShader = generateFragmentShader(description);
395 String8 ProgramCache::generateVertexShader(const ProgramDescription& description) {
398 if (description.hasTexture || description.hasExternalTexture) {
401 if (description.isAA) {
406 if (description.hasTextureTransform) {
409 if (description.hasGradient) {
410 shader.append(gVS_Header_Uniforms_HasGradient[description.gradientType]);
412 if (description.hasBitmap) {
415 if (description.isPoint) {
419 if (description.hasTexture || description.hasExternalTexture) {
422 if (description.isAA) {
425 if (description.hasGradient) {
426 shader.append(gVS_Header_Varyings_HasGradient[description.gradientType]);
428 if (description.hasBitmap) {
430 shader.append(description.isPoint ?
437 if (description.hasTextureTransform) {
439 } else if (description.hasTexture || description.hasExternalTexture) {
442 if (description.isAA) {
445 if (description.hasGradient) {
446 shader.append(gVS_Main_OutGradient[description.gradientType]);
448 if (description.hasBitmap) {
449 shader.append(description.isPoint ?
453 if (description.isPoint) {
467 String8 ProgramCache::generateFragmentShader(const ProgramDescription& description) {
470 const bool blendFramebuffer = description.framebufferMode >= SkXfermode::kPlus_Mode;
474 if (description.hasExternalTexture) {
481 if (description.hasTexture || description.hasExternalTexture) {
484 if (description.isAA) {
487 if (description.hasGradient) {
488 shader.append(gVS_Header_Varyings_HasGradient[description.gradientType]);
490 if (description.hasBitmap) {
492 shader.append(description.isPoint ?
499 const bool singleColor = !description.hasTexture && !description.hasExternalTexture &&
500 !description.hasGradient && !description.hasBitmap;
502 if (description.modulate || singleColor) {
506 if (description.hasTexture) {
508 } else if (description.hasExternalTexture) {
511 if (description.isAA) {
514 if (description.hasGradient) {
515 shader.append(gFS_Uniforms_GradientSampler[description.gradientType]);
517 if (description.hasBitmap && description.isPoint) {
522 if (!description.isAA && !blendFramebuffer &&
523 description.colorOp == ProgramDescription::kColorNone && !description.isPoint) {
526 const bool noShader = !description.hasGradient && !description.hasBitmap;
527 const bool singleTexture = (description.hasTexture || description.hasExternalTexture) &&
528 !description.hasAlpha8Texture && noShader;
529 const bool singleA8Texture = description.hasTexture &&
530 description.hasAlpha8Texture && noShader;
531 const bool singleGradient = !description.hasTexture && !description.hasExternalTexture &&
532 description.hasGradient && !description.hasBitmap &&
533 description.gradientType == ProgramDescription::kGradientLinear;
539 if (!description.modulate) {
546 if (!description.modulate) {
553 if (!description.modulate) {
572 if (description.hasBitmap) {
575 shader.append(gFS_Uniforms_ColorOp[description.colorOp]);
578 if (description.hasGradient && description.hasBitmap) {
579 generateBlend(shader, "blendShaders", description.shadersMode);
581 if (description.colorOp == ProgramDescription::kColorBlend) {
582 generateBlend(shader, "blendColors", description.colorMode);
585 generateBlend(shader, "blendFramebuffer", description.framebufferMode);
587 if (description.isBitmapNpot) {
588 generateTextureWrap(shader, description.bitmapWrapS, description.bitmapWrapT);
594 if (description.hasTexture || description.hasExternalTexture) {
595 if (description.hasAlpha8Texture) {
596 if (!description.hasGradient && !description.hasBitmap) {
603 if ((!description.hasGradient && !description.hasBitmap) || description.modulate) {
607 if (description.isAA) {
610 if (description.hasGradient) {
611 shader.append(gFS_Main_FetchGradient[description.gradientType]);
613 if (description.hasBitmap) {
614 if (description.isPoint) {
617 if (!description.isBitmapNpot) {
625 if (description.hasGradient && description.hasBitmap) {
626 int op = description.hasAlpha8Texture ? MODULATE_OP_MODULATE_A8 : modulateOp;
627 if (description.isBitmapFirst) {
635 if (description.hasGradient) {
636 int op = description.hasAlpha8Texture ? MODULATE_OP_MODULATE_A8 : modulateOp;
639 } else if (description.hasBitmap) {
640 int op = description.hasAlpha8Texture ? MODULATE_OP_MODULATE_A8 : modulateOp;
645 if (description.modulate && applyModulate) {
649 shader.append(gFS_Main_ApplyColorOp[description.colorOp]);
654 shader.append(!description.swapSrcDst ?