581 {
582
583 if (keyContext.recorder() && !imgData.fTextureProxy) {
585 return;
586 }
587
588 const Caps* caps = keyContext.caps();
589 const bool doTilingInHw = !imgData.fSampling.useCubic &&
can_do_tiling_in_hw(caps, imgData);
590
592 gatherer->add(imgData.fSampling,
593 doTilingInHw ? imgData.fTileModes : kDefaultTileModes,
594 imgData.fTextureProxy);
595
596 if (doTilingInHw) {
597 add_hw_image_uniform_data(keyContext.dict(), imgData, gatherer);
599 } else if (imgData.fSampling.useCubic) {
600 add_cubic_image_uniform_data(keyContext.dict(), imgData, gatherer);
602 } else {
603 add_image_uniform_data(keyContext.dict(), imgData, gatherer);
605 }
606}
static bool can_do_tiling_in_hw(const Caps *caps, const ImageShaderBlock::ImageData &imgData)