Commit 4b14f3cd authored by Laszlo Agocs's avatar Laszlo Agocs Committed by Qt Cherry-pick Bot
Browse files

rhi: document serializedLayoutDescription



The docs are internal still but won't hurt to keep them up-to-date.
At the same time, enhance the QRhiRenderPassDescriptor
serializedFormat() docs as well, with appropriate notes about the
intended usage of the "serialized" data.

Change-Id: I8425fff625903468621e3b09d089b345fada85f4
Reviewed-by: default avatarChristian Strømme <christian.stromme@qt.io>
(cherry picked from commit eda1276f

)
Reviewed-by: default avatarQt Cherry-pick Bot <cherrypick_bot@qt-project.org>
parent 0a1cefa4
......@@ -2784,10 +2784,16 @@ QRhiResource::Type QRhiRenderPassDescriptor::resourceType() const
\fn QVector<quint32> QRhiRenderPassDescriptor::serializedFormat() const
\return a vector of integers containing an opaque blob describing the data
relevant for \l{isCompatible()}{compatibility}. Given two
QRhiRenderPassDescriptor objects \c rp1 and \c rp2, if the data returned
from this function is identical, then \c{rp1->isCompatible(rp2)}, and vice
versa hold true as well.
relevant for \l{isCompatible()}{compatibility}.
Given two QRhiRenderPassDescriptor objects \c rp1 and \c rp2, if the data
returned from this function is identical, then \c{rp1->isCompatible(rp2)},
and vice versa hold true as well.
\note The returned data is meant to be used for storing in memory and
comparisons during the lifetime of the QRhi the object belongs to. It is not
meant for storing on disk, reusing between processes, or using with multiple
QRhi instances with potentially different backends.
\sa isCompatible()
*/
......@@ -3060,6 +3066,8 @@ QRhiResource::Type QRhiShaderResourceBindings::resourceType() const
is more efficient than iterating through two binding lists and calling
QRhiShaderResourceBinding::isLayoutCompatible() on each pair. This becomes
relevant especially when this function is called at a high frequency.
\sa serializedLayoutDescription()
*/
bool QRhiShaderResourceBindings::isLayoutCompatible(const QRhiShaderResourceBindings *other) const
{
......@@ -3078,6 +3086,25 @@ bool QRhiShaderResourceBindings::isLayoutCompatible(const QRhiShaderResourceBind
&& m_layoutDesc == other->m_layoutDesc;
}
/*!
\fn QVector<quint32> QRhiShaderResourceBindings::serializedLayoutDescription() const
\return a vector of integers containing an opaque blob describing the layout
of the binding list, i.e. the data relevant for
\l{isLayoutCompatible()}{layout compatibility tests}.
Given two objects \c srb1 and \c srb2, if the data returned from this
function is identical, then \c{srb1->isLayoutCompatible(srb2), and vice
versa hold true as well.
\note The returned data is meant to be used for storing in memory and
comparisons during the lifetime of the QRhi the object belongs to. It is not
meant for storing on disk, reusing between processes, or using with multiple
QRhi instances with potentially different backends.
\sa isLayoutCompatible()
*/
void QRhiImplementation::updateLayoutDesc(QRhiShaderResourceBindings *srb)
{
srb->m_layoutDescHash = 0;
......
Supports Markdown
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