upgraded codes based on newly CM... library.

This commit is contained in:
HuYingzhuo(hugo/hyzboy) 2023-02-13 11:48:53 +08:00
parent 8fc83ba9b3
commit 251d851f65
27 changed files with 71 additions and 65 deletions

2
CMCore

@ -1 +1 @@
Subproject commit 48abdf2a894ba87d609f9ea4b3c9464467cec797 Subproject commit 68d0082e0e2dd2ec2d55fe0756aeb0bfb3c2be69

@ -1 +1 @@
Subproject commit eca08f0ae7aeaf81ab5818572b32051e16dd41a7 Subproject commit c91c3780f42df182fdb752b8165ed41a03358949

@ -1 +1 @@
Subproject commit 966025309dba8921bd0ba1c198fbae38620b0aa3 Subproject commit c539ce808b9a8a3acf451c3e26d47881631be954

2
CMUtil

@ -1 +1 @@
Subproject commit 13b5a7347ea6a2b44f728847c2ce131e844f6d7c Subproject commit b0ca13cfb34175fd90c370ded64e8c0f3586b8ec

View File

@ -44,8 +44,8 @@ private:
MaterialInstance * material_instance =nullptr; MaterialInstance * material_instance =nullptr;
Renderable * render_obj =nullptr; Renderable * render_obj =nullptr;
DeviceBuffer * ubo_camera_info =nullptr; DeviceBuffer * ubo_camera_info =nullptr;
DeviceBuffer * ubo_rb_config =nullptr; DeviceBuffer * ubo_rb_config =nullptr;
Pipeline * pipeline =nullptr; Pipeline * pipeline =nullptr;

View File

@ -60,11 +60,14 @@ private:
Primitive *primitive=db->CreatePrimitive(VERTEX_COUNT); Primitive *primitive=db->CreatePrimitive(VERTEX_COUNT);
if(!primitive)return(false); if(!primitive)return(false);
if(!primitive->Set(VAN::Position, db->CreateVBO(VF_V2F,VERTEX_COUNT,position_data )))return(false); if(!primitive->Set(VAN::Position, db->CreateVBO(VF_V2F,VERTEX_COUNT,position_data )))return(false);
if(!primitive->Set(VAN::Color, db->CreateVBO(VF_V4F,VERTEX_COUNT,color_data )))return(false); if(!primitive->Set(VAN::Color, db->CreateVBO(VF_V4F,VERTEX_COUNT,color_data )))return(false);
render_obj=db->CreateRenderable(primitive,material_instance,pipeline); render_obj=db->CreateRenderable(primitive,material_instance,pipeline);
if(!render_obj)
return(false);
render_root.CreateSubNode(render_obj); render_root.CreateSubNode(render_obj);
render_root.RefreshMatrix(); render_root.RefreshMatrix();

View File

