summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorBrad Linden <brad@lindenlab.com>2023-03-06 11:31:29 -0800
committerBrad Linden <brad@lindenlab.com>2023-03-06 11:38:24 -0800
commit8564da58315d015bc2cd60e5f15395e4173d9adc (patch)
treea067a579f26a72c3f26d5f2eef7a89f6d4f87c87 /indra
parent56e5385bd25cc50ea0055f5703dc3c24a5acfc93 (diff)
Improved detail for llvertexbuffer attribute mask assertion failure in DRTVWR-559
Diffstat (limited to 'indra')
-rw-r--r--indra/llcommon/llerror.h2
-rw-r--r--indra/llrender/llvertexbuffer.cpp3
2 files changed, 4 insertions, 1 deletions
diff --git a/indra/llcommon/llerror.h b/indra/llcommon/llerror.h
index d06c0e2132..b7dec3cb7f 100644
--- a/indra/llcommon/llerror.h
+++ b/indra/llcommon/llerror.h
@@ -82,9 +82,11 @@ const int LL_ERR_NOERR = 0;
#ifdef SHOW_ASSERT
#define llassert(func) llassert_always_msg(func, #func)
+#define llassert_msg(func, msg) llassert_always_msg(func, msg)
#define llverify(func) llassert_always_msg(func, #func)
#else
#define llassert(func)
+#define llassert_msg(func, msg)
#define llverify(func) do {if (func) {}} while(0)
#endif
diff --git a/indra/llrender/llvertexbuffer.cpp b/indra/llrender/llvertexbuffer.cpp
index 9fb5eef3a2..e5e6882ba1 100644
--- a/indra/llrender/llvertexbuffer.cpp
+++ b/indra/llrender/llvertexbuffer.cpp
@@ -1363,7 +1363,8 @@ void LLVertexBuffer::setBuffer()
U32 data_mask = LLGLSLShader::sCurBoundShaderPtr->mAttributeMask;
// this Vertex Buffer must provide all necessary attributes for currently bound shader
- llassert((data_mask & mTypeMask) == data_mask);
+ llassert_msg((data_mask & mTypeMask) == data_mask,
+ "Attribute mask mismatch! mTypeMask should be a superset of data_mask. data_mask: 0x" << std::hex << data_mask << " mTypeMask: 0x" << mTypeMask << std::dec);
if (sGLRenderBuffer != mGLBuffer)
{