a lot of rename

This commit is contained in:
hyzboy 2020-10-21 12:09:15 +08:00
parent 6dae81ac93
commit a20afeba9e
70 changed files with 249 additions and 249 deletions

View File

@ -37,9 +37,9 @@ private:
vulkan::MaterialInstance * material_instance =nullptr;
vulkan::RenderableInstance *render_instance =nullptr;
vulkan::Buffer * ubo_world_matrix =nullptr;
vulkan::Buffer * ubo_color_material =nullptr;
vulkan::Buffer * ubo_line_config =nullptr;
vulkan::GPUBuffer * ubo_world_matrix =nullptr;
vulkan::GPUBuffer * ubo_color_material =nullptr;
vulkan::GPUBuffer * ubo_line_config =nullptr;
vulkan::Pipeline * pipeline =nullptr;
@ -61,9 +61,9 @@ private:
return(true);
}
vulkan::Buffer *CreateUBO(const AnsiString &name,const VkDeviceSize size,void *data)
vulkan::GPUBuffer *CreateUBO(const AnsiString &name,const VkDeviceSize size,void *data)
{
vulkan::Buffer *ubo=db->CreateUBO(size,data);
vulkan::GPUBuffer *ubo=db->CreateUBO(size,data);
if(!ubo)
return(nullptr);

View File

@ -40,7 +40,7 @@ private:
vulkan::MaterialInstance * material_instance =nullptr;
vulkan::Pipeline * pipeline_solid =nullptr;
vulkan::Buffer * ubo_atomsphere =nullptr;
vulkan::GPUBuffer * ubo_atomsphere =nullptr;
AtmosphereData atomsphere_data;
vulkan::Renderable * ro_sphere =nullptr;

View File

@ -16,7 +16,7 @@ using namespace hgl;
using namespace hgl::graph;
VK_NAMESPACE_BEGIN
Texture2D *CreateTextureFromFile(Device *device,const OSString &filename);
Texture2D *CreateTextureFromFile(RenderDevice *device,const OSString &filename);
VK_NAMESPACE_END
constexpr uint32_t SCREEN_WIDTH=512;

View File

@ -28,8 +28,8 @@ private:
vulkan::Sampler * sampler =nullptr;
vulkan::MaterialInstance * material_instance =nullptr;
vulkan::Buffer * ubo_world_matrix =nullptr;
vulkan::Buffer * ubo_color =nullptr;
vulkan::GPUBuffer * ubo_world_matrix =nullptr;
vulkan::GPUBuffer * ubo_color =nullptr;
vulkan::Pipeline * pipeline =nullptr;

View File

@ -42,7 +42,7 @@ private:
vulkan::MaterialInstance * material_instance =nullptr;
vulkan::Renderable * render_obj =nullptr;
vulkan::RenderableInstance *render_instance =nullptr;
vulkan::Buffer * ubo_world_matrix =nullptr;
vulkan::GPUBuffer * ubo_world_matrix =nullptr;
vulkan::Pipeline * pipeline =nullptr;

View File

@ -28,7 +28,7 @@ private:
vulkan::MaterialInstance * material_instance =nullptr;
vulkan::RenderableInstance *renderable_instance =nullptr;
vulkan::Buffer * ubo_world_matrix =nullptr;
vulkan::GPUBuffer * ubo_world_matrix =nullptr;
vulkan::Pipeline * pipeline =nullptr;

View File

@ -35,8 +35,8 @@ private:
*ro_circle =nullptr,
*ro_round_rectangle =nullptr;
vulkan::Buffer * ubo_world_matrix =nullptr;
vulkan::Buffer * ubo_color_material =nullptr;
vulkan::GPUBuffer * ubo_world_matrix =nullptr;
vulkan::GPUBuffer * ubo_color_material =nullptr;
vulkan::Pipeline * pipeline =nullptr;
@ -92,9 +92,9 @@ private:
}
}
vulkan::Buffer *CreateUBO(const AnsiString &name,const VkDeviceSize size,void *data)
vulkan::GPUBuffer *CreateUBO(const AnsiString &name,const VkDeviceSize size,void *data)
{
vulkan::Buffer *ubo=db->CreateUBO(size,data);
vulkan::GPUBuffer *ubo=db->CreateUBO(size,data);
if(!ubo)
return(nullptr);

View File

@ -16,7 +16,7 @@ class TestApp:public CameraAppFramework
{
Color4f color;
vulkan::Buffer *ubo_color=nullptr;
vulkan::GPUBuffer *ubo_color=nullptr;
private:

View File

@ -10,7 +10,7 @@ using namespace hgl;
using namespace hgl::graph;
VK_NAMESPACE_BEGIN
Texture2D *CreateTextureFromFile(Device *device,const OSString &filename);
Texture2D *CreateTextureFromFile(RenderDevice *device,const OSString &filename);
VK_NAMESPACE_END
constexpr uint32_t SCREEN_SIZE=512;

View File

@ -30,7 +30,7 @@ private:
vulkan::Pipeline * pipeline_line =nullptr;
vulkan::Pipeline * pipeline_solid =nullptr;
vulkan::Buffer * ubo_color =nullptr;
vulkan::GPUBuffer * ubo_color =nullptr;
vulkan::Renderable *ro_plane_grid,
*ro_cube,

View File

@ -16,7 +16,7 @@ class TestApp:public CameraAppFramework
Camera cam;
vulkan::MaterialInstance * material_instance =nullptr;
vulkan::Buffer * ubo_world_matrix =nullptr;
vulkan::GPUBuffer * ubo_world_matrix =nullptr;
};
struct:public RenderObject

View File

@ -10,7 +10,7 @@ using namespace hgl;
using namespace hgl::graph;
VK_NAMESPACE_BEGIN
Texture2D *CreateTextureFromFile(Device *device,const OSString &filename);
Texture2D *CreateTextureFromFile(RenderDevice *device,const OSString &filename);
VK_NAMESPACE_END
constexpr uint32_t SCREEN_SIZE=512;
@ -41,7 +41,7 @@ private:
vulkan::MaterialInstance * material_instance =nullptr;
vulkan::Renderable * render_obj =nullptr;
vulkan::RenderableInstance *render_instance =nullptr;
vulkan::Buffer * ubo_world_matrix =nullptr;
vulkan::GPUBuffer * ubo_world_matrix =nullptr;
vulkan::Pipeline * pipeline =nullptr;

View File

@ -63,8 +63,8 @@ int main(int,char **)
{
Window * win =nullptr;
vulkan::Instance * inst =nullptr;
vulkan::Device * device =nullptr;
const vulkan::PhysicalDevice *physical_device =nullptr;
vulkan::RenderDevice * device =nullptr;
const vulkan::PhysicalRenderDevice *physical_device =nullptr;
inst=InitVulkanInstance();

View File

@ -34,7 +34,7 @@ private:
vulkan::MaterialInstance * material_instance =nullptr;
vulkan::RenderableInstance *render_instance =nullptr;
vulkan::Buffer * ubo_world_matrix =nullptr;
vulkan::GPUBuffer * ubo_world_matrix =nullptr;
vulkan::Pipeline * pipeline =nullptr;

View File

@ -38,7 +38,7 @@ private:
vulkan::MaterialInstance * material_instance =nullptr;
vulkan::RenderableInstance *renderable_instance =nullptr;
vulkan::Buffer * ubo_world_matrix =nullptr;
vulkan::GPUBuffer * ubo_world_matrix =nullptr;
vulkan::Pipeline * pipeline =nullptr;

View File

@ -11,7 +11,7 @@ using namespace hgl;
using namespace hgl::graph;
VK_NAMESPACE_BEGIN
Texture2D *CreateTextureFromFile(Device *device,const OSString &filename);
Texture2D *CreateTextureFromFile(RenderDevice *device,const OSString &filename);
VK_NAMESPACE_END
constexpr uint32_t SCREEN_WIDTH=256;
@ -53,7 +53,7 @@ private:
vulkan::Sampler * sampler =nullptr;
vulkan::MaterialInstance * material_instance =nullptr;
vulkan::RenderableInstance *renderable_instance =nullptr;
vulkan::Buffer * ubo_world_matrix =nullptr;
vulkan::GPUBuffer * ubo_world_matrix =nullptr;
vulkan::Pipeline * pipeline =nullptr;
private:

View File

@ -46,7 +46,7 @@ protected:
protected:
vulkan::Device * device =nullptr;
vulkan::RenderDevice * device =nullptr;
vulkan::SwapchainRenderTarget * sc_render_target =nullptr;
protected:
@ -332,7 +332,7 @@ class CameraAppFramework:public VulkanApplicationFramework
{
private:
vulkan::Buffer * ubo_world_matrix =nullptr;
vulkan::GPUBuffer * ubo_world_matrix =nullptr;
protected:
@ -375,7 +375,7 @@ public:
camera.height=h;
}
vulkan::Buffer *GetCameraMatrixBuffer()
vulkan::GPUBuffer *GetCameraMatrixBuffer()
{
return ubo_world_matrix;
}

View File

@ -33,7 +33,7 @@ namespace hgl
*/
class TileData ///Tile纹理管理
{
Device *device;
RenderDevice *device;
protected:
@ -48,7 +48,7 @@ namespace hgl
protected:
vulkan::Buffer *tile_buffer; ///<Tile暂存缓冲区
vulkan::GPUBuffer *tile_buffer; ///<Tile暂存缓冲区
List<ImageRegion> commit_list;
uint8 *commit_ptr;
@ -67,7 +67,7 @@ namespace hgl
public:
TileData(Device *,Texture2D *,const uint tw,const uint th);
TileData(RenderDevice *,Texture2D *,const uint tw,const uint th);
virtual ~TileData();
void BeginCommit();

View File

@ -14,9 +14,9 @@ VK_NAMESPACE_BEGIN
using CharPointerList=hgl::List<const char *>;
class Instance;
class PhysicalDevice;
class Device;
struct DeviceAttribute;
class PhysicalRenderDevice;
class RenderDevice;
struct RenderDeviceAttribute;
class ImageView;
class Framebuffer;
struct Swapchain;
@ -34,8 +34,8 @@ class TextureCubemapArray;
class Sampler;
class Memory;
class Buffer;
class GPUMemory;
class GPUBuffer;
struct BufferData;
class VertexAttribBuffer;
@ -45,7 +45,7 @@ class IndexBuffer;
class CommandBuffer;
class RenderPass;
class Fence;
class GPUFence;
class GPUSemaphore;
class DescriptorSetLayoutCreater;

View File

@ -7,11 +7,11 @@ VK_NAMESPACE_BEGIN
struct BufferData
{
VkBuffer buffer;
Memory * memory=nullptr;
GPUMemory * memory=nullptr;
VkDescriptorBufferInfo info;
};//struct BufferData
class Buffer
class GPUBuffer
{
protected:
@ -20,11 +20,11 @@ protected:
private:
friend class Device;
friend class RenderDevice;
friend class VertexAttribBuffer;
friend class IndexBuffer;
Buffer(VkDevice d,const BufferData &b)
GPUBuffer(VkDevice d,const BufferData &b)
{
device=d;
buf=b;
@ -32,10 +32,10 @@ private:
public:
virtual ~Buffer();
virtual ~GPUBuffer();
VkBuffer GetBuffer (){return buf.buffer;}
Memory * GetMemory (){return buf.memory;}
GPUMemory * GetMemory (){return buf.memory;}
const VkDescriptorBufferInfo * GetBufferInfo()const{return &buf.info;}
void * Map () {return buf.memory->Map();}
@ -45,9 +45,9 @@ public:
bool Write (const void *ptr,uint32_t start,uint32_t size) {return buf.memory->Write(ptr,start,size);}
bool Write (const void *ptr,uint32_t size) {return buf.memory->Write(ptr,0,size);}
bool Write (const void *ptr) {return buf.memory->Write(ptr);}
};//class Buffer
};//class GPUBuffer
class VertexAttribBuffer:public Buffer
class VertexAttribBuffer:public GPUBuffer
{
VkFormat format; ///<数据格式
uint32_t stride; ///<单个数据字节数
@ -55,9 +55,9 @@ class VertexAttribBuffer:public Buffer
private:
friend class Device;
friend class RenderDevice;
VertexAttribBuffer(VkDevice d,const BufferData &vb,VkFormat fmt,uint32_t _stride,uint32_t _count):Buffer(d,vb)
VertexAttribBuffer(VkDevice d,const BufferData &vb,VkFormat fmt,uint32_t _stride,uint32_t _count):GPUBuffer(d,vb)
{
format=fmt;
stride=_stride;
@ -74,22 +74,22 @@ public:
void *Map(VkDeviceSize start=0,VkDeviceSize size=0) override
{
return Buffer::Map(start*stride,size*stride);
return GPUBuffer::Map(start*stride,size*stride);
}
};//class VertexAttribBuffer:public Buffer
};//class VertexAttribBuffer:public GPUBuffer
using VAB=VertexAttribBuffer;
class IndexBuffer:public Buffer
class IndexBuffer:public GPUBuffer
{
IndexType index_type;
uint32_t count;
private:
friend class Device;
friend class RenderDevice;
IndexBuffer(VkDevice d,const BufferData &vb,IndexType it,uint32_t _count):Buffer(d,vb)
IndexBuffer(VkDevice d,const BufferData &vb,IndexType it,uint32_t _count):GPUBuffer(d,vb)
{
index_type=it;
count=_count;
@ -101,6 +101,6 @@ public:
const IndexType GetType ()const{return index_type;}
const uint32 GetCount()const{return count;}
};//class IndexBuffer:public Buffer
};//class IndexBuffer:public GPUBuffer
VK_NAMESPACE_END
#endif//HGL_GRAPH_VULKAN_BUFFER_INCLUDE

View File

@ -31,7 +31,7 @@ class VertexAttribData;
*/
class Database
{
Device *device;
RenderDevice *device;
MapObject<OSString,ShaderModule> shader_module_by_name;
Map<OSString,Material *> material_by_name;
@ -41,14 +41,14 @@ class Database
IDResManage<PipelineID, Pipeline> rm_pipeline; ///<管线合集
IDResManage<DescriptorSetsID, DescriptorSets> rm_desc_sets; ///<描述符合集
IDResManage<RenderableID, Renderable> rm_renderables; ///<可渲染对象合集
IDResManage<BufferID, Buffer> rm_buffers; ///<顶点缓冲区合集
IDResManage<BufferID, GPUBuffer> rm_buffers; ///<顶点缓冲区合集
IDResManage<SamplerID, Sampler> rm_samplers; ///<采样器合集
IDResManage<TextureID, Texture> rm_textures; ///<纹理合集
IDResManage<RenderableInstanceID, RenderableInstance> rm_renderable_instances; ///<渲染实例集合集
public:
Database(Device *dev):device(dev){}
Database(RenderDevice *dev):device(dev){}
virtual ~Database()=default;
public: //Add
@ -58,7 +58,7 @@ public: //Add
PipelineID Add(Pipeline * p ){return rm_pipeline.Add(p);}
DescriptorSetsID Add(DescriptorSets * ds ){return rm_desc_sets.Add(ds);}
RenderableID Add(Renderable * r ){return rm_renderables.Add(r);}
BufferID Add(Buffer * buf ){return rm_buffers.Add(buf);}
BufferID Add(GPUBuffer * buf ){return rm_buffers.Add(buf);}
SamplerID Add(Sampler * s ){return rm_samplers.Add(s);}
TextureID Add(Texture * t ){return rm_textures.Add(t);}
RenderableInstanceID Add(RenderableInstance *ri ){return rm_renderable_instances.Add(ri);}
@ -69,8 +69,8 @@ public: // VBO/VAO
VAB *CreateVAB(VkFormat format,uint32_t count,SharingMode sm=SharingMode::Exclusive){return CreateVAB(format,count,nullptr,sm);}
VAB *CreateVAB(const VAD *vad,SharingMode sm=SharingMode::Exclusive){return CreateVAB(vad->GetVulkanFormat(),vad->GetCount(),vad->GetData(),sm);}
#define SCENE_DB_CREATE_FUNC(name) Buffer *Create##name(VkDeviceSize size,void *data,SharingMode sm=SharingMode::Exclusive); \
Buffer *Create##name(VkDeviceSize size,SharingMode sm=SharingMode::Exclusive);
#define SCENE_DB_CREATE_FUNC(name) GPUBuffer *Create##name(VkDeviceSize size,void *data,SharingMode sm=SharingMode::Exclusive); \
GPUBuffer *Create##name(VkDeviceSize size,SharingMode sm=SharingMode::Exclusive);
SCENE_DB_CREATE_FUNC(UBO)
SCENE_DB_CREATE_FUNC(SSBO)
@ -119,7 +119,7 @@ public: //Get
Pipeline * GetPipeline (const PipelineID &id){return rm_pipeline.Get(id);}
DescriptorSets * GetDescSets (const DescriptorSetsID &id){return rm_desc_sets.Get(id);}
Renderable * GetRenderable (const RenderableID &id){return rm_renderables.Get(id);}
Buffer * GetBuffer (const BufferID &id){return rm_buffers.Get(id);}
GPUBuffer * GetBuffer (const BufferID &id){return rm_buffers.Get(id);}
Sampler * GetSampler (const SamplerID &id){return rm_samplers.Get(id);}
Texture * GetTexture (const TextureID &id){return rm_textures.Get(id);}
RenderableInstance *GetRenderableInstance (const RenderableInstanceID &id){return rm_renderable_instances.Get(id);}

View File

@ -4,7 +4,7 @@
#include<hgl/graph/VK.h>
#include<hgl/type/Map.h>
VK_NAMESPACE_BEGIN
class Buffer;
class GPUBuffer;
class DescriptorSets
{
@ -39,8 +39,8 @@ public:
const VkPipelineLayout GetPipelineLayout ()const{return pipeline_layout;}
void Clear();
bool BindUBO(const int binding,const Buffer *);
bool BindUBODynamic(const int binding,const Buffer *);
bool BindUBO(const int binding,const GPUBuffer *);
bool BindUBODynamic(const int binding,const GPUBuffer *);
bool BindSampler(const int binding,Texture *,Sampler *);
void Update();
};//class DescriptorSets

View File

@ -26,9 +26,9 @@ namespace hgl
}//namespace hgl
VK_NAMESPACE_BEGIN
class Device
class RenderDevice
{
DeviceAttribute *attr;
RenderDeviceAttribute *attr;
SubmitQueue *textureSQ;
CommandBuffer *texture_cmd_buf;
@ -43,20 +43,20 @@ class Device
private:
friend Device *CreateRenderDevice(VkInstance inst,const PhysicalDevice *physical_device,VkSurfaceKHR surface,const VkExtent2D &extent);
friend RenderDevice *CreateRenderDevice(VkInstance inst,const PhysicalRenderDevice *physical_device,VkSurfaceKHR surface,const VkExtent2D &extent);
Device(DeviceAttribute *da);
RenderDevice(RenderDeviceAttribute *da);
public:
virtual ~Device();
virtual ~RenderDevice();
operator VkDevice () {return attr->device;}
DeviceAttribute * GetDeviceAttribute () {return attr;}
RenderDeviceAttribute * GetRenderDeviceAttribute () {return attr;}
VkSurfaceKHR GetSurface () {return attr->surface;}
VkDevice GetDevice ()const {return attr->device;}
const PhysicalDevice * GetPhysicalDevice ()const {return attr->physical_device;}
const PhysicalRenderDevice * GetPhysicalRenderDevice ()const {return attr->physical_device;}
VkDescriptorPool GetDescriptorPool () {return attr->desc_pool;}
VkPipelineCache GetPipelineCache () {return attr->pipeline_cache;}
@ -82,8 +82,8 @@ public:
public: //内存相关
Memory *CreateMemory(const VkMemoryRequirements &,const uint32_t properties);
Memory *CreateMemory(VkImage,const uint32 flag=VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT);
GPUMemory *CreateMemory(const VkMemoryRequirements &,const uint32_t properties);
GPUMemory *CreateMemory(VkImage,const uint32 flag=VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT);
private: //Buffer相关
@ -91,8 +91,8 @@ private: //Buffer相关
public: //Buffer相关
Buffer * CreateBuffer(VkBufferUsageFlags buf_usage,VkDeviceSize size,const void *data, SharingMode sharing_mode=SharingMode::Exclusive);
Buffer * CreateBuffer(VkBufferUsageFlags buf_usage,VkDeviceSize size, SharingMode sharing_mode=SharingMode::Exclusive){return CreateBuffer(buf_usage,size,nullptr,sharing_mode);}
GPUBuffer * CreateBuffer(VkBufferUsageFlags buf_usage,VkDeviceSize size,const void *data, SharingMode sharing_mode=SharingMode::Exclusive);
GPUBuffer * CreateBuffer(VkBufferUsageFlags buf_usage,VkDeviceSize size, SharingMode sharing_mode=SharingMode::Exclusive){return CreateBuffer(buf_usage,size,nullptr,sharing_mode);}
VAB * CreateVAB (VkFormat format,uint32_t count,const void *data, SharingMode sharing_mode=SharingMode::Exclusive);
VAB * CreateVAB (VkFormat format,uint32_t count, SharingMode sharing_mode=SharingMode::Exclusive){return CreateVAB(format,count,nullptr,sharing_mode);}
@ -106,8 +106,8 @@ public: //Buffer相关
IndexBuffer * CreateIBO16 ( uint32_t count,SharingMode sharing_mode=SharingMode::Exclusive){return CreateIBO(IndexType::U16,count,nullptr,sharing_mode);}
IndexBuffer * CreateIBO32 ( uint32_t count,SharingMode sharing_mode=SharingMode::Exclusive){return CreateIBO(IndexType::U32,count,nullptr,sharing_mode);}
#define CREATE_BUFFER_OBJECT(LargeName,type) Buffer *Create##LargeName(VkDeviceSize size,void *data,SharingMode sharing_mode=SharingMode::Exclusive){return CreateBuffer(VK_BUFFER_USAGE_##type##_BUFFER_BIT,size,data,sharing_mode);} \
Buffer *Create##LargeName(VkDeviceSize size,SharingMode sharing_mode=SharingMode::Exclusive){return CreateBuffer(VK_BUFFER_USAGE_##type##_BUFFER_BIT,size,nullptr,sharing_mode);}
#define CREATE_BUFFER_OBJECT(LargeName,type) GPUBuffer *Create##LargeName(VkDeviceSize size,void *data,SharingMode sharing_mode=SharingMode::Exclusive){return CreateBuffer(VK_BUFFER_USAGE_##type##_BUFFER_BIT,size,data,sharing_mode);} \
GPUBuffer *Create##LargeName(VkDeviceSize size,SharingMode sharing_mode=SharingMode::Exclusive){return CreateBuffer(VK_BUFFER_USAGE_##type##_BUFFER_BIT,size,nullptr,sharing_mode);}
CREATE_BUFFER_OBJECT(UBO,UNIFORM)
CREATE_BUFFER_OBJECT(SSBO,STORAGE)
@ -131,7 +131,7 @@ public: //Texture
void Clear(TextureCreateInfo *);
Texture2D *CreateTexture2D(Memory *mem,VkImage image,ImageView *image_view,VkImageLayout image_layout,ImageTiling tiling);
Texture2D *CreateTexture2D(GPUMemory *mem,VkImage image,ImageView *image_view,VkImageLayout image_layout,ImageTiling tiling);
Texture2D *CreateTexture2D(VkFormat format,uint32_t width,uint32_t height,VkImageAspectFlags aspectMask,VkImage image,VkImageLayout image_layout,ImageTiling tiling=ImageTiling::Optimal);
Texture2D *CreateTexture2D(const VkFormat format,uint32_t width,uint32_t height,const VkImageAspectFlags aspectMask,const uint usage,const VkImageLayout image_layout,ImageTiling tiling=ImageTiling::Optimal);
@ -183,7 +183,7 @@ public: //Texture
VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL);
}
Texture2D *CreateTexture2D( const VkFormat video_format,Buffer *buf,uint32_t width,uint32_t height,
Texture2D *CreateTexture2D( const VkFormat video_format,GPUBuffer *buf,uint32_t width,uint32_t height,
const VkImageAspectFlags aspectMask =VK_IMAGE_ASPECT_COLOR_BIT,
const uint usage =VK_IMAGE_USAGE_TRANSFER_DST_BIT|VK_IMAGE_USAGE_SAMPLED_BIT,
const VkImageLayout image_layout=VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL,
@ -195,14 +195,14 @@ public: //Texture
const VkImageLayout image_layout=VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL,
const ImageTiling tiling =ImageTiling::Optimal);
bool ChangeTexture2D(Texture2D *,Buffer *buf,const VkBufferImageCopy *,const int count);
bool ChangeTexture2D(Texture2D *,Buffer *buf,const List<ImageRegion> &);
bool ChangeTexture2D(Texture2D *,GPUBuffer *buf,const VkBufferImageCopy *,const int count);
bool ChangeTexture2D(Texture2D *,GPUBuffer *buf,const List<ImageRegion> &);
bool ChangeTexture2D(Texture2D *,Buffer *buf,uint32_t left,uint32_t top,uint32_t width,uint32_t height);
bool ChangeTexture2D(Texture2D *,GPUBuffer *buf,uint32_t left,uint32_t top,uint32_t width,uint32_t height);
bool ChangeTexture2D(Texture2D *,void *data,uint32_t left,uint32_t top,uint32_t width,uint32_t height,uint32_t size);
template<typename T>
bool ChangeTexture2D(Texture2D *tex,Buffer *buf,const RectScope2<T> &rs)
bool ChangeTexture2D(Texture2D *tex,GPUBuffer *buf,const RectScope2<T> &rs)
{
return ChangeTexture2D( tex,
buf,
@ -238,7 +238,7 @@ public: //shader & material
Material *CreateMaterial(const VertexShaderModule *vertex_shader_module,const ShaderModule *fragment_shader_module);
Material *CreateMaterial(const VertexShaderModule *vertex_shader_module,const ShaderModule *geometry_shader_module,const ShaderModule *fragment_shader_module);
public: //Command Buffer 相关
public: //Command GPUBuffer 相关
CommandBuffer * CreateCommandBuffer(const VkExtent2D &extent,const uint32_t atta_count);
@ -260,7 +260,7 @@ public: //Command Buffer 相关
const VkImageLayout color_final_layout=VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL,
const VkImageLayout depth_final_layout=VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL);
Fence * CreateFence(bool);
GPUFence * CreateFence(bool);
vulkan::GPUSemaphore * CreateSemaphore();
public: //FrameBuffer相关
@ -312,7 +312,7 @@ public:
TileData *CreateTileData(const VkFormat video_format,const uint width,const uint height,const uint count); ///<创建一个Tile数据集
TileFont *CreateTileFont(FontSource *fs,int limit_count=-1); ///<创建一个Tile字体
};//class Device
};//class RenderDevice
//void CreateSubpassDependency(VkSubpassDependency *);
void CreateSubpassDependency(List<VkSubpassDependency> &dependency,const uint32_t count);
@ -333,6 +333,6 @@ bool CreateAttachmentDescription( List<VkAttachmentDescription> &color_outp
const VkImageLayout color_final_layout=VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL,
const VkImageLayout depth_final_layout=VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL);
Device *CreateRenderDevice(Instance *inst,Window *win,const PhysicalDevice *physical_device=nullptr);
RenderDevice *CreateRenderDevice(Instance *inst,Window *win,const PhysicalRenderDevice *physical_device=nullptr);
VK_NAMESPACE_END
#endif//HGL_GRAPH_RENDER_SURFACE_INCLUDE

View File

@ -6,10 +6,10 @@ VK_NAMESPACE_BEGIN
constexpr uint32_t ERROR_FAMILY_INDEX=UINT32_MAX;
struct DeviceAttribute
struct RenderDeviceAttribute
{
VkInstance instance =VK_NULL_HANDLE;
const PhysicalDevice * physical_device =nullptr;
const PhysicalRenderDevice * physical_device =nullptr;
VkSurfaceKHR surface =VK_NULL_HANDLE;
VkSurfaceCapabilitiesKHR surface_caps;
@ -39,11 +39,11 @@ struct DeviceAttribute
public:
DeviceAttribute(VkInstance inst,const PhysicalDevice *pd,VkSurfaceKHR s);
~DeviceAttribute();
RenderDeviceAttribute(VkInstance inst,const PhysicalRenderDevice *pd,VkSurfaceKHR s);
~RenderDeviceAttribute();
bool CheckMemoryType(uint32_t typeBits,VkMemoryPropertyFlags properties,uint32_t *typeIndex) const;
void Refresh();
};//class DeviceAttribute
};//class RenderDeviceAttribute
VK_NAMESPACE_END

View File

@ -3,16 +3,16 @@
#include<hgl/graph/VK.h>
VK_NAMESPACE_BEGIN
class Fence
class GPUFence
{
VkDevice device;
VkFence fence;
private:
friend class Device;
friend class RenderDevice;
Fence(VkDevice d,VkFence f)
GPUFence(VkDevice d,VkFence f)
{
device=d;
fence=f;
@ -20,9 +20,9 @@ private:
public:
~Fence();
~GPUFence();
operator VkFence(){return fence;}
};//class Fence
};//class GPUFence
VK_NAMESPACE_END
#endif//HGL_VULKAN_GRAPH_FENCE_INCLUDE

View File

@ -16,7 +16,7 @@ class Framebuffer
private:
friend class Device;
friend class RenderDevice;
Framebuffer(VkDevice,VkFramebuffer,const VkExtent2D &,VkRenderPass,uint32_t color_count,bool depth);

View File

@ -55,7 +55,7 @@ VK_NAMESPACE_BEGIN
VKDebugOut *debug_out;
ObjectList<PhysicalDevice> physical_devices;
ObjectList<PhysicalRenderDevice> physical_devices;
private:
@ -69,8 +69,8 @@ VK_NAMESPACE_BEGIN
operator VkInstance (){return inst;}
const ObjectList<PhysicalDevice> &GetDeviceList ()const {return physical_devices;}
const PhysicalDevice * GetDevice (VkPhysicalDeviceType)const;
const ObjectList<PhysicalRenderDevice> &GetDeviceList ()const {return physical_devices;}
const PhysicalRenderDevice * GetDevice (VkPhysicalDeviceType)const;
};//class Instance
void InitVulkanProperties();

