rhi: QShader: Only hash the first shader
This is good enough for a hash value and brings a not insignificant boost to cases when this is used heavily. In qmlbench with delegates_shadereffect.qml this improves the results in my runs 386->405. Pick-to: 6.4 Change-Id: I3dbb9ffabf5986c5ff6b69928b3f073e944450ee Reviewed-by: Andy Nichols <andy.nichols@qt.io>bb10
parent
2b841d40b2
commit
dccca4ab33
|
|
@ -597,9 +597,10 @@ size_t qHash(const QShader &s, size_t seed) noexcept
|
|||
{
|
||||
QtPrivate::QHashCombine hash;
|
||||
seed = hash(seed, s.stage());
|
||||
seed = qHashRange(s.d->shaders.keyValueBegin(),
|
||||
s.d->shaders.keyValueEnd(),
|
||||
seed);
|
||||
if (!s.d->shaders.isEmpty()) {
|
||||
seed = hash(seed, s.d->shaders.firstKey());
|
||||
seed = hash(seed, s.d->shaders.first());
|
||||
}
|
||||
return seed;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue