|
@@ -540,11 +540,13 @@ namespace bgfx { namespace d3d11
|
|
|
{
|
|
{
|
|
|
uint8_t temp[28];
|
|
uint8_t temp[28];
|
|
|
|
|
|
|
|
|
|
+ bx::ErrorAssert err;
|
|
|
|
|
+
|
|
|
bx::StaticMemoryBlockWriter writer(&temp, sizeof(temp) );
|
|
bx::StaticMemoryBlockWriter writer(&temp, sizeof(temp) );
|
|
|
- bx::write(&writer, "INTCEXTNCAPSFUNC", 16);
|
|
|
|
|
- bx::write(&writer, kIntelExtensionInterfaceVersion);
|
|
|
|
|
- bx::write(&writer, UINT32_C(0) );
|
|
|
|
|
- bx::write(&writer, UINT32_C(0) );
|
|
|
|
|
|
|
+ bx::write(&writer, "INTCEXTNCAPSFUNC", 16, &err);
|
|
|
|
|
+ bx::write(&writer, kIntelExtensionInterfaceVersion, &err);
|
|
|
|
|
+ bx::write(&writer, uint32_t(0), &err);
|
|
|
|
|
+ bx::write(&writer, uint32_t(0), &err);
|
|
|
|
|
|
|
|
if (SUCCEEDED(setIntelExtension(_device, temp, sizeof(temp) ) ) )
|
|
if (SUCCEEDED(setIntelExtension(_device, temp, sizeof(temp) ) ) )
|
|
|
{
|
|
{
|
|
@@ -552,10 +554,10 @@ namespace bgfx { namespace d3d11
|
|
|
bx::skip(&reader, 16);
|
|
bx::skip(&reader, 16);
|
|
|
|
|
|
|
|
uint32_t version;
|
|
uint32_t version;
|
|
|
- bx::read(&reader, version);
|
|
|
|
|
|
|
+ bx::read(&reader, version, &err);
|
|
|
|
|
|
|
|
uint32_t driverVersion;
|
|
uint32_t driverVersion;
|
|
|
- bx::read(&reader, driverVersion);
|
|
|
|
|
|
|
+ bx::read(&reader, driverVersion, &err);
|
|
|
|
|
|
|
|
return version <= driverVersion;
|
|
return version <= driverVersion;
|
|
|
}
|
|
}
|
|
@@ -1850,7 +1852,7 @@ namespace bgfx { namespace d3d11
|
|
|
|
|
|
|
|
bx::StaticMemoryBlockWriter writer(mem->data, mem->size);
|
|
bx::StaticMemoryBlockWriter writer(mem->data, mem->size);
|
|
|
uint32_t magic = BGFX_CHUNK_MAGIC_TEX;
|
|
uint32_t magic = BGFX_CHUNK_MAGIC_TEX;
|
|
|
- bx::write(&writer, magic);
|
|
|
|
|
|
|
+ bx::write(&writer, magic, bx::ErrorAssert{});
|
|
|
|
|
|
|
|
TextureCreate tc;
|
|
TextureCreate tc;
|
|
|
tc.m_width = _width;
|
|
tc.m_width = _width;
|
|
@@ -1861,7 +1863,7 @@ namespace bgfx { namespace d3d11
|
|
|
tc.m_format = TextureFormat::Enum(texture.m_requestedFormat);
|
|
tc.m_format = TextureFormat::Enum(texture.m_requestedFormat);
|
|
|
tc.m_cubeMap = false;
|
|
tc.m_cubeMap = false;
|
|
|
tc.m_mem = NULL;
|
|
tc.m_mem = NULL;
|
|
|
- bx::write(&writer, tc);
|
|
|
|
|
|
|
+ bx::write(&writer, tc, bx::ErrorAssert{});
|
|
|
|
|
|
|
|
texture.destroy();
|
|
texture.destroy();
|
|
|
texture.create(mem, texture.m_flags, 0);
|
|
texture.create(mem, texture.m_flags, 0);
|
|
@@ -4078,13 +4080,15 @@ namespace bgfx { namespace d3d11
|
|
|
{
|
|
{
|
|
|
bx::MemoryReader reader(_mem->data, _mem->size);
|
|
bx::MemoryReader reader(_mem->data, _mem->size);
|
|
|
|
|
|
|
|
|
|
+ bx::ErrorAssert err;
|
|
|
|
|
+
|
|
|
uint32_t magic;
|
|
uint32_t magic;
|
|
|
- bx::read(&reader, magic);
|
|
|
|
|
|
|
+ bx::read(&reader, magic, &err);
|
|
|
|
|
|
|
|
const bool fragment = isShaderType(magic, 'F');
|
|
const bool fragment = isShaderType(magic, 'F');
|
|
|
|
|
|
|
|
uint32_t hashIn;
|
|
uint32_t hashIn;
|
|
|
- bx::read(&reader, hashIn);
|
|
|
|
|
|
|
+ bx::read(&reader, hashIn, &err);
|
|
|
|
|
|
|
|
uint32_t hashOut;
|
|
uint32_t hashOut;
|
|
|
|
|
|
|
@@ -4094,11 +4098,11 @@ namespace bgfx { namespace d3d11
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
- bx::read(&reader, hashOut);
|
|
|
|
|
|
|
+ bx::read(&reader, hashOut, &err);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
uint16_t count;
|
|
uint16_t count;
|
|
|
- bx::read(&reader, count);
|
|
|
|
|
|
|
+ bx::read(&reader, count, &err);
|
|
|
|
|
|
|
|
m_numPredefined = 0;
|
|
m_numPredefined = 0;
|
|
|
m_numUniforms = count;
|
|
m_numUniforms = count;
|
|
@@ -4115,34 +4119,34 @@ namespace bgfx { namespace d3d11
|
|
|
for (uint32_t ii = 0; ii < count; ++ii)
|
|
for (uint32_t ii = 0; ii < count; ++ii)
|
|
|
{
|
|
{
|
|
|
uint8_t nameSize = 0;
|
|
uint8_t nameSize = 0;
|
|
|
- bx::read(&reader, nameSize);
|
|
|
|
|
|
|
+ bx::read(&reader, nameSize, &err);
|
|
|
|
|
|
|
|
char name[256] = { '\0' };
|
|
char name[256] = { '\0' };
|
|
|
- bx::read(&reader, &name, nameSize);
|
|
|
|
|
|
|
+ bx::read(&reader, &name, nameSize, &err);
|
|
|
name[nameSize] = '\0';
|
|
name[nameSize] = '\0';
|
|
|
|
|
|
|
|
uint8_t type = 0;
|
|
uint8_t type = 0;
|
|
|
- bx::read(&reader, type);
|
|
|
|
|
|
|
+ bx::read(&reader, type, &err);
|
|
|
|
|
|
|
|
uint8_t num = 0;
|
|
uint8_t num = 0;
|
|
|
- bx::read(&reader, num);
|
|
|
|
|
|
|
+ bx::read(&reader, num, &err);
|
|
|
|
|
|
|
|
uint16_t regIndex = 0;
|
|
uint16_t regIndex = 0;
|
|
|
- bx::read(&reader, regIndex);
|
|
|
|
|
|
|
+ bx::read(&reader, regIndex, &err);
|
|
|
|
|
|
|
|
uint16_t regCount = 0;
|
|
uint16_t regCount = 0;
|
|
|
- bx::read(&reader, regCount);
|
|
|
|
|
|
|
+ bx::read(&reader, regCount, &err);
|
|
|
|
|
|
|
|
if (!isShaderVerLess(magic, 8) )
|
|
if (!isShaderVerLess(magic, 8) )
|
|
|
{
|
|
{
|
|
|
uint16_t texInfo = 0;
|
|
uint16_t texInfo = 0;
|
|
|
- bx::read(&reader, texInfo);
|
|
|
|
|
|
|
+ bx::read(&reader, texInfo, &err);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if (!isShaderVerLess(magic, 10) )
|
|
if (!isShaderVerLess(magic, 10) )
|
|
|
{
|
|
{
|
|
|
uint16_t texFormat = 0;
|
|
uint16_t texFormat = 0;
|
|
|
- bx::read(&reader, texFormat);
|
|
|
|
|
|
|
+ bx::read(&reader, texFormat, &err);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const char* kind = "invalid";
|
|
const char* kind = "invalid";
|
|
@@ -4195,7 +4199,7 @@ namespace bgfx { namespace d3d11
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
uint32_t shaderSize;
|
|
uint32_t shaderSize;
|
|
|
- bx::read(&reader, shaderSize);
|
|
|
|
|
|
|
+ bx::read(&reader, shaderSize, &err);
|
|
|
|
|
|
|
|
const void* code = reader.getDataPtr();
|
|
const void* code = reader.getDataPtr();
|
|
|
bx::skip(&reader, shaderSize+1);
|
|
bx::skip(&reader, shaderSize+1);
|
|
@@ -4207,8 +4211,7 @@ namespace bgfx { namespace d3d11
|
|
|
bx::MemoryReader rd(code, shaderSize);
|
|
bx::MemoryReader rd(code, shaderSize);
|
|
|
|
|
|
|
|
DxbcContext dxbc;
|
|
DxbcContext dxbc;
|
|
|
- bx::Error err;
|
|
|
|
|
- read(&rd, dxbc, &err);
|
|
|
|
|
|
|
+ read(&rd, dxbc, bx::ErrorAssert{});
|
|
|
|
|
|
|
|
bool patchShader = !dxbc.shader.aon9;
|
|
bool patchShader = !dxbc.shader.aon9;
|
|
|
if (patchShader)
|
|
if (patchShader)
|
|
@@ -4248,14 +4251,14 @@ namespace bgfx { namespace d3d11
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
uint8_t numAttrs = 0;
|
|
uint8_t numAttrs = 0;
|
|
|
- bx::read(&reader, numAttrs);
|
|
|
|
|
|
|
+ bx::read(&reader, numAttrs, bx::ErrorAssert{});
|
|
|
|
|
|
|
|
bx::memSet(m_attrMask, 0, sizeof(m_attrMask) );
|
|
bx::memSet(m_attrMask, 0, sizeof(m_attrMask) );
|
|
|
|
|
|
|
|
for (uint32_t ii = 0; ii < numAttrs; ++ii)
|
|
for (uint32_t ii = 0; ii < numAttrs; ++ii)
|
|
|
{
|
|
{
|
|
|
uint16_t id;
|
|
uint16_t id;
|
|
|
- bx::read(&reader, id);
|
|
|
|
|
|
|
+ bx::read(&reader, id, bx::ErrorAssert{});
|
|
|
|
|
|
|
|
Attrib::Enum attr = idToAttrib(id);
|
|
Attrib::Enum attr = idToAttrib(id);
|
|
|
|
|
|
|
@@ -4266,7 +4269,7 @@ namespace bgfx { namespace d3d11
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
uint16_t size;
|
|
uint16_t size;
|
|
|
- bx::read(&reader, size);
|
|
|
|
|
|
|
+ bx::read(&reader, size, bx::ErrorAssert{});
|
|
|
|
|
|
|
|
if (0 < size)
|
|
if (0 < size)
|
|
|
{
|
|
{
|