@ -23,7 +23,7 @@ namespace hgl
} }
};//struct ShaderStageBind };//struct ShaderStageBind
using ShaderStageBindMap=MapObject<AnsiString,ShaderStageBind>; using ShaderStageBindMap=ObjectMap<AnsiString,ShaderStageBind>;
/** /**
* *

View File

@ -40,7 +40,7 @@ namespace hgl
List<Renderable *> ri_list; List<Renderable *> ri_list;
VkDescriptorSet ds_list[(size_t)DescriptorSetsType::RANGE_SIZE]; VkDescriptorSet ds_list[(size_t)DescriptorSetsType::RANGE_SIZE];
DescriptorSets *renderable_desc_sets; DescriptorSet *renderable_desc_sets;
uint32_t ubo_offset; uint32_t ubo_offset;
uint32_t ubo_align; uint32_t ubo_align;

View File

@ -92,13 +92,13 @@ constexpr char *DescriptSetsTypeName[]=
inline const char *GetDescriptorSetsTypeName(const enum class DescriptorSetsType &type) inline const char *GetDescriptorSetsTypeName(const enum class DescriptorSetsType &type)
{ {
ENUM_CLASS_RANGE_ERROR_RETURN_NULLPTR(type); RANGE_CHECK_RETURN_NULLPTR(type);
return DescriptSetsTypeName[(size_t)type]; return DescriptSetsTypeName[(size_t)type];
} }
struct PipelineLayoutData; struct PipelineLayoutData;
class DescriptorSets; class DescriptorSet;
struct ShaderStage; struct ShaderStage;

View File

@ -105,7 +105,7 @@ public:
return(true); return(true);
} }
bool BindDescriptorSets(DescriptorSets *dsl) bool BindDescriptorSets(DescriptorSet *dsl)
{ {
if(!dsl)return(false); if(!dsl)return(false);
@ -118,7 +118,7 @@ public:
return(true); return(true);
} }
bool BindDescriptorSets(DescriptorSets *dsl,const uint32_t offset) bool BindDescriptorSets(DescriptorSet *dsl,const uint32_t offset)
{ {
if(!dsl)return(false); if(!dsl)return(false);

View File

@ -7,7 +7,7 @@
VK_NAMESPACE_BEGIN VK_NAMESPACE_BEGIN
class DeviceBuffer; class DeviceBuffer;
class DescriptorSets class DescriptorSet
{ {
VkDevice device; VkDevice device;
int binding_count; int binding_count;
@ -27,7 +27,7 @@ private:
friend class GPUDevice; friend class GPUDevice;
DescriptorSets(VkDevice dev,const int bc,VkPipelineLayout pl,VkDescriptorSet ds) DescriptorSet(VkDevice dev,const int bc,VkPipelineLayout pl,VkDescriptorSet ds)
{ {
device =dev; device =dev;
binding_count =bc; binding_count =bc;
@ -39,7 +39,7 @@ private:
public: public:
~DescriptorSets()=default; ~DescriptorSet()=default;
const uint32_t GetCount ()const{return binding_count;} const uint32_t GetCount ()const{return binding_count;}
const VkDescriptorSet GetDescriptorSet ()const{return desc_set;} const VkDescriptorSet GetDescriptorSet ()const{return desc_set;}
@ -57,6 +57,6 @@ public:
bool BindSampler(const int binding,Texture *,Sampler *); bool BindSampler(const int binding,Texture *,Sampler *);
bool BindInputAttachment(const int binding,ImageView *); bool BindInputAttachment(const int binding,ImageView *);
void Update(); void Update();
};//class DescriptorSets };//class DescriptorSet
VK_NAMESPACE_END VK_NAMESPACE_END
#endif//HGL_GRAPH_VULKAN_DESCRIPTOR_SETS_LAYOUT_INCLUDE #endif//HGL_GRAPH_VULKAN_DESCRIPTOR_SETS_LAYOUT_INCLUDE

View File

@ -120,11 +120,11 @@ private: //Buffer相关
public: //Buffer相关 public: //Buffer相关
DeviceBuffer * CreateBuffer(VkBufferUsageFlags buf_usage,VkDeviceSize range,VkDeviceSize size,const void *data, SharingMode sm=SharingMode::Exclusive); DeviceBuffer * CreateBuffer(VkBufferUsageFlags buf_usage,VkDeviceSize range,VkDeviceSize size,const void *data, SharingMode sm=SharingMode::Exclusive);
DeviceBuffer * CreateBuffer(VkBufferUsageFlags buf_usage,VkDeviceSize range,VkDeviceSize size, SharingMode sm=SharingMode::Exclusive){return CreateBuffer(buf_usage,range,size,nullptr,sm);} DeviceBuffer * CreateBuffer(VkBufferUsageFlags buf_usage,VkDeviceSize range,VkDeviceSize size, SharingMode sm=SharingMode::Exclusive){return CreateBuffer(buf_usage,range,size,nullptr,sm);}
DeviceBuffer * CreateBuffer(VkBufferUsageFlags buf_usage, VkDeviceSize size,const void *data, SharingMode sm=SharingMode::Exclusive){return CreateBuffer(buf_usage,size,size,data,sm);} DeviceBuffer * CreateBuffer(VkBufferUsageFlags buf_usage, VkDeviceSize size,const void *data, SharingMode sm=SharingMode::Exclusive){return CreateBuffer(buf_usage,size,size,data,sm);}
DeviceBuffer * CreateBuffer(VkBufferUsageFlags buf_usage, VkDeviceSize size, SharingMode sm=SharingMode::Exclusive){return CreateBuffer(buf_usage,size,size,nullptr,sm);} DeviceBuffer * CreateBuffer(VkBufferUsageFlags buf_usage, VkDeviceSize size, SharingMode sm=SharingMode::Exclusive){return CreateBuffer(buf_usage,size,size,nullptr,sm);}
VBO * CreateVBO (VkFormat format, uint32_t count,const void *data, SharingMode sm=SharingMode::Exclusive); VBO * CreateVBO (VkFormat format, uint32_t count,const void *data, SharingMode sm=SharingMode::Exclusive);
VBO * CreateVBO (VkFormat format, uint32_t count, SharingMode sm=SharingMode::Exclusive){return CreateVBO(format,count,nullptr,sm);} VBO * CreateVBO (VkFormat format, uint32_t count, SharingMode sm=SharingMode::Exclusive){return CreateVBO(format,count,nullptr,sm);}
@ -219,7 +219,7 @@ public: //shader & material
PipelineLayoutData *CreatePipelineLayoutData(const MaterialDescriptorSets *); PipelineLayoutData *CreatePipelineLayoutData(const MaterialDescriptorSets *);
void Destroy(PipelineLayoutData *); void Destroy(PipelineLayoutData *);
DescriptorSets * CreateDescriptorSets(const PipelineLayoutData *,const DescriptorSetsType &type)const; DescriptorSet * CreateDescriptorSets(const PipelineLayoutData *,const DescriptorSetsType &type)const;
MaterialParameters *CreateMP(const MaterialDescriptorSets *,const PipelineLayoutData *,const DescriptorSetsType &); MaterialParameters *CreateMP(const MaterialDescriptorSets *,const PipelineLayoutData *,const DescriptorSetsType &);
MaterialParameters *CreateMP(Material *,const DescriptorSetsType &); MaterialParameters *CreateMP(Material *,const DescriptorSetsType &);
@ -238,7 +238,7 @@ public: //Command Buffer 相关
public: public:
RenderPass * AcquireRenderPass( const RenderbufferInfo *,const uint subpass_count=2); RenderPass * AcquireRenderPass( const RenderbufferInfo *,const uint subpass_count=2);
Fence * CreateFence(bool); Fence * CreateFence(bool);
Semaphore * CreateGPUSemaphore(); Semaphore * CreateGPUSemaphore();

View File

@ -11,18 +11,18 @@ class MaterialParameters
DescriptorSetsType ds_type; DescriptorSetsType ds_type;
DescriptorSets *descriptor_sets; DescriptorSet *descriptor_sets;
private: private:
friend class GPUDevice; friend class GPUDevice;
MaterialParameters(const MaterialDescriptorSets *,const DescriptorSetsType &type,DescriptorSets *); MaterialParameters(const MaterialDescriptorSets *,const DescriptorSetsType &type,DescriptorSet *);
public: public:
const DescriptorSetsType GetType (){return ds_type;} const DescriptorSetsType GetType (){return ds_type;}
DescriptorSets * GetDescriptorSet (){return descriptor_sets;} DescriptorSet * GetDescriptorSet (){return descriptor_sets;}
const VkDescriptorSet GetVkDescriptorSet ()const{return descriptor_sets->GetDescriptorSet();} const VkDescriptorSet GetVkDescriptorSet ()const{return descriptor_sets->GetDescriptorSet();}
const uint32_t GetCount ()const{return descriptor_sets->GetCount();} const uint32_t GetCount ()const{return descriptor_sets->GetCount();}

View File

@ -18,7 +18,7 @@ VK_NAMESPACE_BEGIN
using MaterialID =int; using MaterialID =int;
using MaterialInstanceID =int; using MaterialInstanceID =int;
using BufferID =int; using BufferID =int;
using DescriptorSetsID =int; using DescriptorSetID =int;
using PrimitiveID =int; using PrimitiveID =int;
using RenderableID =int; using RenderableID =int;
using SamplerID =int; using SamplerID =int;
@ -33,13 +33,13 @@ class RenderResource
{ {
GPUDevice *device; GPUDevice *device;
MapObject<OSString,ShaderModule> shader_module_by_name; ObjectMap<OSString,ShaderModule> shader_module_by_name;
Map<OSString,Material *> material_by_name; Map<OSString,Material *> material_by_name;
Map<OSString,Texture *> texture_by_name; Map<OSString,Texture *> texture_by_name;
IDResManage<MaterialID, Material> rm_material; ///<材质合集 IDResManage<MaterialID, Material> rm_material; ///<材质合集
IDResManage<MaterialInstanceID, MaterialInstance> rm_material_instance; ///<材质实例合集 IDResManage<MaterialInstanceID, MaterialInstance> rm_material_instance; ///<材质实例合集
IDResManage<DescriptorSetsID, DescriptorSets> rm_desc_sets; ///<描述符合集 IDResManage<DescriptorSetID, DescriptorSet> rm_desc_sets; ///<描述符合集
IDResManage<PrimitiveID, Primitive> rm_primitives; ///<图元合集 IDResManage<PrimitiveID, Primitive> rm_primitives; ///<图元合集
IDResManage<BufferID, DeviceBuffer> rm_buffers; ///<顶点缓冲区合集 IDResManage<BufferID, DeviceBuffer> rm_buffers; ///<顶点缓冲区合集
IDResManage<SamplerID, Sampler> rm_samplers; ///<采样器合集 IDResManage<SamplerID, Sampler> rm_samplers; ///<采样器合集
@ -55,9 +55,9 @@ public: //Add
MaterialID Add(Material * mtl ){return rm_material.Add(mtl);} MaterialID Add(Material * mtl ){return rm_material.Add(mtl);}
MaterialInstanceID Add(MaterialInstance * mi ){return rm_material_instance.Add(mi);} MaterialInstanceID Add(MaterialInstance * mi ){return rm_material_instance.Add(mi);}
DescriptorSetsID Add(DescriptorSets * ds ){return rm_desc_sets.Add(ds);} DescriptorSetID Add(DescriptorSet * ds ){return rm_desc_sets.Add(ds);}
PrimitiveID Add(Primitive * p ){return rm_primitives.Add(p);} PrimitiveID Add(Primitive * p ){return rm_primitives.Add(p);}
BufferID Add(DeviceBuffer * buf ){return rm_buffers.Add(buf);} BufferID Add(DeviceBuffer * buf ){return rm_buffers.Add(buf);}
SamplerID Add(Sampler * s ){return rm_samplers.Add(s);} SamplerID Add(Sampler * s ){return rm_samplers.Add(s);}
TextureID Add(Texture * t ){return rm_textures.Add(t);} TextureID Add(Texture * t ){return rm_textures.Add(t);}
RenderableID Add(Renderable * r ){return rm_renderables.Add(r);} RenderableID Add(Renderable * r ){return rm_renderables.Add(r);}
@ -109,9 +109,9 @@ public: //Get
Material * GetMaterial (const MaterialID &id){return rm_material.Get(id);} Material * GetMaterial (const MaterialID &id){return rm_material.Get(id);}
MaterialInstance * GetMaterialInstance (const MaterialInstanceID &id){return rm_material_instance.Get(id);} MaterialInstance * GetMaterialInstance (const MaterialInstanceID &id){return rm_material_instance.Get(id);}
DescriptorSets * GetDescSets (const DescriptorSetsID &id){return rm_desc_sets.Get(id);} DescriptorSet * GetDescSets (const DescriptorSetID &id){return rm_desc_sets.Get(id);}
Primitive * GetPrimitive (const PrimitiveID &id){return rm_primitives.Get(id);} Primitive * GetPrimitive (const PrimitiveID &id){return rm_primitives.Get(id);}
DeviceBuffer * GetBuffer (const BufferID &id){return rm_buffers.Get(id);} DeviceBuffer * GetBuffer (const BufferID &id){return rm_buffers.Get(id);}
Sampler * GetSampler (const SamplerID &id){return rm_samplers.Get(id);} Sampler * GetSampler (const SamplerID &id){return rm_samplers.Get(id);}
Texture * GetTexture (const TextureID &id){return rm_textures.Get(id);} Texture * GetTexture (const TextureID &id){return rm_textures.Get(id);}
Renderable * GetRenderable (const RenderableID &id){return rm_renderables.Get(id);} Renderable * GetRenderable (const RenderableID &id){return rm_renderables.Get(id);}

View File

@ -16,7 +16,7 @@ struct ShaderStage
VertexAttribType type; ///<成份数量(如vec4中的4) VertexAttribType type; ///<成份数量(如vec4中的4)
bool global; ///<是否全局数据 bool global; ///<是否全局数据
bool dynamic; ///<是否动态数 bool dynamic; ///<是否动态数
};//struct ShaderStage };//struct ShaderStage
using ShaderStageList =ObjectList<ShaderStage>; using ShaderStageList =ObjectList<ShaderStage>;
@ -29,7 +29,7 @@ class ShaderResource
uint32 spv_size; uint32 spv_size;
ShaderStageList stage_inputs; ShaderStageList stage_inputs;
ShaderStageList stage_outputs; // ShaderStageList stage_outputs;
public: public:
@ -43,10 +43,10 @@ public:
const uint32_t GetCodeSize ()const {return spv_size;} const uint32_t GetCodeSize ()const {return spv_size;}
ShaderStageList & GetStageInputs () {return stage_inputs;} ShaderStageList & GetStageInputs () {return stage_inputs;}
ShaderStageList & GetStageOutputs () {return stage_outputs;} // ShaderStageList & GetStageOutputs () {return stage_outputs;}
const uint GetStageInputCount ()const {return stage_inputs.GetCount();} const uint GetStageInputCount ()const {return stage_inputs.GetCount();}
const uint GetStageOutputCount ()const {return stage_outputs.GetCount();} // const uint GetStageOutputCount ()const {return stage_outputs.GetCount();}
const ShaderStage * GetStageInput (const AnsiString &)const; const ShaderStage * GetStageInput (const AnsiString &)const;
const int GetStageInputBinding(const AnsiString &)const; const int GetStageInputBinding(const AnsiString &)const;

View File

@ -14,9 +14,9 @@ namespace hgl
*/ */
class FontManage class FontManage
{ {
MapObject<Font,FontSource> sources; ObjectMap<Font,FontSource> sources;
MapObject<FontConfig,TileFont> tilefonts; ObjectMap<FontConfig,TileFont> tilefonts;
};//class FontManage };//class FontManage
}//namespace graph }//namespace graph
}//namespace hgl }//namespace hgl

View File

@ -73,7 +73,7 @@ namespace hgl
SortedSets<void *> ref_object; SortedSets<void *> ref_object;
MapObject<u32char,CLA> cla_cache; ObjectMap<u32char,CLA> cla_cache;
public: public:
@ -98,7 +98,7 @@ namespace hgl
Font fnt; Font fnt;
MapObject<u32char,FontBitmap> chars_bitmap; ///<字符位图 ObjectMap<u32char,FontBitmap> chars_bitmap; ///<字符位图
protected: protected:

View File

@ -21,7 +21,7 @@ namespace hgl
GPUDevice *device; GPUDevice *device;
MapObject<Form *,ThemeForm> form_list; ObjectMap<Form *,ThemeForm> form_list;
RenderTarget *CreateRenderTarget(const uint32_t,const uint32_t,const VkFormat); RenderTarget *CreateRenderTarget(const uint32_t,const uint32_t,const VkFormat);

View File

@ -321,7 +321,7 @@ namespace hgl
if(cci->color_type!=CubeCreateInfo::ColorType::NoColor) if(cci->color_type!=CubeCreateInfo::ColorType::NoColor)
{ {
ENUM_CLASS_RANGE_ERROR_RETURN_NULLPTR(cci->color_type); RANGE_CHECK_RETURN_NULLPTR(cci->color_type);
AutoDelete<VB4f> color=rc.CreateVADA<VB4f>(VAN::Color); AutoDelete<VB4f> color=rc.CreateVADA<VB4f>(VAN::Color);
@ -1203,7 +1203,7 @@ namespace hgl
if(cci->color_type!=BoundingBoxCreateInfo::ColorType::NoColor) if(cci->color_type!=BoundingBoxCreateInfo::ColorType::NoColor)
{ {
ENUM_CLASS_RANGE_ERROR_RETURN_NULLPTR(cci->color_type); RANGE_CHECK_RETURN_NULLPTR(cci->color_type);
AutoDelete<VB4f> color=rc.CreateVADA<VB4f>(VAN::Color); AutoDelete<VB4f> color=rc.CreateVADA<VB4f>(VAN::Color);

View File

@ -67,7 +67,7 @@ namespace
};//struct DescriptorImageInfo:public VkDescriptorImageInfo };//struct DescriptorImageInfo:public VkDescriptorImageInfo
}//namespace }//namespace
void DescriptorSets::Clear() void DescriptorSet::Clear()
{ {
buffer_list.ClearData(); buffer_list.ClearData();
image_list.ClearData(); image_list.ClearData();
@ -76,7 +76,7 @@ void DescriptorSets::Clear()
is_dirty=true; is_dirty=true;
} }
bool DescriptorSets::BindUBO(const int binding,const DeviceBuffer *buf,bool dynamic) bool DescriptorSet::BindUBO(const int binding,const DeviceBuffer *buf,bool dynamic)
{ {
if(binding<0||!buf) if(binding<0||!buf)
return(false); return(false);
@ -92,7 +92,7 @@ bool DescriptorSets::BindUBO(const int binding,const DeviceBuffer *buf,bool dyna
return(true); return(true);
} }
bool DescriptorSets::BindUBO(const int binding,const DeviceBuffer *buf,const VkDeviceSize offset,const VkDeviceSize range,bool dynamic) bool DescriptorSet::BindUBO(const int binding,const DeviceBuffer *buf,const VkDeviceSize offset,const VkDeviceSize range,bool dynamic)
{ {
if(binding<0||!buf) if(binding<0||!buf)
return(false); return(false);
@ -112,7 +112,7 @@ bool DescriptorSets::BindUBO(const int binding,const DeviceBuffer *buf,const VkD
return(true); return(true);
} }
bool DescriptorSets::BindSSBO(const int binding,const DeviceBuffer *buf,bool dynamic) bool DescriptorSet::BindSSBO(const int binding,const DeviceBuffer *buf,bool dynamic)
{ {
if(binding<0||!buf) if(binding<0||!buf)
return(false); return(false);
@ -128,7 +128,7 @@ bool DescriptorSets::BindSSBO(const int binding,const DeviceBuffer *buf,bool dyn
return(true); return(true);
} }
bool DescriptorSets::BindSSBO(const int binding,const DeviceBuffer *buf,const VkDeviceSize offset,const VkDeviceSize range,bool dynamic) bool DescriptorSet::BindSSBO(const int binding,const DeviceBuffer *buf,const VkDeviceSize offset,const VkDeviceSize range,bool dynamic)
{ {
if(binding<0||!buf) if(binding<0||!buf)
return(false); return(false);
@ -148,7 +148,7 @@ bool DescriptorSets::BindSSBO(const int binding,const DeviceBuffer *buf,const Vk
return(true); return(true);
} }
bool DescriptorSets::BindSampler(const int binding,Texture *tex,Sampler *sampler) bool DescriptorSet::BindSampler(const int binding,Texture *tex,Sampler *sampler)
{ {
if(binding<0||!tex||!sampler) if(binding<0||!tex||!sampler)
return(false); return(false);
@ -166,7 +166,7 @@ bool DescriptorSets::BindSampler(const int binding,Texture *tex,Sampler *sampler
return(true); return(true);
} }
bool DescriptorSets::BindInputAttachment(const int binding,ImageView *iv) bool DescriptorSet::BindInputAttachment(const int binding,ImageView *iv)
{ {
if(binding<0||!iv) if(binding<0||!iv)
return(false); return(false);
@ -184,7 +184,7 @@ bool DescriptorSets::BindInputAttachment(const int binding,ImageView *iv)
return(true); return(true);
} }
void DescriptorSets::Update() void DescriptorSet::Update()
{ {
if(!is_dirty)return; if(!is_dirty)return;

View File

@ -32,8 +32,11 @@ namespace
VK_EXT_DEBUG_MARKER_EXTENSION_NAME, VK_EXT_DEBUG_MARKER_EXTENSION_NAME,
#endif//_DEBUG #endif//_DEBUG
// VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME, // VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME,
// VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME,
// VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME,
// VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME,
VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME, VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME,
VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME, // VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME,
// VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME, // VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME,
// VK_EXT_HDR_METADATA_EXTENSION_NAME, // VK_EXT_HDR_METADATA_EXTENSION_NAME,
// VK_EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME, // VK_EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME,

View File

@ -8,9 +8,9 @@
#include"VKPipelineLayoutData.h" #include"VKPipelineLayoutData.h"
VK_NAMESPACE_BEGIN VK_NAMESPACE_BEGIN
DescriptorSets *GPUDevice::CreateDescriptorSets(const PipelineLayoutData *pld,const DescriptorSetsType &type)const DescriptorSet *GPUDevice::CreateDescriptorSets(const PipelineLayoutData *pld,const DescriptorSetsType &type)const
{ {
ENUM_CLASS_RANGE_ERROR_RETURN_NULLPTR(type); RANGE_CHECK_RETURN_NULLPTR(type);
const uint32_t binding_count=pld->binding_count[size_t(type)]; const uint32_t binding_count=pld->binding_count[size_t(type)];
@ -28,7 +28,7 @@ DescriptorSets *GPUDevice::CreateDescriptorSets(const PipelineLayoutData *pld,co
if(vkAllocateDescriptorSets(attr->device,&alloc_info,&desc_set)!=VK_SUCCESS) if(vkAllocateDescriptorSets(attr->device,&alloc_info,&desc_set)!=VK_SUCCESS)
return(nullptr); return(nullptr);
return(new DescriptorSets(attr->device,binding_count,pld->pipeline_layout,desc_set)); return(new DescriptorSet(attr->device,binding_count,pld->pipeline_layout,desc_set));
} }
MaterialParameters *GPUDevice::CreateMP(const MaterialDescriptorSets *mds,const PipelineLayoutData *pld,const DescriptorSetsType &desc_set_type) MaterialParameters *GPUDevice::CreateMP(const MaterialDescriptorSets *mds,const PipelineLayoutData *pld,const DescriptorSetsType &desc_set_type)
@ -37,7 +37,7 @@ MaterialParameters *GPUDevice::CreateMP(const MaterialDescriptorSets *mds,const
if(!RangeCheck<DescriptorSetsType>(desc_set_type)) if(!RangeCheck<DescriptorSetsType>(desc_set_type))
return(nullptr); return(nullptr);
DescriptorSets *ds=CreateDescriptorSets(pld,desc_set_type); DescriptorSet *ds=CreateDescriptorSets(pld,desc_set_type);
if(!ds)return(nullptr); if(!ds)return(nullptr);

View File

@ -4,7 +4,7 @@
#include<hgl/graph/VKDescriptorSets.h> #include<hgl/graph/VKDescriptorSets.h>
VK_NAMESPACE_BEGIN VK_NAMESPACE_BEGIN
MaterialParameters::MaterialParameters(const MaterialDescriptorSets *_mds,const DescriptorSetsType &type,DescriptorSets *ds) MaterialParameters::MaterialParameters(const MaterialDescriptorSets *_mds,const DescriptorSetsType &type,DescriptorSet *ds)
{ {
mds=_mds; mds=_mds;
ds_type=type; ds_type=type;

View File

@ -40,7 +40,7 @@ PipelineLayoutData *GPUDevice::CreatePipelineLayoutData(const MaterialDescriptor
} }
else else
{ {
//没有任何DescriptorSets的情况也是存在的 //没有任何DescriptorSet的情况也是存在的
} }
//VkPushConstantRange push_constant_range; //VkPushConstantRange push_constant_range;

View File

@ -21,7 +21,7 @@ VK_NAMESPACE_BEGIN
namespace namespace
{ {
MapObject<OSString,ShaderResource> shader_resource_by_filename; ObjectMap<OSString,ShaderResource> shader_resource_by_filename;
const uint8 *LoadShaderStages(ShaderStageList &ss_list,const uint8 *data) const uint8 *LoadShaderStages(ShaderStageList &ss_list,const uint8 *data)
{ {
@ -138,7 +138,7 @@ VK_NAMESPACE_BEGIN
filedata+=spv_size; filedata+=spv_size;
filedata=LoadShaderStages(sr->GetStageInputs(),filedata); filedata=LoadShaderStages(sr->GetStageInputs(),filedata);
filedata=LoadShaderStages(sr->GetStageOutputs(),filedata); //filedata=LoadShaderStages(sr->GetStageOutputs(),filedata);
return sr; return sr;
} }

View File

@ -32,7 +32,7 @@ namespace hgl
constexpr int CurrencySymbolsCount=(sizeof(CurrencySymbols)/sizeof(u32char))-1; constexpr int CurrencySymbolsCount=(sizeof(CurrencySymbols)/sizeof(u32char))-1;
constexpr int VRotateSymbolsCount =(sizeof(VRotateSymbols) /sizeof(u32char))-1; constexpr int VRotateSymbolsCount =(sizeof(VRotateSymbols) /sizeof(u32char))-1;
MapObject<u32char,CharAttributes> all_char_attrs; ObjectMap<u32char,CharAttributes> all_char_attrs;
}//namespace }//namespace
const CLA *FontSource::GetCLA(const u32char &ch) const CLA *FontSource::GetCLA(const u32char &ch)

View File

@ -5,7 +5,7 @@ namespace hgl
{ {
FontSource *CreateFontSource(const Font &f); //各平台独立提供 FontSource *CreateFontSource(const Font &f); //各平台独立提供
static MapObject<Font,FontSource> FontStorage; static ObjectMap<Font,FontSource> FontStorage;
FontSource *AcquireFontSource(const Font &f) FontSource *AcquireFontSource(const Font &f)
{ {