瀏覽代碼

WebGPU: Don't need bindings backward compatibility (#2488)

Hugo Amnov 4 年之前
父節點
當前提交
9320a20e72
共有 2 個文件被更改,包括 5 次插入15 次删除
  1. 5 13
      src/renderer_webgpu.cpp
  2. 0 2
      src/renderer_webgpu.h

+ 5 - 13
src/renderer_webgpu.cpp

@@ -1328,7 +1328,7 @@ namespace bgfx { namespace webgpu
 			if (NULL != program.m_fsh
 			&& 0 < program.m_fsh->m_gpuSize)
 			{
-				bindings.m_entries[1].binding = program.m_fsh->m_oldBindingModel ? kSpirvOldFragmentBinding : kSpirvFragmentBinding;
+				bindings.m_entries[1].binding = kSpirvFragmentBinding;
 				bindings.m_entries[1].offset = 0;
 				bindings.m_entries[1].size = program.m_fsh->m_gpuSize;
 				bindings.m_entries[1].buffer = scratchBuffer.m_buffer;
@@ -2515,8 +2515,6 @@ namespace bgfx { namespace webgpu
 		m_numPredefined = 0;
 		m_numUniforms = count;
 
-		m_oldBindingModel = isShaderVerLess(magic, 11);
-
 		BX_TRACE("%s Shader consts %d"
 			, getShaderTypeName(magic)
 			, count
@@ -2525,7 +2523,7 @@ namespace bgfx { namespace webgpu
 		const bool fragment = isShaderType(magic, 'F');
 		uint8_t fragmentBit = fragment ? kUniformFragmentBit : 0;
 
-		BX_ASSERT(!isShaderVerLess(magic, 10), "WebGPU backend supports only shader binary version >= 10");
+		BX_ASSERT(!isShaderVerLess(magic, 11), "WebGPU backend supports only shader binary version >= 11");
 
 		if (0 < count)
 		{
@@ -2576,10 +2574,7 @@ namespace bgfx { namespace webgpu
 					const bool buffer = idToDescriptorType(regCount) == DescriptorType::StorageBuffer;
 					const bool readonly = (type & kUniformReadOnlyBit) != 0;
 
-					const uint8_t reverseShift = m_oldBindingModel
-						? (fragment ? kSpirvOldFragmentShift : 0) + (buffer ? kSpirvOldBufferShift : kSpirvOldImageShift)
-						: kSpirvBindShift;
-
+					const uint8_t reverseShift = kSpirvBindShift;
 					const uint8_t stage = regIndex - reverseShift;
 
 					m_bindInfo[stage].m_index = m_numBuffers;
@@ -2614,10 +2609,7 @@ namespace bgfx { namespace webgpu
 					const UniformRegInfo* info = s_renderWgpu->m_uniformReg.find(name);
 					BX_ASSERT(NULL != info, "User defined uniform '%s' is not found, it won't be set.", name);
 
-					const uint8_t reverseShift = m_oldBindingModel
-						? (fragment ? kSpirvOldFragmentShift : 0) + kSpirvOldTextureShift
-						: kSpirvBindShift;
-
+					const uint8_t reverseShift = kSpirvBindShift;
 					const uint8_t stage = regIndex - reverseShift;
 
 					m_bindInfo[stage].m_index = m_numSamplers;
@@ -2837,7 +2829,7 @@ namespace bgfx { namespace webgpu
 
 		if (NULL != _fsh && _fsh->m_size > 0)
 		{
-			bindings[numBindings].binding = _fsh->m_oldBindingModel ? kSpirvOldFragmentBinding : kSpirvFragmentBinding;
+			bindings[numBindings].binding = kSpirvFragmentBinding;
 			bindings[numBindings].visibility = wgpu::ShaderStage::Fragment;
 			bindings[numBindings].buffer.type = wgpu::BufferBindingType::Uniform;
 			bindings[numBindings].buffer.hasDynamicOffset = true;

+ 0 - 2
src/renderer_webgpu.h

@@ -177,8 +177,6 @@ namespace bgfx { namespace webgpu
 		uint8_t                    m_numSamplers = 0;
 		wgpu::BindGroupLayoutEntry m_buffers[BGFX_CONFIG_MAX_TEXTURE_SAMPLERS];
 		uint32_t                   m_numBuffers = 0;
-
-		bool m_oldBindingModel = false;
 	};
 
 	struct PipelineStateWgpu;