View File

@ -25,7 +25,7 @@ public:
~MaterialInstance();
bool BindUBO(const AnsiString &name,vulkan::Buffer *ubo);
bool BindUBO(const AnsiString &name,vulkan::GPUBuffer *ubo);
bool BindSampler(const AnsiString &name,Texture *tex,Sampler *sampler);
void Update();

View File

@ -3,7 +3,7 @@
#include<hgl/graph/VK.h>
VK_NAMESPACE_BEGIN
class Memory
class GPUMemory
{
VkDevice device;
VkDeviceMemory memory;
@ -13,9 +13,9 @@ class Memory
private:
friend class Device;
friend class RenderDevice;
Memory(VkDevice dev,VkDeviceMemory dm,const VkMemoryRequirements &mr,const uint32 i,const uint32_t p)
GPUMemory(VkDevice dev,VkDeviceMemory dm,const VkMemoryRequirements &mr,const uint32 i,const uint32_t p)
{
device=dev;
memory=dm;
@ -26,7 +26,7 @@ private:
public:
virtual ~Memory();
virtual ~GPUMemory();
operator VkDeviceMemory(){return memory;}
@ -48,6 +48,6 @@ public:
bool BindBuffer (VkBuffer buffer);
bool BindImage (VkImage image);
};//class Memory
};//class GPUMemory
VK_NAMESPACE_END
#endif//HGL_GRAPH_VULKAN_MEMORY_INCLUDE

