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: Andy Nichols <andy.nichols@qt.io>bb10
parent
60871b4fdf
commit
8059632fbd
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in New Issue