Improved detail for llvertexbuffer attribute mask assertion failure in DRTVWR-559

master
Brad Linden 2023-03-06 11:31:29 -08:00
parent 56e5385bd2
commit 8564da5831
2 changed files with 4 additions and 1 deletions

View File

@ -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

View File

@ -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)
{