Commit 8059632f authored by Laszlo Agocs's avatar Laszlo Agocs

rhi: Drop the zeroing out of resource binding structs

This has a non-insignificant cost (since the size is at least 260 bytes)
in renderers that construct a lot of these objects per frame. After
changing the qHash implementation to be lighter we no longer rely on
qHashBits, so zeroing it is not essential anymore. Remove it.

Change-Id: If1fbd8dfd46fb3f0e9ea5a3c4794d24b8aeac1ba
Reviewed-by: default avatarAndy Nichols <andy.nichols@qt.io>
parent 60871b4f
......@@ -2858,14 +2858,6 @@ bool QRhiShaderResourceBindings::isLayoutCompatible(const QRhiShaderResourceBind
\value ComputeStage Compute stage
*/
/*!
\internal
*/
QRhiShaderResourceBinding::QRhiShaderResourceBinding()
{
memset(&d.u, 0, sizeof(d.u));
}
/*!
\return \c true if the layout is compatible with \a other. The layout does not
include the actual resource (such as, buffer or texture) and related
......
......@@ -346,7 +346,7 @@ public:
};
Q_DECLARE_FLAGS(StageFlags, StageFlag)
QRhiShaderResourceBinding();
QRhiShaderResourceBinding() = default;
bool isLayoutCompatible(const QRhiShaderResourceBinding &other) const;
......@@ -415,7 +415,7 @@ private:
Q_DECLARE_OPERATORS_FOR_FLAGS(QRhiShaderResourceBinding::StageFlags)
Q_DECLARE_TYPEINFO(QRhiShaderResourceBinding, Q_MOVABLE_TYPE);
Q_DECLARE_TYPEINFO(QRhiShaderResourceBinding, Q_PRIMITIVE_TYPE);
Q_GUI_EXPORT bool operator==(const QRhiShaderResourceBinding &a, const QRhiShaderResourceBinding &b) noexcept;
Q_GUI_EXPORT bool operator!=(const QRhiShaderResourceBinding &a, const QRhiShaderResourceBinding &b) noexcept;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment