@@ -118,7 +118,7 @@ void PipelineStateWebGPUImpl::RemapOrVerifyShaderResources(
118118
119119 // Verify that pipeline layout is compatible with shader resources and
120120 // remap resource bindings.
121- for (auto & ShaderStage : ShaderStages)
121+ for (ShaderStageInfo & ShaderStage : ShaderStages)
122122 {
123123 const ShaderWebGPUImpl* pShader = ShaderStage.pShader ;
124124 std::string& PatchedWGSL = ShaderStage.PatchedWGSL ;
@@ -159,7 +159,7 @@ void PipelineStateWebGPUImpl::RemapOrVerifyShaderResources(
159159 ValidatePipelineResourceCompatibility (ResDesc, ResType, Flags, WGSLAttribs.ArraySize ,
160160 pShader->GetDesc ().Name , SignDesc.Name );
161161
162- const auto & ResAttribs{ResAttribution.pSignature ->GetResourceAttribs (ResAttribution.ResourceIndex )};
162+ const PipelineResourceAttribsWebGPU & ResAttribs{ResAttribution.pSignature ->GetResourceAttribs (ResAttribution.ResourceIndex )};
163163 ResourceBinding = ResAttribs.BindingIndex ;
164164 BindGroup = ResAttribs.BindGroup ;
165165 ArraySize = ResAttribs.ArraySize ;
@@ -223,7 +223,7 @@ void PipelineStateWebGPUImpl::InitPipelineLayout(const PipelineStateCreateInfo&
223223 const PSO_CREATE_INTERNAL_FLAGS InternalFlags = GetInternalCreateFlags (CreateInfo);
224224 if (m_UsingImplicitSignature && (InternalFlags & PSO_CREATE_INTERNAL_FLAG_IMPLICIT_SIGNATURE0) == 0 )
225225 {
226- const auto SignDesc = GetDefaultResourceSignatureDesc (ShaderStages, m_Desc.Name , m_Desc.ResourceLayout , m_Desc.SRBAllocationGranularity );
226+ const PipelineResourceSignatureDescWrapper SignDesc = GetDefaultResourceSignatureDesc (ShaderStages, m_Desc.Name , m_Desc.ResourceLayout , m_Desc.SRBAllocationGranularity );
227227 InitDefaultSignature (SignDesc, GetActiveShaderStages (), false /* bIsDeviceInternal*/ );
228228 VERIFY_EXPR (m_Signatures[0 ]);
229229 }
@@ -279,7 +279,7 @@ struct PipelineStateWebGPUImpl::AsyncPipelineBuilder : public ObjectBase<IObject
279279 ShaderStages{std::move (_ShaderStages)}
280280 {
281281 ShaderRefs.reserve (ShaderStages.size ());
282- for (const auto & ShaderStage : ShaderStages)
282+ for (const ShaderStageInfo & ShaderStage : ShaderStages)
283283 {
284284 ShaderRefs.emplace_back (ShaderStage.pShader );
285285 }
@@ -457,7 +457,8 @@ void PipelineStateWebGPUImpl::InitializeWebGPURenderPipeline(const TShaderStages
457457 std::vector<WGPUColorTargetState> wgpuColorTargetStates (GraphicsPipeline.NumRenderTargets );
458458 std::vector<WGPUBlendState> wgpuBlendStates (GraphicsPipeline.NumRenderTargets );
459459 {
460- const BlendStateDesc& BlendDesc = GraphicsPipeline.BlendDesc ;
460+ const BlendStateDesc& BlendDesc = GraphicsPipeline.BlendDesc ;
461+ const RenderTargetBlendDesc& RT0 = BlendDesc.RenderTargets [0 ];
461462 for (Uint32 RTIndex = 0 ; RTIndex < GraphicsPipeline.NumRenderTargets ; ++RTIndex)
462463 {
463464 const RenderTargetBlendDesc& RT = BlendDesc.RenderTargets [RTIndex];
@@ -467,10 +468,10 @@ void PipelineStateWebGPUImpl::InitializeWebGPURenderPipeline(const TShaderStages
467468 wgpuColorTargetState.format = TextureFormatToWGPUFormat (GraphicsPipeline.RTVFormats [RTIndex]);
468469 wgpuColorTargetState.writeMask = ColorMaskToWGPUColorWriteMask (RT.RenderTargetWriteMask );
469470
470- const bool RTBlendEnable = (BlendDesc. RenderTargets [ 0 ] .BlendEnable && !BlendDesc.IndependentBlendEnable ) || (RT.BlendEnable && BlendDesc.IndependentBlendEnable );
471+ const bool RTBlendEnable = (RT0 .BlendEnable && !BlendDesc.IndependentBlendEnable ) || (RT.BlendEnable && BlendDesc.IndependentBlendEnable );
471472 if (RTBlendEnable)
472473 {
473- const RenderTargetBlendDesc& BlendRT = BlendDesc.IndependentBlendEnable ? RT : BlendDesc. RenderTargets [ 0 ] ;
474+ const RenderTargetBlendDesc& BlendRT = BlendDesc.IndependentBlendEnable ? RT : RT0 ;
474475
475476 WGPUBlendState& wgpuBlendState = wgpuBlendStates[RTIndex];
476477
0 commit comments