从SharedPtr换用更轻量级的AutoDelete

This commit is contained in:
hyzboy 2019-07-05 17:03:28 +08:00
parent 1e8eb7d6bf
commit f6579df9f3
11 changed files with 15 additions and 12 deletions

View File

@ -87,7 +87,7 @@ private:
bool InitPipeline() bool InitPipeline()
{ {
SharedPtr<vulkan::PipelineCreater> AutoDelete<vulkan::PipelineCreater>
pipeline_creater=new vulkan::PipelineCreater(device,material,device->GetMainRenderPass(),device->GetExtent()); pipeline_creater=new vulkan::PipelineCreater(device,material,device->GetMainRenderPass(),device->GetExtent());
pipeline_creater->SetDepthTest(true); pipeline_creater->SetDepthTest(true);
pipeline_creater->SetDepthWrite(true); pipeline_creater->SetDepthWrite(true);

View File

@ -142,7 +142,7 @@ private:
bool InitGBufferPipeline(SubpassParam *sp) bool InitGBufferPipeline(SubpassParam *sp)
{ {
SharedPtr<vulkan::PipelineCreater> pipeline_creater=new vulkan::PipelineCreater(device,sp->material,gbuffer.renderpass,device->GetExtent()); AutoDelete<vulkan::PipelineCreater> pipeline_creater=new vulkan::PipelineCreater(device,sp->material,gbuffer.renderpass,device->GetExtent());
pipeline_creater->SetDepthTest(true); pipeline_creater->SetDepthTest(true);
pipeline_creater->SetDepthWrite(true); pipeline_creater->SetDepthWrite(true);
pipeline_creater->SetCullMode(VK_CULL_MODE_BACK_BIT); pipeline_creater->SetCullMode(VK_CULL_MODE_BACK_BIT);
@ -159,7 +159,7 @@ private:
bool InitCompositionPipeline(SubpassParam *sp) bool InitCompositionPipeline(SubpassParam *sp)
{ {
SharedPtr<vulkan::PipelineCreater> pipeline_creater=new vulkan::PipelineCreater(device,sp->material,device->GetMainRenderPass(),device->GetExtent()); AutoDelete<vulkan::PipelineCreater> pipeline_creater=new vulkan::PipelineCreater(device,sp->material,device->GetMainRenderPass(),device->GetExtent());
pipeline_creater->SetDepthTest(false); pipeline_creater->SetDepthTest(false);
pipeline_creater->SetDepthWrite(false); pipeline_creater->SetDepthWrite(false);
pipeline_creater->SetCullMode(VK_CULL_MODE_NONE); pipeline_creater->SetCullMode(VK_CULL_MODE_NONE);

View File

@ -114,7 +114,7 @@ private:
bool InitPipeline() bool InitPipeline()
{ {
SharedPtr<vulkan::PipelineCreater> AutoDelete<vulkan::PipelineCreater>
pipeline_creater=new vulkan::PipelineCreater(device,material,device->GetMainRenderPass(),device->GetExtent()); pipeline_creater=new vulkan::PipelineCreater(device,material,device->GetMainRenderPass(),device->GetExtent());
pipeline_creater->SetDepthTest(false); pipeline_creater->SetDepthTest(false);
pipeline_creater->SetDepthWrite(false); pipeline_creater->SetDepthWrite(false);

View File

@ -84,7 +84,7 @@ private:
bool InitPipeline() bool InitPipeline()
{ {
SharedPtr<vulkan::PipelineCreater> AutoDelete<vulkan::PipelineCreater>
pipeline_creater=new vulkan::PipelineCreater(device,material,device->GetMainRenderPass(),device->GetExtent()); pipeline_creater=new vulkan::PipelineCreater(device,material,device->GetMainRenderPass(),device->GetExtent());
pipeline_creater->SetDepthTest(true); pipeline_creater->SetDepthTest(true);
pipeline_creater->SetDepthWrite(true); pipeline_creater->SetDepthWrite(true);

View File

@ -137,7 +137,7 @@ private:
bool InitPipeline() bool InitPipeline()
{ {
SharedPtr<vulkan::PipelineCreater> AutoDelete<vulkan::PipelineCreater>
pipeline_creater=new vulkan::PipelineCreater(device,material,device->GetMainRenderPass(),device->GetExtent()); pipeline_creater=new vulkan::PipelineCreater(device,material,device->GetMainRenderPass(),device->GetExtent());
pipeline_creater->SetDepthTest(true); pipeline_creater->SetDepthTest(true);
pipeline_creater->SetDepthWrite(true); pipeline_creater->SetDepthWrite(true);

View File

@ -162,7 +162,7 @@ private:
bool InitPipeline() bool InitPipeline()
{ {
SharedPtr<vulkan::PipelineCreater> AutoDelete<vulkan::PipelineCreater>
pipeline_creater=new vulkan::PipelineCreater(device,material,device->GetMainRenderPass(),device->GetExtent()); pipeline_creater=new vulkan::PipelineCreater(device,material,device->GetMainRenderPass(),device->GetExtent());
pipeline_creater->SetDepthTest(false); pipeline_creater->SetDepthTest(false);
pipeline_creater->SetDepthWrite(false); pipeline_creater->SetDepthWrite(false);

View File

@ -74,7 +74,7 @@ private:
bool InitPipeline() bool InitPipeline()
{ {
SharedPtr<vulkan::PipelineCreater> AutoDelete<vulkan::PipelineCreater>
pipeline_creater=new vulkan::PipelineCreater(device,material,device->GetMainRenderPass(),device->GetExtent()); pipeline_creater=new vulkan::PipelineCreater(device,material,device->GetMainRenderPass(),device->GetExtent());
pipeline_creater->SetDepthTest(true); pipeline_creater->SetDepthTest(true);
pipeline_creater->SetDepthWrite(true); pipeline_creater->SetDepthWrite(true);

View File

@ -103,7 +103,7 @@ private:
bool InitPipeline() bool InitPipeline()
{ {
SharedPtr<vulkan::PipelineCreater> AutoDelete<vulkan::PipelineCreater>
pipeline_creater=new vulkan::PipelineCreater(device,material,device->GetMainRenderPass(),device->GetExtent()); pipeline_creater=new vulkan::PipelineCreater(device,material,device->GetMainRenderPass(),device->GetExtent());
pipeline_creater->SetDepthTest(false); pipeline_creater->SetDepthTest(false);
pipeline_creater->SetDepthWrite(false); pipeline_creater->SetDepthWrite(false);

View File

@ -107,7 +107,7 @@ private:
constexpr os_char PIPELINE_FILENAME[]=OS_TEXT("2DSolid.pipeline"); constexpr os_char PIPELINE_FILENAME[]=OS_TEXT("2DSolid.pipeline");
{ {
SharedPtr<vulkan::PipelineCreater> AutoDelete<vulkan::PipelineCreater>
pipeline_creater=new vulkan::PipelineCreater(device,material,device->GetMainRenderPass(),device->GetExtent()); pipeline_creater=new vulkan::PipelineCreater(device,material,device->GetMainRenderPass(),device->GetExtent());
pipeline_creater->SetDepthTest(false); pipeline_creater->SetDepthTest(false);
pipeline_creater->SetDepthWrite(false); pipeline_creater->SetDepthWrite(false);
@ -121,7 +121,7 @@ private:
void *data; void *data;
uint size=filesystem::LoadFileToMemory(PIPELINE_FILENAME,(void **)&data); uint size=filesystem::LoadFileToMemory(PIPELINE_FILENAME,(void **)&data);
SharedPtr<vulkan::PipelineCreater> pipeline_creater=new vulkan::PipelineCreater(device,material,device->GetMainRenderPass(),device->GetExtent(),(uchar *)data,size); AutoDelete<vulkan::PipelineCreater> pipeline_creater=new vulkan::PipelineCreater(device,material,device->GetMainRenderPass(),device->GetExtent(),(uchar *)data,size);
pipeline=pipeline_creater->Create(); pipeline=pipeline_creater->Create();
} }

View File

@ -148,7 +148,7 @@ private:
bool InitPipeline() bool InitPipeline()
{ {
SharedPtr<vulkan::PipelineCreater> AutoDelete<vulkan::PipelineCreater>
pipeline_creater=new vulkan::PipelineCreater(device,material,device->GetMainRenderPass(),device->GetExtent()); pipeline_creater=new vulkan::PipelineCreater(device,material,device->GetMainRenderPass(),device->GetExtent());
pipeline_creater->SetDepthTest(false); pipeline_creater->SetDepthTest(false);
pipeline_creater->SetDepthWrite(false); pipeline_creater->SetDepthWrite(false);

View File

@ -480,6 +480,9 @@ namespace hgl
T *operator -> (){return obj;} T *operator -> (){return obj;}
operator T *(){return obj;}
operator const T *()const{return obj;}
void Clear() void Clear()
{ {
obj=nullptr; obj=nullptr;