Skip to content

Commit 6055fdf

Browse files
Pipeline State WebGPU: minor updates
1 parent 7a96ef6 commit 6055fdf

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

Graphics/GraphicsEngineWebGPU/src/PipelineStateWebGPUImpl.cpp

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)