本文整理汇总了C++中GrCaps::textureBarrierSupport方法的典型用法代码示例。如果您正苦于以下问题:C++ GrCaps::textureBarrierSupport方法的具体用法?C++ GrCaps::textureBarrierSupport怎么用?C++ GrCaps::textureBarrierSupport使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GrCaps
的用法示例。
在下文中一共展示了GrCaps::textureBarrierSupport方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: xferBarrierType
GrXferBarrierType GrXferProcessor::xferBarrierType(const GrRenderTarget* rt,
const GrCaps& caps) const {
SkASSERT(rt);
if (static_cast<const GrSurface*>(rt) == this->getDstTexture()) {
// Texture barriers are required when a shader reads and renders to the same texture.
SkASSERT(caps.textureBarrierSupport());
return kTexture_GrXferBarrierType;
}
return this->onXferBarrier(rt, caps);
}
示例2: GetAnalysisProperties
GrXPFactory::AnalysisProperties GrXPFactory::GetAnalysisProperties(
const GrXPFactory* factory,
const GrProcessorAnalysisColor& color,
const GrProcessorAnalysisCoverage& coverage,
const GrCaps& caps) {
AnalysisProperties result;
if (factory) {
result = factory->analysisProperties(color, coverage, caps);
} else {
result = GrPorterDuffXPFactory::SrcOverAnalysisProperties(color, coverage, caps);
}
SkASSERT(!(result & AnalysisProperties::kRequiresDstTexture));
if ((result & AnalysisProperties::kReadsDstInShader) &&
!caps.shaderCaps()->dstReadInShaderSupport()) {
result |= AnalysisProperties::kRequiresDstTexture;
if (caps.textureBarrierSupport()) {
result |= AnalysisProperties::kRequiresBarrierBetweenOverlappingDraws;
}
}
return result;
}