This was necessary because the number of fragment image storages couldn't be queried in shading language neutral code. We are no longer shading language neutral and this can be queried.
Change-Id: I065a38688919e7cdb1482877a232cb004c8f1511
Reviewed-on: https://skia-review.googlesource.com/5315
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
shaderCaps->fMaxGeometryImageStorages);
shaderCaps->fMaxFragmentImageStorages = SkTMin(maxUnits,
shaderCaps->fMaxFragmentImageStorages);
- // HACK: Currently we only use images in a unit test in the fragment shader. The individual
- // stage image limits aren't exposed through GrShaderCaps. Soon GrShaderCaps and GrGLSLCaps
- // will merge and the test can look for fragment support.
- if (!shaderCaps->fMaxFragmentImageStorages) {
- shaderCaps->fImageLoadStoreSupport = false;
- }
}
/**************************************************************************
fHWBufferTextures[b].fKnownBound = false;
}
for (int i = 0; i < fHWBoundImageStorages.count(); ++i) {
+ SkASSERT(this->caps()->shaderCaps()->imageLoadStoreSupport());
fHWBoundImageStorages[i].fTextureUniqueID.makeInvalid();
}
}
static constexpr int kS = 256;
GrContext* context = ctxInfo.grContext();
- if (!context->caps()->shaderCaps()->imageLoadStoreSupport()) {
+ if (context->caps()->shaderCaps()->maxFragmentImageStorages() < 1) {
return;
}