View File

@ -5,7 +5,7 @@
#include<hgl/type/Sets.h>
VK_NAMESPACE_BEGIN
class PhysicalDevice
class PhysicalRenderDevice
{
VkInstance instance=nullptr;
VkPhysicalDevice physical_device=nullptr;
@ -18,8 +18,8 @@ class PhysicalDevice
public:
PhysicalDevice(VkInstance,VkPhysicalDevice);
~PhysicalDevice()=default;
PhysicalRenderDevice(VkInstance,VkPhysicalDevice);
~PhysicalRenderDevice()=default;
operator VkPhysicalDevice(){return physical_device;}
operator const VkPhysicalDevice()const{return physical_device;}
@ -119,5 +119,5 @@ public:
min_width =properties.limits.lineWidthRange[0];
max_width =properties.limits.lineWidthRange[1];
}
};//class PhysicalDevice
};//class PhysicalRenderDevice
VK_NAMESPACE_END

View File

@ -18,7 +18,7 @@ class RenderPass
private:
friend class Device;
friend class RenderDevice;
RenderPass(VkDevice d,VkRenderPass rp,const List<VkFormat> &cf,VkFormat df)
{

View File

@ -30,10 +30,10 @@ protected:
protected:
friend class Device;
friend class RenderDevice;
RenderTarget(Device *dev,Framebuffer *_fb,CommandBuffer *_cb,const uint32_t fence_count=1);
RenderTarget(Device *dev,RenderPass *_rp,Framebuffer *_fb,CommandBuffer *_cb,Texture2D **color_texture_list,const uint32_t color_count,Texture2D *depth_texture,const uint32_t fence_count=1);
RenderTarget(RenderDevice *dev,Framebuffer *_fb,CommandBuffer *_cb,const uint32_t fence_count=1);
RenderTarget(RenderDevice *dev,RenderPass *_rp,Framebuffer *_fb,CommandBuffer *_cb,Texture2D **color_texture_list,const uint32_t color_count,Texture2D *depth_texture,const uint32_t fence_count=1);
public:
@ -72,7 +72,7 @@ class SwapchainRenderTarget:public RenderTarget
public:
SwapchainRenderTarget(Device *dev,Swapchain *sc);
SwapchainRenderTarget(RenderDevice *dev,Swapchain *sc);
~SwapchainRenderTarget();
const VkRenderPass GetRenderPass ()const override {return *main_rp;}

View File

@ -12,7 +12,7 @@ class Sampler
protected:
friend class Device;
friend class RenderDevice;
Sampler(VkDevice dev,VkSampler s)
{

View File

@ -10,7 +10,7 @@ class GPUSemaphore
private:
friend class Device;
friend class RenderDevice;
GPUSemaphore(VkDevice d,VkSemaphore s)
{

View File

@ -8,17 +8,17 @@ class SubmitQueue
{
protected:
Device *device;
RenderDevice *device;
VkQueue queue;
uint32_t current_fence;
ObjectList<Fence> fence_list;
ObjectList<GPUFence> fence_list;
SubmitInfo submit_info;
public:
SubmitQueue(Device *dev,VkQueue q,const uint32_t fence_count=1);
SubmitQueue(RenderDevice *dev,VkQueue q,const uint32_t fence_count=1);
virtual ~SubmitQueue();
bool WaitQueue();

View File

@ -12,7 +12,7 @@ BitmapData *LoadBitmapFromFile(const OSString &filename);
struct TextureData
{
Memory * memory =nullptr;
GPUMemory * memory =nullptr;
VkImage image =VK_NULL_HANDLE;
VkImageLayout image_layout=VK_IMAGE_LAYOUT_UNDEFINED;
ImageView * image_view =nullptr;
@ -29,7 +29,7 @@ struct TextureCreateInfo
ImageTiling tiling;
VkImage image;
Memory * memory;
GPUMemory * memory;
ImageView * image_view;
VkImageLayout image_layout;
@ -57,7 +57,7 @@ public:
VkImageLayout GetImageLayout () {return data?data->image_layout:VK_IMAGE_LAYOUT_UNDEFINED;}
VkImageView GetVulkanImageView () {return data?data->image_view->operator VkImageView():VK_NULL_HANDLE;}
Memory * GetMemory () {return data?data->memory:nullptr;}
GPUMemory * GetMemory () {return data?data->memory:nullptr;}
ImageView * GetImageView () {return data?data->image_view:nullptr;}
const uint32 GetMipLevels ()const {return data?data->mip_levels:0;}

View File

@ -11,7 +11,7 @@ namespace hgl
*/
class TextRenderable:public vulkan::Renderable
{
vulkan::Device * device;
vulkan::RenderDevice * device;
vulkan::Material * mtl;
uint max_count; ///<缓冲区最大容量
@ -21,7 +21,7 @@ namespace hgl
public:
TextRenderable(vulkan::Device *,vulkan::Material *,uint mc=1024);
TextRenderable(vulkan::RenderDevice *,vulkan::Material *,uint mc=1024);
virtual ~TextRenderable();
public:

View File

@ -10,20 +10,20 @@ namespace hgl
{
namespace vulkan
{
class Device;
class RenderDevice;
}//namespace vulkan
class ThemeEngine
{
protected:
vulkan::Device *device;
vulkan::RenderDevice *device;
MapObject<Form *,ThemeForm> form_list;
public:
ThemeEngine(vulkan::Device *dev){device=dev;}
ThemeEngine(vulkan::RenderDevice *dev){device=dev;}
virtual ~ThemeEngine()=default;
virtual bool Init()=0;

View File

@ -4,7 +4,7 @@ namespace hgl
{
namespace gui
{
ThemeEngine *CreateDefaultThemeEngine(vulkan::Device *dev)
ThemeEngine *CreateDefaultThemeEngine(vulkan::RenderDevice *dev)
{
return(new default_theme::DefaultThemeEngine(dev));
}

View File

@ -29,7 +29,7 @@ namespace hgl
public:
DefaultThemeEngine(vulkan::Device *dev):ThemeEngine(dev){}
DefaultThemeEngine(vulkan::RenderDevice *dev):ThemeEngine(dev){}
virtual ~DefaultThemeEngine() override;
bool Init() override;

View File

@ -10,9 +10,9 @@ namespace hgl
ThemeEngine *default_theme_engine=nullptr;
}//namespace
ThemeEngine *CreateDefaultThemeEngine(vulkan::Device *dev);
ThemeEngine *CreateDefaultThemeEngine(vulkan::RenderDevice *dev);
ThemeEngine *GetDefaultThemeEngine(vulkan::Device *dev)
ThemeEngine *GetDefaultThemeEngine(vulkan::RenderDevice *dev)
{
if(!default_theme_engine)
default_theme_engine=CreateDefaultThemeEngine(dev);
@ -20,7 +20,7 @@ namespace hgl
return default_theme_engine;
}
ThemeEngine *CreateThemeEngine(vulkan::Device *dev)
ThemeEngine *CreateThemeEngine(vulkan::RenderDevice *dev)
{
return GetDefaultThemeEngine();
}

View File

@ -1,7 +1,7 @@
#include<hgl/graph/VKBuffer.h>
VK_NAMESPACE_BEGIN
Buffer::~Buffer()
GPUBuffer::~GPUBuffer()
{
if(buf.memory)delete buf.memory;
vkDestroyBuffer(device,buf.buffer,nullptr);

View File

@ -16,18 +16,18 @@ VAB *Database::CreateVAB(VkFormat format,uint32_t count,const void *data,Sharing
return vb;
}
#define SCENE_DB_CREATE_BUFFER(name) Buffer *Database::Create##name(VkDeviceSize size,void *data,SharingMode sharing_mode) \
#define SCENE_DB_CREATE_BUFFER(name) GPUBuffer *Database::Create##name(VkDeviceSize size,void *data,SharingMode sharing_mode) \
{ \
Buffer *buf=device->Create##name(size,data,sharing_mode); \
GPUBuffer *buf=device->Create##name(size,data,sharing_mode); \
\
if(!buf)return(nullptr); \
rm_buffers.Add(buf); \
return(buf); \
} \
\
Buffer *Database::Create##name(VkDeviceSize size,SharingMode sharing_mode) \
GPUBuffer *Database::Create##name(VkDeviceSize size,SharingMode sharing_mode) \
{ \
Buffer *buf=device->Create##name(size,sharing_mode); \
GPUBuffer *buf=device->Create##name(size,sharing_mode); \
\
if(!buf)return(nullptr); \
rm_buffers.Add(buf); \

View File

@ -3,7 +3,7 @@
#include<hgl/graph/VKDevice.h>
VK_NAMESPACE_BEGIN
DescriptorSetLayoutCreater *Device::CreateDescriptorSetLayoutCreater()
DescriptorSetLayoutCreater *RenderDevice::CreateDescriptorSetLayoutCreater()
{
return(new DescriptorSetLayoutCreater(attr->device,attr->desc_pool));
}

View File

@ -11,7 +11,7 @@ void DescriptorSets::Clear()
desc_image_info.ClearData();
}
bool DescriptorSets::BindUBO(const int binding,const Buffer *buf)
bool DescriptorSets::BindUBO(const int binding,const GPUBuffer *buf)
{
if(binding<0||!buf)
return(false);
@ -31,7 +31,7 @@ bool DescriptorSets::BindUBO(const int binding,const Buffer *buf)
return(true);
}
bool DescriptorSets::BindUBODynamic(const int binding,const Buffer *buf)
bool DescriptorSets::BindUBODynamic(const int binding,const GPUBuffer *buf)
{
if(binding<0||!buf)
return(false);

View File

@ -11,7 +11,7 @@
#include<hgl/graph/VKDescriptorSets.h>
VK_NAMESPACE_BEGIN
Device::Device(DeviceAttribute *da)
RenderDevice::RenderDevice(RenderDeviceAttribute *da)
{
attr=da;
@ -23,7 +23,7 @@ Device::Device(DeviceAttribute *da)
Resize(attr->surface_caps.currentExtent);
}
Device::~Device()
RenderDevice::~RenderDevice()
{
SAFE_CLEAR(swapchainRT);
SAFE_CLEAR(swapchain);
@ -34,7 +34,7 @@ Device::~Device()
delete attr;
}
bool Device::Resize(const VkExtent2D &extent)
bool RenderDevice::Resize(const VkExtent2D &extent)
{
SAFE_CLEAR(swapchainRT);
SAFE_CLEAR(swapchain);
@ -55,7 +55,7 @@ bool Device::Resize(const VkExtent2D &extent)
return(true);
}
CommandBuffer *Device::CreateCommandBuffer(const VkExtent2D &extent,const uint32_t atta_count)
CommandBuffer *RenderDevice::CreateCommandBuffer(const VkExtent2D &extent,const uint32_t atta_count)
{
if(!attr->cmd_pool)
return(nullptr);
@ -80,7 +80,7 @@ CommandBuffer *Device::CreateCommandBuffer(const VkExtent2D &extent,const uint32
*
* @param create_signaled
*/
Fence *Device::CreateFence(bool create_signaled)
GPUFence *RenderDevice::CreateFence(bool create_signaled)
{
FenceCreateInfo fenceInfo(create_signaled?VK_FENCE_CREATE_SIGNALED_BIT:0);
@ -89,10 +89,10 @@ Fence *Device::CreateFence(bool create_signaled)
if(vkCreateFence(attr->device, &fenceInfo, nullptr, &fence)!=VK_SUCCESS)
return(nullptr);
return(new Fence(attr->device,fence));
return(new GPUFence(attr->device,fence));
}
vulkan::GPUSemaphore *Device::CreateSemaphore()
vulkan::GPUSemaphore *RenderDevice::CreateSemaphore()
{
SemaphoreCreateInfo SemaphoreCreateInfo;

View File

@ -5,7 +5,7 @@
#include<iostream>
VK_NAMESPACE_BEGIN
DeviceAttribute::DeviceAttribute(VkInstance inst,const PhysicalDevice *pd,VkSurfaceKHR s)
RenderDeviceAttribute::RenderDeviceAttribute(VkInstance inst,const PhysicalRenderDevice *pd,VkSurfaceKHR s)
{
instance=inst;
physical_device=pd;
@ -14,7 +14,7 @@ DeviceAttribute::DeviceAttribute(VkInstance inst,const PhysicalDevice *pd,VkSurf
Refresh();
}
DeviceAttribute::~DeviceAttribute()
RenderDeviceAttribute::~RenderDeviceAttribute()
{
if(pipeline_cache)
vkDestroyPipelineCache(device,pipeline_cache,nullptr);
@ -32,12 +32,12 @@ DeviceAttribute::~DeviceAttribute()
vkDestroySurfaceKHR(instance,surface,nullptr);
}
bool DeviceAttribute::CheckMemoryType(uint32_t typeBits,VkMemoryPropertyFlags properties,uint32_t *typeIndex) const
bool RenderDeviceAttribute::CheckMemoryType(uint32_t typeBits,VkMemoryPropertyFlags properties,uint32_t *typeIndex) const
{
return physical_device->CheckMemoryType(typeBits,properties,typeIndex);
}
void DeviceAttribute::Refresh()
void RenderDeviceAttribute::Refresh()
{
VkPhysicalDevice pdevice = *physical_device;

View File

@ -2,7 +2,7 @@
#include<hgl/graph/VKBuffer.h>
VK_NAMESPACE_BEGIN
bool Device::CreateBuffer(BufferData *buf,VkBufferUsageFlags buf_usage,VkDeviceSize size,const void *data,SharingMode sharing_mode)
bool RenderDevice::CreateBuffer(BufferData *buf,VkBufferUsageFlags buf_usage,VkDeviceSize size,const void *data,SharingMode sharing_mode)
{
BufferCreateInfo buf_info;
@ -19,7 +19,7 @@ bool Device::CreateBuffer(BufferData *buf,VkBufferUsageFlags buf_usage,VkDeviceS
vkGetBufferMemoryRequirements(attr->device,buf->buffer,&mem_reqs);
Memory *dm=CreateMemory(mem_reqs,VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT|VK_MEMORY_PROPERTY_HOST_COHERENT_BIT);
GPUMemory *dm=CreateMemory(mem_reqs,VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT|VK_MEMORY_PROPERTY_HOST_COHERENT_BIT);
if(dm&&dm->BindBuffer(buf->buffer))
{
@ -42,13 +42,13 @@ bool Device::CreateBuffer(BufferData *buf,VkBufferUsageFlags buf_usage,VkDeviceS
return(false);
}
VAB *Device::CreateVAB(VkFormat format,uint32_t count,const void *data,SharingMode sharing_mode)
VAB *RenderDevice::CreateVAB(VkFormat format,uint32_t count,const void *data,SharingMode sharing_mode)
{
const uint32_t stride=GetStrideByFormat(format);
if(stride==0)
{
std::cerr<<"format["<<format<<"] stride length is 0,please use \"Device::CreateBuffer(VkBufferUsageFlags,VkDeviceSize,VkSharingMode)\" function.";
std::cerr<<"format["<<format<<"] stride length is 0,please use \"RenderDevice::CreateBuffer(VkBufferUsageFlags,VkDeviceSize,VkSharingMode)\" function.";
return(nullptr);
}
@ -62,7 +62,7 @@ VAB *Device::CreateVAB(VkFormat format,uint32_t count,const void *data,SharingMo
return(new VertexAttribBuffer(attr->device,buf,format,stride,count));
}
IndexBuffer *Device::CreateIBO(IndexType index_type,uint32_t count,const void *data,SharingMode sharing_mode)
IndexBuffer *RenderDevice::CreateIBO(IndexType index_type,uint32_t count,const void *data,SharingMode sharing_mode)
{
uint32_t stride;
@ -80,13 +80,13 @@ IndexBuffer *Device::CreateIBO(IndexType index_type,uint32_t count,const void *d
return(new IndexBuffer(attr->device,buf,index_type,count));
}
Buffer *Device::CreateBuffer(VkBufferUsageFlags buf_usage,VkDeviceSize size,const void *data,SharingMode sharing_mode)
GPUBuffer *RenderDevice::CreateBuffer(VkBufferUsageFlags buf_usage,VkDeviceSize size,const void *data,SharingMode sharing_mode)
{
BufferData buf;
if(!CreateBuffer(&buf,buf_usage,size,data,sharing_mode))
return(nullptr);
return(new Buffer(attr->device,buf));
return(new GPUBuffer(attr->device,buf));
}
VK_NAMESPACE_END

View File

@ -11,7 +11,7 @@
#include<iomanip>
VK_NAMESPACE_BEGIN
Swapchain *CreateSwapchain(const DeviceAttribute *attr,const VkExtent2D &acquire_extent);
Swapchain *CreateSwapchain(const RenderDeviceAttribute *attr,const VkExtent2D &acquire_extent);
namespace
{
@ -51,7 +51,7 @@ namespace
return nullptr;
}
void GetDeviceQueue(DeviceAttribute *attr)
void GetDeviceQueue(RenderDeviceAttribute *attr)
{
vkGetDeviceQueue(attr->device,attr->graphics_family,0,&attr->graphics_queue);
@ -374,7 +374,7 @@ namespace
constexpr size_t VK_DRIVER_ID_RANGE_SIZE=VK_DRIVER_ID_END_RANGE-VK_DRIVER_ID_BEGIN_RANGE+1;
#endif//VK_DRIVER_ID_RANGE_SIZE
Device *CreateRenderDevice(VkInstance inst,const PhysicalDevice *physical_device,VkSurfaceKHR surface,const VkExtent2D &extent)
RenderDevice *CreateRenderDevice(VkInstance inst,const PhysicalRenderDevice *physical_device,VkSurfaceKHR surface,const VkExtent2D &extent)
{
#ifdef _DEBUG
{
@ -397,9 +397,9 @@ Device *CreateRenderDevice(VkInstance inst,const PhysicalDevice *physical_device
}
#endif//_DEBUG
DeviceAttribute *device_attr=new DeviceAttribute(inst,physical_device,surface);
RenderDeviceAttribute *device_attr=new RenderDeviceAttribute(inst,physical_device,surface);
AutoDelete<DeviceAttribute> auto_delete(device_attr);
AutoDelete<RenderDeviceAttribute> auto_delete(device_attr);
if(device_attr->graphics_family==ERROR_FAMILY_INDEX)
return(nullptr);
@ -428,10 +428,10 @@ Device *CreateRenderDevice(VkInstance inst,const PhysicalDevice *physical_device
auto_delete.Discard();
return(new Device(device_attr));
return(new RenderDevice(device_attr));
}
Device *CreateRenderDevice(vulkan::Instance *inst,Window *win,const vulkan::PhysicalDevice *pd)
RenderDevice *CreateRenderDevice(vulkan::Instance *inst,Window *win,const vulkan::PhysicalRenderDevice *pd)
{
if(!inst)
return(nullptr);
@ -453,7 +453,7 @@ Device *CreateRenderDevice(vulkan::Instance *inst,Window *win,const vulkan::Phys
extent.width=win->GetWidth();
extent.height=win->GetHeight();
Device *device=CreateRenderDevice(*inst,pd,surface,extent);
RenderDevice *device=CreateRenderDevice(*inst,pd,surface,extent);
if(!device)
{

View File

@ -20,7 +20,7 @@ VkFramebuffer CreateVulkanFramebuffer(VkDevice device,RenderPass *rp,const VkExt
return fb;
}
Framebuffer *Device::CreateFramebuffer(RenderPass *rp,ImageView **color_list,const uint color_count,ImageView *depth)
Framebuffer *RenderDevice::CreateFramebuffer(RenderPass *rp,ImageView **color_list,const uint color_count,ImageView *depth)
{
uint att_count=color_count;
@ -78,7 +78,7 @@ Framebuffer *Device::CreateFramebuffer(RenderPass *rp,ImageView **color_list,con
return(new Framebuffer(GetDevice(),fbo,extent,*rp,color_count,depth));
}
//
//Framebuffer *Device::CreateFramebuffer(RenderPass *rp,List<ImageView *> &color,ImageView *depth)
//Framebuffer *RenderDevice::CreateFramebuffer(RenderPass *rp,List<ImageView *> &color,ImageView *depth)
//{
// if(!rp)return(nullptr);
//
@ -89,7 +89,7 @@ Framebuffer *Device::CreateFramebuffer(RenderPass *rp,ImageView **color_list,con
// return CreateFramebuffer(rp,color.GetData(),color.GetCount(),depth);
//}
Framebuffer *Device::CreateFramebuffer(RenderPass *rp,ImageView *color,ImageView *depth)
Framebuffer *RenderDevice::CreateFramebuffer(RenderPass *rp,ImageView *color,ImageView *depth)
{
if(!rp)return(nullptr);
if(!color&&!depth)return(nullptr);
@ -97,7 +97,7 @@ Framebuffer *Device::CreateFramebuffer(RenderPass *rp,ImageView *color,ImageView
return CreateFramebuffer(rp,&color,1,depth);
}
Framebuffer *Device::CreateFramebuffer(RenderPass *rp,ImageView *iv)
Framebuffer *RenderDevice::CreateFramebuffer(RenderPass *rp,ImageView *iv)
{
if(!rp)return(nullptr);
if(!iv)return(nullptr);

View File

@ -2,7 +2,7 @@
#include<hgl/graph/VKImageCreateInfo.h>
VK_NAMESPACE_BEGIN
VkImage Device::CreateImage(VkImageCreateInfo *ici)
VkImage RenderDevice::CreateImage(VkImageCreateInfo *ici)
{
if(!ici)return(VK_NULL_HANDLE);
if(!CheckVulkanFormat(ici->format))return(VK_NULL_HANDLE);
@ -16,20 +16,20 @@ VkImage Device::CreateImage(VkImageCreateInfo *ici)
return image;
}
void Device::DestoryImage(VkImage img)
void RenderDevice::DestoryImage(VkImage img)
{
if(img==VK_NULL_HANDLE)return;
vkDestroyImage(attr->device,img,nullptr);
}
Memory *Device::CreateMemory(VkImage image,const uint32_t flag)
GPUMemory *RenderDevice::CreateMemory(VkImage image,const uint32_t flag)
{
VkMemoryRequirements memReqs;
vkGetImageMemoryRequirements(attr->device,image,&memReqs);
Memory *mem=CreateMemory(memReqs,flag);
GPUMemory *mem=CreateMemory(memReqs,flag);
if(!mem)return(nullptr);

View File

@ -192,7 +192,7 @@ bool CreateDepthAttachment( List<VkAttachmentReference> &ref_list,List<VkAttachm
return(true);
}
RenderPass *Device::CreateRenderPass( const List<VkAttachmentDescription> &desc_list,
RenderPass *RenderDevice::CreateRenderPass( const List<VkAttachmentDescription> &desc_list,
const List<VkSubpassDescription> &subpass,
const List<VkSubpassDependency> &dependency,
const List<VkFormat> &color_format_list,
@ -233,7 +233,7 @@ RenderPass *Device::CreateRenderPass( const List<VkAttachmentDescription> &des
return(new RenderPass(attr->device,render_pass,color_format_list,depth_format));
}
RenderPass *Device::CreateRenderPass(const List<VkFormat> &color_format_list,VkFormat depth_format,VkImageLayout color_final_layout,VkImageLayout depth_final_layout)
RenderPass *RenderDevice::CreateRenderPass(const List<VkFormat> &color_format_list,VkFormat depth_format,VkImageLayout color_final_layout,VkImageLayout depth_final_layout)
{
for(const VkFormat &fmt:color_format_list)
if(!attr->physical_device->IsColorAttachmentOptimal(fmt))
@ -268,7 +268,7 @@ RenderPass *Device::CreateRenderPass(const List<VkFormat> &color_format_list,VkF
return CreateRenderPass(atta_desc_list,subpass_desc_list,subpass_dependency_list,color_format_list,depth_format,color_final_layout,depth_final_layout);
}
RenderPass *Device::CreateRenderPass(VkFormat color_format,VkFormat depth_format,VkImageLayout color_final_layout,VkImageLayout depth_final_layout)
RenderPass *RenderDevice::CreateRenderPass(VkFormat color_format,VkFormat depth_format,VkImageLayout color_final_layout,VkImageLayout depth_final_layout)
{
List<VkFormat> color_format_list;

View File

@ -1,14 +1,14 @@
#include<hgl/graph/VKDevice.h>
VK_NAMESPACE_BEGIN
RenderTarget *Device::CreateRenderTarget(Framebuffer *fb,const uint32_t fence_count)
RenderTarget *RenderDevice::CreateRenderTarget(Framebuffer *fb,const uint32_t fence_count)
{
CommandBuffer *cb=CreateCommandBuffer(fb->GetExtent(),fb->GetAttachmentCount());
return(new RenderTarget(this,fb,cb,fence_count));
}
RenderTarget *Device::CreateRenderTarget( const uint w,const uint h,
RenderTarget *RenderDevice::CreateRenderTarget( const uint w,const uint h,
const List<VkFormat> &color_format_list,
const VkFormat depth_format,
const VkImageLayout color_layout,
@ -65,7 +65,7 @@ RenderTarget *Device::CreateRenderTarget( const uint w,const uint h,
return nullptr;
}
RenderTarget *Device::CreateRenderTarget( const uint w,const uint h,
RenderTarget *RenderDevice::CreateRenderTarget( const uint w,const uint h,
const VkFormat color_format,
const VkFormat depth_format,
const VkImageLayout color_layout,
@ -81,7 +81,7 @@ RenderTarget *Device::CreateRenderTarget( const uint w,const uint h,
return CreateRenderTarget(w,h,color_format_list,depth_format,color_layout,depth_layout,fence_count);
}
RenderTarget *Device::CreateRenderTarget(const uint w,const uint h,const VkFormat format,const VkImageLayout final_layout,const uint32_t fence_count)
RenderTarget *RenderDevice::CreateRenderTarget(const uint w,const uint h,const VkFormat format,const VkImageLayout final_layout,const uint32_t fence_count)
{
if(w<=0||h<=0)return(nullptr);

View File

@ -15,7 +15,7 @@ namespace
return swapchain_extent;
}
VkSwapchainKHR CreateSwapChain(const DeviceAttribute *dev_attr,const VkExtent2D &extent)
VkSwapchainKHR CreateSwapChain(const RenderDeviceAttribute *dev_attr,const VkExtent2D &extent)
{
VkSwapchainCreateInfoKHR swapchain_ci;
@ -68,7 +68,7 @@ namespace
}
}//namespace
bool Device::CreateSwapchainColorTexture()
bool RenderDevice::CreateSwapchainColorTexture()
{
if(vkGetSwapchainImagesKHR(attr->device,swapchain->swap_chain,&(swapchain->swap_chain_count),nullptr)!=VK_SUCCESS)
return(false);
@ -98,7 +98,7 @@ bool Device::CreateSwapchainColorTexture()
return(true);
}
bool Device::CreateSwapchainDepthTexture()
bool RenderDevice::CreateSwapchainDepthTexture()
{
const VkFormat depth_format=attr->physical_device->GetDepthFormat();
@ -115,7 +115,7 @@ bool Device::CreateSwapchainDepthTexture()
return swapchain->sc_depth;
}
bool Device::CreateSwapchain(const VkExtent2D &acquire_extent)
bool RenderDevice::CreateSwapchain(const VkExtent2D &acquire_extent)
{
swapchain=new Swapchain;

View File

@ -21,7 +21,7 @@ namespace
}
}//namespace
bool Device::CheckFormatSupport(const VkFormat format,const uint32_t bits,ImageTiling tiling) const
bool RenderDevice::CheckFormatSupport(const VkFormat format,const uint32_t bits,ImageTiling tiling) const
{
const VkFormatProperties fp=attr->physical_device->GetFormatProperties(format);
@ -31,7 +31,7 @@ bool Device::CheckFormatSupport(const VkFormat format,const uint32_t bits,ImageT
return(fp.linearTilingFeatures&bits);
}
Texture2D *Device::CreateTexture2D(TextureData *tex_data)
Texture2D *RenderDevice::CreateTexture2D(TextureData *tex_data)
{
if(!tex_data)
return(nullptr);
@ -39,7 +39,7 @@ Texture2D *Device::CreateTexture2D(TextureData *tex_data)
return(new Texture2D(attr->device,tex_data));
}
Texture2D *Device::CreateTexture2D(Memory *mem,VkImage image,ImageView *image_view,VkImageLayout image_layout,ImageTiling tiling)
Texture2D *RenderDevice::CreateTexture2D(GPUMemory *mem,VkImage image,ImageView *image_view,VkImageLayout image_layout,ImageTiling tiling)
{
TextureData *tex_data=new TextureData;
@ -54,7 +54,7 @@ Texture2D *Device::CreateTexture2D(Memory *mem,VkImage image,ImageView *image_vi
return CreateTexture2D(tex_data);
}
void Device::Clear(TextureCreateInfo *tci)
void RenderDevice::Clear(TextureCreateInfo *tci)
{
if(!tci)return;
@ -65,7 +65,7 @@ void Device::Clear(TextureCreateInfo *tci)
delete tci;
}
Texture2D *Device::CreateTexture2D(TextureCreateInfo *tci)
Texture2D *RenderDevice::CreateTexture2D(TextureCreateInfo *tci)
{
if(!tci)return(nullptr);
@ -98,7 +98,7 @@ Texture2D *Device::CreateTexture2D(TextureCreateInfo *tci)
return tex;
}
Texture2D *Device::CreateTexture2D(VkFormat format,uint32_t width,uint32_t height,VkImageAspectFlags aspectMask,VkImage image,VkImageLayout image_layout,ImageTiling tiling)
Texture2D *RenderDevice::CreateTexture2D(VkFormat format,uint32_t width,uint32_t height,VkImageAspectFlags aspectMask,VkImage image,VkImageLayout image_layout,ImageTiling tiling)
{
if(!CheckTextureFormatSupport(format,tiling))return(nullptr);
@ -117,7 +117,7 @@ Texture2D *Device::CreateTexture2D(VkFormat format,uint32_t width,uint32_t heigh
return CreateTexture2D(tci);
}
Texture2D *Device::CreateTexture2D(const VkFormat format,uint32_t width,uint32_t height,const VkImageAspectFlags aspectMask,const uint usage,const VkImageLayout image_layout,ImageTiling tiling)
Texture2D *RenderDevice::CreateTexture2D(const VkFormat format,uint32_t width,uint32_t height,const VkImageAspectFlags aspectMask,const uint usage,const VkImageLayout image_layout,ImageTiling tiling)
{
if(!CheckTextureFormatSupport(format,tiling))return(nullptr);
@ -136,7 +136,7 @@ Texture2D *Device::CreateTexture2D(const VkFormat format,uint32_t width,uint32_t
return CreateTexture2D(tci);
}
Texture2D *Device::CreateTexture2D(const VkFormat format,Buffer *buf,uint32_t width,uint32_t height,const VkImageAspectFlags aspectMask,const uint usage,const VkImageLayout image_layout,const ImageTiling tiling)
Texture2D *RenderDevice::CreateTexture2D(const VkFormat format,GPUBuffer *buf,uint32_t width,uint32_t height,const VkImageAspectFlags aspectMask,const uint usage,const VkImageLayout image_layout,const ImageTiling tiling)
{
if(!buf)return(nullptr);
@ -149,7 +149,7 @@ Texture2D *Device::CreateTexture2D(const VkFormat format,Buffer *buf,uint32_t wi
return(tex);
}
Texture2D *Device::CreateTexture2D(const VkFormat format,void *data,uint32_t width,uint32_t height,uint32_t size,const VkImageAspectFlags aspectMask,const uint usage,const VkImageLayout image_layout,const ImageTiling tiling)
Texture2D *RenderDevice::CreateTexture2D(const VkFormat format,void *data,uint32_t width,uint32_t height,uint32_t size,const VkImageAspectFlags aspectMask,const uint usage,const VkImageLayout image_layout,const ImageTiling tiling)
{
Texture2D *tex=CreateTexture2D(format,width,height,aspectMask,usage,image_layout,tiling);
@ -157,7 +157,7 @@ Texture2D *Device::CreateTexture2D(const VkFormat format,void *data,uint32_t wid
if(data)
{
Buffer *buf=CreateBuffer(VK_BUFFER_USAGE_TRANSFER_SRC_BIT,size,data);
GPUBuffer *buf=CreateBuffer(VK_BUFFER_USAGE_TRANSFER_SRC_BIT,size,data);
if(buf)
{
@ -169,7 +169,7 @@ Texture2D *Device::CreateTexture2D(const VkFormat format,void *data,uint32_t wid
return(tex);
}
bool Device::ChangeTexture2D(Texture2D *tex,Buffer *buf,const VkBufferImageCopy *buffer_image_copy,const int count)
bool RenderDevice::ChangeTexture2D(Texture2D *tex,GPUBuffer *buf,const VkBufferImageCopy *buffer_image_copy,const int count)
{
if(!tex||!buf)
return(false);
@ -226,7 +226,7 @@ bool Device::ChangeTexture2D(Texture2D *tex,Buffer *buf,const VkBufferImageCopy
return(true);
}
bool Device::ChangeTexture2D(Texture2D *tex,Buffer *buf,const List<ImageRegion> &ir_list)
bool RenderDevice::ChangeTexture2D(Texture2D *tex,GPUBuffer *buf,const List<ImageRegion> &ir_list)
{
if(!tex||!buf||ir_list.GetCount()<=0)
return(false);
@ -264,7 +264,7 @@ bool Device::ChangeTexture2D(Texture2D *tex,Buffer *buf,const List<ImageRegion>
return ChangeTexture2D(tex,buf,buffer_image_copy,ir_count);
}
bool Device::ChangeTexture2D(Texture2D *tex,Buffer *buf,uint32_t left,uint32_t top,uint32_t width,uint32_t height)
bool RenderDevice::ChangeTexture2D(Texture2D *tex,GPUBuffer *buf,uint32_t left,uint32_t top,uint32_t width,uint32_t height)
{
if(!tex||!buf
||left<0||left+width>tex->GetWidth()
@ -290,7 +290,7 @@ bool Device::ChangeTexture2D(Texture2D *tex,Buffer *buf,uint32_t left,uint32_t t
return ChangeTexture2D(tex,buf,&buffer_image_copy,1);
}
bool Device::ChangeTexture2D(Texture2D *tex,void *data,uint32_t left,uint32_t top,uint32_t width,uint32_t height,uint32_t size)
bool RenderDevice::ChangeTexture2D(Texture2D *tex,void *data,uint32_t left,uint32_t top,uint32_t width,uint32_t height,uint32_t size)
{
if(!tex||!data
||left<0||left+width>tex->GetWidth()
@ -299,7 +299,7 @@ bool Device::ChangeTexture2D(Texture2D *tex,void *data,uint32_t left,uint32_t to
||size<=0)
return(false);
Buffer *buf=CreateBuffer(VK_BUFFER_USAGE_TRANSFER_SRC_BIT,size,data);
GPUBuffer *buf=CreateBuffer(VK_BUFFER_USAGE_TRANSFER_SRC_BIT,size,data);
bool result=ChangeTexture2D(tex,buf,left,top,width,height);
@ -308,7 +308,7 @@ bool Device::ChangeTexture2D(Texture2D *tex,void *data,uint32_t left,uint32_t to
return(result);
}
bool Device::SubmitTexture(const VkCommandBuffer *cmd_bufs,const uint32_t count)
bool RenderDevice::SubmitTexture(const VkCommandBuffer *cmd_bufs,const uint32_t count)
{
if(!cmd_bufs||count<=0)
return(false);
@ -319,7 +319,7 @@ bool Device::SubmitTexture(const VkCommandBuffer *cmd_bufs,const uint32_t count)
return(true);
}
Sampler *Device::CreateSampler(VkSamplerCreateInfo *sci)
Sampler *RenderDevice::CreateSampler(VkSamplerCreateInfo *sci)
{
static VkSamplerCreateInfo default_sampler_create_info=
{

View File

@ -1,6 +1,6 @@
#include<hgl/graph/VKFence.h>
VK_NAMESPACE_BEGIN
Fence::~Fence()
GPUFence::~GPUFence()
{
vkDestroyFence(device,fence,nullptr);
}

View File

@ -5,7 +5,7 @@
#include<iostream>
VK_NAMESPACE_BEGIN
Device *CreateRenderDevice(VkInstance,const PhysicalDevice *,Window *);
RenderDevice *CreateRenderDevice(VkInstance,const PhysicalRenderDevice *,Window *);
void CheckInstanceLayer(CharPointerList &layer_list,CreateInstanceLayerInfo *layer_info);
@ -70,7 +70,7 @@ Instance::Instance(VkInstance i,VKDebugOut *out)
vkEnumeratePhysicalDevices(inst, &gpu_count,pd_list);
for(uint32_t i=0;i<gpu_count;i++)
physical_devices.Add(new PhysicalDevice(inst,pd_list[i]));
physical_devices.Add(new PhysicalRenderDevice(inst,pd_list[i]));
delete[] pd_list;
}
@ -84,10 +84,10 @@ Instance::~Instance()
vkDestroyInstance(inst,nullptr);
}
const PhysicalDevice *Instance::GetDevice(VkPhysicalDeviceType type)const
const PhysicalRenderDevice *Instance::GetDevice(VkPhysicalDeviceType type)const
{
const uint32_t count=physical_devices.GetCount();
PhysicalDevice **pd=physical_devices.GetData();
PhysicalRenderDevice **pd=physical_devices.GetData();
for(uint32_t i=0;i<count;i++)
{

View File

@ -7,7 +7,7 @@
#include<hgl/graph/VKBuffer.h>
#include"VKDescriptorSetLayoutCreater.h"
VK_NAMESPACE_BEGIN
Material *Device::CreateMaterial(ShaderModuleMap *shader_maps)
Material *RenderDevice::CreateMaterial(ShaderModuleMap *shader_maps)
{
const int shader_count=shader_maps->GetCount();
@ -49,7 +49,7 @@ Material *Device::CreateMaterial(ShaderModuleMap *shader_maps)
return(new Material(shader_maps,shader_stage_list,dsl_creater));
}
Material *Device::CreateMaterial(const VertexShaderModule *vertex_shader_module,const ShaderModule *fragment_shader_module)
Material *RenderDevice::CreateMaterial(const VertexShaderModule *vertex_shader_module,const ShaderModule *fragment_shader_module)
{
if(!vertex_shader_module||!fragment_shader_module)
return(nullptr);
@ -65,7 +65,7 @@ Material *Device::CreateMaterial(const VertexShaderModule *vertex_shader_module,
return CreateMaterial(smm);
}
Material *Device::CreateMaterial(const VertexShaderModule *vertex_shader_module,const ShaderModule *geometry_shader_module,const ShaderModule *fragment_shader_module)
Material *RenderDevice::CreateMaterial(const VertexShaderModule *vertex_shader_module,const ShaderModule *geometry_shader_module,const ShaderModule *fragment_shader_module)
{
if(!vertex_shader_module
||!geometry_shader_module

View File

@ -15,7 +15,7 @@ MaterialInstance::~MaterialInstance()
delete descriptor_sets;
}
bool MaterialInstance::BindUBO(const AnsiString &name,vulkan::Buffer *ubo)
bool MaterialInstance::BindUBO(const AnsiString &name,vulkan::GPUBuffer *ubo)
{
if(name.IsEmpty()||!ubo)
return(false);

View File

@ -2,7 +2,7 @@
#include<hgl/graph/VKMemory.h>
#include<hgl/graph/VKPhysicalDevice.h>
VK_NAMESPACE_BEGIN
Memory *Device::CreateMemory(const VkMemoryRequirements &req,uint32_t properties)
GPUMemory *RenderDevice::CreateMemory(const VkMemoryRequirements &req,uint32_t properties)
{
uint32_t index;
@ -21,15 +21,15 @@ Memory *Device::CreateMemory(const VkMemoryRequirements &req,uint32_t properties
if(vkAllocateMemory(attr->device,&alloc_info,nullptr,&memory)!=VK_SUCCESS)
return(nullptr);
return(new Memory(attr->device,memory,req,index,properties));
return(new GPUMemory(attr->device,memory,req,index,properties));
}
Memory::~Memory()
GPUMemory::~GPUMemory()
{
vkFreeMemory(device,memory,nullptr);
}
void *Memory::Map()
void *GPUMemory::Map()
{
void *result;
@ -39,7 +39,7 @@ void *Memory::Map()
return(nullptr);
}
void *Memory::Map(const VkDeviceSize offset,const VkDeviceSize size)
void *GPUMemory::Map(const VkDeviceSize offset,const VkDeviceSize size)
{
if(offset<0||offset+size>=req.size)
return(nullptr);
@ -52,12 +52,12 @@ void *Memory::Map(const VkDeviceSize offset,const VkDeviceSize size)
return(nullptr);
}
void Memory::Unmap()
void GPUMemory::Unmap()
{
vkUnmapMemory(device,memory);
}
bool Memory::Write(const void *ptr,VkDeviceSize start,VkDeviceSize size)
bool GPUMemory::Write(const void *ptr,VkDeviceSize start,VkDeviceSize size)
{
if(!ptr)return(false);
@ -71,14 +71,14 @@ bool Memory::Write(const void *ptr,VkDeviceSize start,VkDeviceSize size)
return(true);
}
bool Memory::BindBuffer(VkBuffer buffer)
bool GPUMemory::BindBuffer(VkBuffer buffer)
{
if(!buffer)return(false);
return(vkBindBufferMemory(device,buffer,memory,0)==VK_SUCCESS);
}
bool Memory::BindImage(VkImage image)
bool GPUMemory::BindImage(VkImage image)
{
if(!image)return(false);

View File

@ -1,7 +1,7 @@
#include<hgl/graph/VKPhysicalDevice.h>
VK_NAMESPACE_BEGIN
PhysicalDevice::PhysicalDevice(VkInstance inst,VkPhysicalDevice pd)
PhysicalRenderDevice::PhysicalRenderDevice(VkInstance inst,VkPhysicalDevice pd)
{
instance=inst;
physical_device=pd;
@ -31,19 +31,19 @@ PhysicalDevice::PhysicalDevice(VkInstance inst,VkPhysicalDevice pd)
vkGetPhysicalDeviceFeatures(physical_device,&features);
vkGetPhysicalDeviceMemoryProperties(physical_device,&memory_properties);
PFN_vkGetPhysicalDeviceProperties2 GetPhysicalDeviceProperties2=nullptr;
PFN_vkGetPhysicalDeviceProperties2 GetPhysicalRenderDeviceProperties2=nullptr;
if(GetExtensionSpecVersion(VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME))
GetPhysicalDeviceProperties2=(PFN_vkGetPhysicalDeviceProperties2KHR)vkGetInstanceProcAddr(instance,"vkGetPhysicalDeviceProperties2KHR");
GetPhysicalRenderDeviceProperties2=(PFN_vkGetPhysicalDeviceProperties2KHR)vkGetInstanceProcAddr(instance,"vkGetPhysicalDeviceProperties2KHR");
if(!GetPhysicalDeviceProperties2)
if(!GetPhysicalRenderDeviceProperties2)
if(GetExtensionSpecVersion(VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME))
GetPhysicalDeviceProperties2=(PFN_vkGetPhysicalDeviceProperties2)vkGetInstanceProcAddr(instance,"vkGetPhysicalDeviceProperties2");
GetPhysicalRenderDeviceProperties2=(PFN_vkGetPhysicalDeviceProperties2)vkGetInstanceProcAddr(instance,"vkGetPhysicalDeviceProperties2");
if(GetPhysicalDeviceProperties2)
if(GetPhysicalRenderDeviceProperties2)
{
VkPhysicalDeviceProperties2KHR properties2;
GetPhysicalDeviceProperties2(physical_device,&properties2);
GetPhysicalRenderDeviceProperties2(physical_device,&properties2);
hgl_cpy(properties,properties2.properties);
@ -58,7 +58,7 @@ PhysicalDevice::PhysicalDevice(VkInstance inst,VkPhysicalDevice pd)
}
}
const uint32_t PhysicalDevice::GetExtensionSpecVersion(const AnsiString &name)const
const uint32_t PhysicalRenderDevice::GetExtensionSpecVersion(const AnsiString &name)const
{
const uint count=extension_properties.GetCount();
const VkExtensionProperties *ep=extension_properties.GetData();
@ -72,7 +72,7 @@ const uint32_t PhysicalDevice::GetExtensionSpecVersion(const AnsiString &name)co
return 0;
}
const bool PhysicalDevice::CheckMemoryType(uint32_t typeBits,VkMemoryPropertyFlags properties,uint32_t *typeIndex)const
const bool PhysicalRenderDevice::CheckMemoryType(uint32_t typeBits,VkMemoryPropertyFlags properties,uint32_t *typeIndex)const
{
// Search memtypes to find first index with those properties
for(uint32_t i=0; i<memory_properties.memoryTypeCount; i++)
@ -92,7 +92,7 @@ const bool PhysicalDevice::CheckMemoryType(uint32_t typeBits,VkMemoryPropertyFla
return false;
}
VkFormat PhysicalDevice::GetDepthFormat(bool lower_to_high)const
VkFormat PhysicalRenderDevice::GetDepthFormat(bool lower_to_high)const
{
constexpr VkFormat depthFormats[] =
{
@ -120,7 +120,7 @@ VkFormat PhysicalDevice::GetDepthFormat(bool lower_to_high)const
return result;
}
VkFormat PhysicalDevice::GetDepthStencilFormat(bool lower_to_high)const
VkFormat PhysicalRenderDevice::GetDepthStencilFormat(bool lower_to_high)const
{
constexpr VkFormat depthStencilFormats[] =
{

View File

@ -40,7 +40,7 @@ Pipeline *CreatePipeline(VkDevice device,VkPipelineCache pipeline_cache,Pipeline
return(new Pipeline(device,graphicsPipeline,data));
}
Pipeline *Device::CreatePipeline(const InlinePipeline &ip,const Material *mtl,const RenderTarget *rt)
Pipeline *RenderDevice::CreatePipeline(const InlinePipeline &ip,const Material *mtl,const RenderTarget *rt)
{
PipelineData *pd=GetPipelineData(ip);
@ -49,7 +49,7 @@ Pipeline *Device::CreatePipeline(const InlinePipeline &ip,const Material *mtl,co
return VK_NAMESPACE::CreatePipeline(attr->device,attr->pipeline_cache,pd,mtl,rt);
}
Pipeline *Device::CreatePipeline(PipelineData *pd,const Material *mtl,const RenderTarget *rt)
Pipeline *RenderDevice::CreatePipeline(PipelineData *pd,const Material *mtl,const RenderTarget *rt)
{
return VK_NAMESPACE::CreatePipeline(attr->device,attr->pipeline_cache,pd,mtl,rt);
}

View File

@ -5,7 +5,7 @@
#include<hgl/graph/VKSemaphore.h>
VK_NAMESPACE_BEGIN
RenderTarget::RenderTarget(Device *dev,Framebuffer *_fb,CommandBuffer *_cb,const uint32_t fence_count):SubmitQueue(dev,dev->GetGraphicsQueue(),fence_count)
RenderTarget::RenderTarget(RenderDevice *dev,Framebuffer *_fb,CommandBuffer *_cb,const uint32_t fence_count):SubmitQueue(dev,dev->GetGraphicsQueue(),fence_count)
{
rp=nullptr;
fb=_fb;
@ -21,7 +21,7 @@ RenderTarget::RenderTarget(Device *dev,Framebuffer *_fb,CommandBuffer *_cb,const
render_complete_semaphore=dev->CreateSemaphore();
}
RenderTarget::RenderTarget(Device *dev,RenderPass *_rp,Framebuffer *_fb,CommandBuffer *_cb,Texture2D **ctl,const uint32_t cc,Texture2D *dt,const uint32_t fence_count):SubmitQueue(dev,dev->GetGraphicsQueue(),fence_count)
RenderTarget::RenderTarget(RenderDevice *dev,RenderPass *_rp,Framebuffer *_fb,CommandBuffer *_cb,Texture2D **ctl,const uint32_t cc,Texture2D *dt,const uint32_t fence_count):SubmitQueue(dev,dev->GetGraphicsQueue(),fence_count)
{
rp=_rp;
fb=_fb;
@ -68,7 +68,7 @@ bool RenderTarget::Submit(GPUSemaphore *present_complete_semaphore)
return this->SubmitQueue::Submit(*command_buffer,present_complete_semaphore,render_complete_semaphore);
}
SwapchainRenderTarget::SwapchainRenderTarget(Device *dev,Swapchain *sc):RenderTarget(dev,nullptr,nullptr,sc->GetImageCount())
SwapchainRenderTarget::SwapchainRenderTarget(RenderDevice *dev,Swapchain *sc):RenderTarget(dev,nullptr,nullptr,sc->GetImageCount())
{
swapchain=sc;
vk_swapchain=swapchain->GetSwapchain();

View File

@ -3,7 +3,7 @@
#include<hgl/graph/VKDevice.h>
VK_NAMESPACE_BEGIN
ShaderModule *Device::CreateShaderModule(ShaderResource *sr)
ShaderModule *RenderDevice::CreateShaderModule(ShaderResource *sr)
{
if(!sr)return(nullptr);

View File

@ -8,7 +8,7 @@ namespace
const VkPipelineStageFlags pipe_stage_flags=VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
}//namespace
SubmitQueue::SubmitQueue(Device *dev,VkQueue q,const uint32_t fence_count)
SubmitQueue::SubmitQueue(RenderDevice *dev,VkQueue q,const uint32_t fence_count)
{
device=dev;
queue=q;

View File

@ -90,16 +90,16 @@ namespace
{
protected:
Device *device;
RenderDevice *device;
VkFormat format;
vulkan::Buffer *buf;
vulkan::GPUBuffer *buf;
Texture2D *tex;
public:
VkTexture2DLoader(Device *dev):device(dev)
VkTexture2DLoader(RenderDevice *dev):device(dev)
{
buf=nullptr;
format=VK_FORMAT_UNDEFINED;
@ -169,7 +169,7 @@ namespace
};//class VkTexture2DLoader
}//namespace
Texture2D *CreateTextureFromFile(Device *device,const OSString &filename)
Texture2D *CreateTextureFromFile(RenderDevice *device,const OSString &filename)
{
VkTexture2DLoader loader(device);

View File

@ -61,7 +61,7 @@ namespace
}//namespace
VK_NAMESPACE_BEGIN
TileData *Device::CreateTileData(const VkFormat format,const uint width,const uint height,const uint count)
TileData *RenderDevice::CreateTileData(const VkFormat format,const uint width,const uint height,const uint count)
{
if(!CheckVulkanFormat(format))
return(nullptr);

View File

@ -7,7 +7,7 @@ VK_NAMESPACE_BEGIN
* @param f
* @param limit_count
*/
TileFont *Device::CreateTileFont(FontSource *fs,int limit_count)
TileFont *RenderDevice::CreateTileFont(FontSource *fs,int limit_count)
{
if(!fs)return(nullptr);

View File

@ -7,7 +7,7 @@ namespace hgl
{
namespace graph
{
TileData::TileData(Device *dev,Texture2D *tt,const uint tw,const uint th)
TileData::TileData(RenderDevice *dev,Texture2D *tt,const uint tw,const uint th)
{
device=dev;

View File

@ -6,7 +6,7 @@ namespace hgl
{
namespace graph
{
TextRenderable::TextRenderable(vulkan::Device *dev,vulkan::Material *m,uint mc):vulkan::Renderable(mc)
TextRenderable::TextRenderable(vulkan::RenderDevice *dev,vulkan::Material *m,uint mc):vulkan::Renderable(mc)
{
device=dev;
mtl=m;