Browse Source

More fixes.

Branimir Karadžić 4 years ago
parent
commit
7bfb8a7b38
4 changed files with 40 additions and 35 deletions
  1. 2 2
      src/renderer_gl.cpp
  2. 14 12
      src/renderer_mtl.mm
  3. 2 2
      src/renderer_vk.cpp
  4. 22 19
      src/renderer_webgpu.cpp

+ 2 - 2
src/renderer_gl.cpp

@@ -5940,11 +5940,11 @@ namespace bgfx { namespace gl
 
 
 	void ShaderGL::create(const Memory* _mem)
 	void ShaderGL::create(const Memory* _mem)
 	{
 	{
-		bx::Error err;
-
 		bx::MemoryReader reader(_mem->data, _mem->size);
 		bx::MemoryReader reader(_mem->data, _mem->size);
 		m_hash = bx::hash<bx::HashMurmur2A>(_mem->data, _mem->size);
 		m_hash = bx::hash<bx::HashMurmur2A>(_mem->data, _mem->size);
 
 
+		bx::ErrorAssert err;
+
 		uint32_t magic;
 		uint32_t magic;
 		bx::read(&reader, magic, &err);
 		bx::read(&reader, magic, &err);
 
 

+ 14 - 12
src/renderer_mtl.mm

@@ -2433,11 +2433,13 @@ namespace bgfx { namespace mtl
 	{
 	{
 		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);
 
 
 		uint32_t hashIn;
 		uint32_t hashIn;
-		bx::read(&reader, hashIn);
+		bx::read(&reader, hashIn, &err);
 
 
 		uint32_t hashOut;
 		uint32_t hashOut;
 
 
@@ -2447,7 +2449,7 @@ namespace bgfx { namespace mtl
 		}
 		}
 		else
 		else
 		{
 		{
-			bx::read(&reader, hashOut);
+			bx::read(&reader, hashOut, &err);
 		}
 		}
 
 
 		uint16_t count;
 		uint16_t count;
@@ -2461,34 +2463,34 @@ namespace bgfx { namespace mtl
 		for (uint32_t ii = 0; ii < count; ++ii)
 		for (uint32_t ii = 0; ii < count; ++ii)
 		{
 		{
 			uint8_t nameSize;
 			uint8_t nameSize;
-			bx::read(&reader, nameSize);
+			bx::read(&reader, nameSize, &err);
 
 
 			char name[256];
 			char name[256];
 			bx::read(&reader, &name, nameSize);
 			bx::read(&reader, &name, nameSize);
 			name[nameSize] = '\0';
 			name[nameSize] = '\0';
 
 
 			uint8_t type;
 			uint8_t type;
-			bx::read(&reader, type);
+			bx::read(&reader, type, &err);
 
 
 			uint8_t num;
 			uint8_t num;
-			bx::read(&reader, num);
+			bx::read(&reader, num, &err);
 
 
 			uint16_t regIndex;
 			uint16_t regIndex;
-			bx::read(&reader, regIndex);
+			bx::read(&reader, regIndex, &err);
 
 
 			uint16_t regCount;
 			uint16_t regCount;
-			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);
 			}
 			}
 		}
 		}
 
 
@@ -2496,12 +2498,12 @@ namespace bgfx { namespace mtl
 		{
 		{
 			for (uint32_t ii = 0; ii < 3; ++ii)
 			for (uint32_t ii = 0; ii < 3; ++ii)
 			{
 			{
-				bx::read(&reader, m_numThreads[ii]);
+				bx::read(&reader, m_numThreads[ii], &err);
 			}
 			}
 		}
 		}
 
 
 		uint32_t shaderSize;
 		uint32_t shaderSize;
-		bx::read(&reader, shaderSize);
+		bx::read(&reader, shaderSize, &err);
 
 
 		const char* code = (const char*)reader.getDataPtr();
 		const char* code = (const char*)reader.getDataPtr();
 		bx::skip(&reader, shaderSize+1);
 		bx::skip(&reader, shaderSize+1);

+ 2 - 2
src/renderer_vk.cpp

@@ -4688,10 +4688,10 @@ VK_DESTROY
 
 
 	void ShaderVK::create(const Memory* _mem)
 	void ShaderVK::create(const Memory* _mem)
 	{
 	{
-		bx::Error err;
-
 		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, &err);
 		bx::read(&reader, magic, &err);
 
 

+ 22 - 19
src/renderer_webgpu.cpp

@@ -2471,8 +2471,10 @@ namespace bgfx { namespace webgpu
 
 
 		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);
 
 
 		wgpu::ShaderStage shaderStage;
 		wgpu::ShaderStage shaderStage;
 
 
@@ -2496,7 +2498,7 @@ namespace bgfx { namespace webgpu
 		m_stage = shaderStage;
 		m_stage = shaderStage;
 
 
 		uint32_t hashIn;
 		uint32_t hashIn;
-		bx::read(&reader, hashIn);
+		bx::read(&reader, hashIn, &err);
 
 
 		uint32_t hashOut;
 		uint32_t hashOut;
 
 
@@ -2506,11 +2508,11 @@ namespace bgfx { namespace webgpu
 		}
 		}
 		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;
@@ -2530,32 +2532,32 @@ namespace bgfx { namespace webgpu
 			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];
 				char name[256];
-				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;
 				uint8_t num;
-				bx::read(&reader, num);
+				bx::read(&reader, num, &err);
 
 
 				uint16_t regIndex;
 				uint16_t regIndex;
-				bx::read(&reader, regIndex);
+				bx::read(&reader, regIndex, &err);
 
 
 				uint16_t regCount;
 				uint16_t regCount;
-				bx::read(&reader, regCount);
+				bx::read(&reader, regCount, &err);
 
 
 				uint8_t texComponent;
 				uint8_t texComponent;
-				bx::read(&reader, texComponent);
+				bx::read(&reader, texComponent, &err);
 
 
 				uint8_t texDimension;
 				uint8_t texDimension;
-				bx::read(&reader, texDimension);
+				bx::read(&reader, texDimension, &err);
 
 
 				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";
 
 
@@ -2654,7 +2656,8 @@ namespace bgfx { namespace webgpu
 					m_samplers[m_numSamplers].visibility = shaderStage;
 					m_samplers[m_numSamplers].visibility = shaderStage;
 					m_samplers[m_numSamplers].sampler.type = comparisonSampler
 					m_samplers[m_numSamplers].sampler.type = comparisonSampler
 						? wgpu::SamplerBindingType::Comparison
 						? wgpu::SamplerBindingType::Comparison
-						: wgpu::SamplerBindingType::Filtering;
+						: wgpu::SamplerBindingType::Filtering
+						;
 
 
 					m_numSamplers++;
 					m_numSamplers++;
 
 
@@ -2693,7 +2696,7 @@ namespace bgfx { namespace webgpu
 		}
 		}
 
 
 		uint32_t shaderSize;
 		uint32_t shaderSize;
-		bx::read(&reader, shaderSize);
+		bx::read(&reader, shaderSize, &err);
 
 
 		BX_TRACE("Shader body is at %lld size %u remaining %lld", reader.getPos(), shaderSize, reader.remaining());
 		BX_TRACE("Shader body is at %lld size %u remaining %lld", reader.getPos(), shaderSize, reader.remaining());
 
 
@@ -2709,7 +2712,7 @@ namespace bgfx { namespace webgpu
 		BX_TRACE("First word %08" PRIx32, code[0]);
 		BX_TRACE("First word %08" PRIx32, code[0]);
 
 
 		uint8_t numAttrs = 0;
 		uint8_t numAttrs = 0;
-		bx::read(&reader, numAttrs);
+		bx::read(&reader, numAttrs, &err);
 
 
 		m_numAttrs = numAttrs;
 		m_numAttrs = numAttrs;
 
 
@@ -2719,7 +2722,7 @@ namespace bgfx { namespace webgpu
 		for(uint8_t ii = 0; ii < numAttrs; ++ii)
 		for(uint8_t ii = 0; ii < numAttrs; ++ii)
 		{
 		{
 			uint16_t id;
 			uint16_t id;
-			bx::read(&reader, id);
+			bx::read(&reader, id, &err);
 
 
 			auto toString = [](Attrib::Enum attr)
 			auto toString = [](Attrib::Enum attr)
 			{
 			{
@@ -2784,10 +2787,10 @@ namespace bgfx { namespace webgpu
 			return ((value + multiple - 1) / multiple) * multiple;
 			return ((value + multiple - 1) / multiple) * multiple;
 		};
 		};
 
 
-		bx::read(&reader, m_size);
+		bx::read(&reader, m_size, &err);
 
 
 		const uint32_t align = kMinBufferOffsetAlignment;
 		const uint32_t align = kMinBufferOffsetAlignment;
-		m_gpuSize = (uint16_t) bx::strideAlign(m_size, align);
+		m_gpuSize = uint16_t(bx::strideAlign(m_size, align) );
 
 
 		BX_TRACE("shader size %d (used=%d) (prev=%d)", (int)m_size, (int)m_gpuSize, (int)bx::strideAlign(roundUp(m_size, 4), align));
 		BX_TRACE("shader size %d (used=%d) (prev=%d)", (int)m_size, (int)m_gpuSize, (int)bx::strideAlign(roundUp(m_size, 4), align));
 	}
 	}