Lines Matching refs:rgb

497  * dst_full is an rgb instruction, meaning that it has a vector instruction(rgb)
575 /*If this arg does not read from an rgb source,
597 /* This function assumes that rgb.Alpha and alpha.RGB are unused */
599 struct rc_pair_instruction * rgb,
604 assert(rgb->Alpha.Opcode == RC_OPCODE_NOP);
611 /* Merge the rgb presubtract registers. */
613 if (!merge_presub_sources(rgb, alpha->RGB, RC_SOURCE_RGB)) {
619 if(!merge_presub_sources(rgb, alpha->Alpha, RC_SOURCE_ALPHA)){
624 /* Copy alpha args into rgb */
645 source = rc_pair_alloc_source(rgb, srcrgb, srcalpha, file, index);
649 rgb->Alpha.Arg[arg].Source = source;
650 rgb->Alpha.Arg[arg].Swizzle = alpha->Alpha.Arg[arg].Swizzle;
651 rgb->Alpha.Arg[arg].Abs = alpha->Alpha.Arg[arg].Abs;
652 rgb->Alpha.Arg[arg].Negate = alpha->Alpha.Arg[arg].Negate;
655 /* Copy alpha opcode into rgb */
656 rgb->Alpha.Opcode = alpha->Alpha.Opcode;
657 rgb->Alpha.DestIndex = alpha->Alpha.DestIndex;
658 rgb->Alpha.WriteMask = alpha->Alpha.WriteMask;
659 rgb->Alpha.OutputWriteMask = alpha->Alpha.OutputWriteMask;
660 rgb->Alpha.DepthWriteMask = alpha->Alpha.DepthWriteMask;
661 rgb->Alpha.Saturate = alpha->Alpha.Saturate;
662 rgb->Alpha.Omod = alpha->Alpha.Omod;
666 if (rgb->WriteALUResult)
669 rgb->WriteALUResult = alpha->WriteALUResult;
670 rgb->ALUResultCompare = alpha->ALUResultCompare;
674 rgb->SemWait |= alpha->SemWait;
680 * Try to merge the given instructions into the rgb instructions.
685 static int merge_instructions(struct rc_pair_instruction * rgb, struct rc_pair_instruction * alpha)
691 if ((rgb->WriteALUResult && alpha->Alpha.OutputWriteMask)
692 || (rgb->RGB.OutputWriteMask && alpha->WriteALUResult)) {
698 if ((rgb->RGB.OutputWriteMask && !alpha->Alpha.OutputWriteMask)
699 || (!rgb->RGB.OutputWriteMask && alpha->Alpha.OutputWriteMask)) {
703 memcpy(&backup, rgb, sizeof(struct rc_pair_instruction));
705 if (destructive_merge_instructions(rgb, alpha))
708 memcpy(rgb, &backup, sizeof(struct rc_pair_instruction));
728 /* Check the previous rgb instruction */