From b4c385c40ce527fb2f17ed56e160aebf3c71a75b Mon Sep 17 00:00:00 2001 From: hyzboy Date: Mon, 26 Oct 2020 16:08:42 +0800 Subject: [PATCH] set ColorAttachments at GPUDevice::CreatePipeline --- CMSceneGraph | 2 +- example/2dVector/line.cpp | 2 +- src/RenderDevice/VKPipeline.cpp | 2 ++ src/RenderDevice/VKRenderResource.cpp | 4 +--- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CMSceneGraph b/CMSceneGraph index 741edeba..4d15db4b 160000 --- a/CMSceneGraph +++ b/CMSceneGraph @@ -1 +1 @@ -Subproject commit 741edebad8108eeee4b256bef0dae3ba0a9fdbcb +Subproject commit 4d15db4b5c42a0fb8fc9d78703ab1e98e90d142d diff --git a/example/2dVector/line.cpp b/example/2dVector/line.cpp index 84fa9ec2..3b5e6178 100644 --- a/example/2dVector/line.cpp +++ b/example/2dVector/line.cpp @@ -53,7 +53,7 @@ private: return(false); // pipeline=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/solid2d")); - pipeline=CreatePipeline(material_instance,OS_TEXT("res/pipeline/alpha2d"),Prim::LineStrip); //等同上一行,为Framework重载,默认使用swapchain的render target + pipeline=CreatePipeline(material_instance,InlinePipeline::Alpha2D,Prim::LineStrip); //等同上一行,为Framework重载,默认使用swapchain的render target if(!pipeline) return(false); diff --git a/src/RenderDevice/VKPipeline.cpp b/src/RenderDevice/VKPipeline.cpp index 9f47ba1e..a72fa376 100644 --- a/src/RenderDevice/VKPipeline.cpp +++ b/src/RenderDevice/VKPipeline.cpp @@ -22,6 +22,8 @@ Pipeline *CreatePipeline(VkDevice device,VkPipelineCache pipeline_cache,Pipeline material->GetVertexAttributeList()); data->InitViewportState(rt->GetExtent()); + + data->SetColorAttachments(rt->GetColorCount()); data->pipeline_info.layout = material->GetPipelineLayout(); diff --git a/src/RenderDevice/VKRenderResource.cpp b/src/RenderDevice/VKRenderResource.cpp index 3a974b49..4fd00c5f 100644 --- a/src/RenderDevice/VKRenderResource.cpp +++ b/src/RenderDevice/VKRenderResource.cpp @@ -77,8 +77,6 @@ Pipeline *RenderResource::CreatePipeline(Material *mtl,RenderTarget *rt,const In pd->Set(prim,prim_restart); - pd->SetColorAttachments(rt->GetColorCount()); - Pipeline *p=device->CreatePipeline(pd,mtl,rt); if(p) @@ -95,7 +93,7 @@ Pipeline *RenderResource::CreatePipeline(MaterialInstance *mi,RenderTarget *rt,c Pipeline *RenderResource::CreatePipeline(Material *mtl,RenderTarget *rt,PipelineData *pd,const Prim &prim,const bool prim_restart) { pd->Set(prim,prim_restart); - + Pipeline *p=device->CreatePipeline(pd,mtl,rt); if(p)