mirror of
https://github.com/bkaradzic/bgfx.git
synced 2026-02-17 20:52:36 +01:00
Fixed assert macros, and improved error handling.
This commit is contained in:
@@ -326,8 +326,10 @@ namespace bgfx { namespace spirv
|
||||
{
|
||||
uint16_t size = 0;
|
||||
|
||||
bx::Error err;
|
||||
|
||||
uint16_t count = static_cast<uint16_t>(uniforms.size() );
|
||||
bx::write(_writer, count);
|
||||
bx::write(_writer, count, &err);
|
||||
|
||||
uint32_t fragmentBit = isFragmentShader ? kUniformFragmentBit : 0;
|
||||
|
||||
@@ -341,15 +343,15 @@ namespace bgfx { namespace spirv
|
||||
}
|
||||
|
||||
uint8_t nameSize = (uint8_t)un.name.size();
|
||||
bx::write(_writer, nameSize);
|
||||
bx::write(_writer, un.name.c_str(), nameSize);
|
||||
bx::write(_writer, uint8_t(un.type | fragmentBit) );
|
||||
bx::write(_writer, un.num);
|
||||
bx::write(_writer, un.regIndex);
|
||||
bx::write(_writer, un.regCount);
|
||||
bx::write(_writer, un.texComponent);
|
||||
bx::write(_writer, un.texDimension);
|
||||
bx::write(_writer, un.texFormat);
|
||||
bx::write(_writer, nameSize, &err);
|
||||
bx::write(_writer, un.name.c_str(), nameSize, &err);
|
||||
bx::write(_writer, uint8_t(un.type | fragmentBit), &err);
|
||||
bx::write(_writer, un.num, &err);
|
||||
bx::write(_writer, un.regIndex, &err);
|
||||
bx::write(_writer, un.regCount, &err);
|
||||
bx::write(_writer, un.texComponent, &err);
|
||||
bx::write(_writer, un.texDimension, &err);
|
||||
bx::write(_writer, un.texFormat, &err);
|
||||
|
||||
BX_TRACE("%s, %s, %d, %d, %d"
|
||||
, un.name.c_str()
|
||||
@@ -801,6 +803,8 @@ namespace bgfx { namespace spirv
|
||||
uniforms.push_back(un);
|
||||
}
|
||||
|
||||
bx::Error err;
|
||||
|
||||
// Loop through the storage buffer, and extract the uniform names:
|
||||
for (auto& resource : resourcesrefl.storage_buffers)
|
||||
{
|
||||
@@ -826,28 +830,28 @@ namespace bgfx { namespace spirv
|
||||
uint16_t size = writeUniformArray( _writer, uniforms, _options.shaderType == 'f');
|
||||
|
||||
uint32_t shaderSize = (uint32_t)spirv.size() * sizeof(uint32_t);
|
||||
bx::write(_writer, shaderSize);
|
||||
bx::write(_writer, spirv.data(), shaderSize);
|
||||
bx::write(_writer, shaderSize, &err);
|
||||
bx::write(_writer, spirv.data(), shaderSize, &err);
|
||||
uint8_t nul = 0;
|
||||
bx::write(_writer, nul);
|
||||
bx::write(_writer, nul, &err);
|
||||
|
||||
const uint8_t numAttr = (uint8_t)program->getNumLiveAttributes();
|
||||
bx::write(_writer, numAttr);
|
||||
bx::write(_writer, numAttr, &err);
|
||||
|
||||
for (uint8_t ii = 0; ii < numAttr; ++ii)
|
||||
{
|
||||
bgfx::Attrib::Enum attr = toAttribEnum(program->getAttributeName(ii) );
|
||||
if (bgfx::Attrib::Count != attr)
|
||||
{
|
||||
bx::write(_writer, bgfx::attribToId(attr) );
|
||||
bx::write(_writer, bgfx::attribToId(attr), &err);
|
||||
}
|
||||
else
|
||||
{
|
||||
bx::write(_writer, uint16_t(UINT16_MAX) );
|
||||
bx::write(_writer, uint16_t(UINT16_MAX), &err);
|
||||
}
|
||||
}
|
||||
|
||||
bx::write(_writer, size);
|
||||
bx::write(_writer, size, &err);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user