diff --git a/inc/hgl/graph/VKRenderPass.h b/inc/hgl/graph/VKRenderPass.h index 5c1a3266..cef82ac8 100644 --- a/inc/hgl/graph/VKRenderPass.h +++ b/inc/hgl/graph/VKRenderPass.h @@ -19,6 +19,8 @@ class RenderPass List color_formats; VkFormat depth_format; + VkExtent2D granularity; + protected: ObjectList pipeline_list; @@ -27,14 +29,7 @@ private: friend class DeviceRenderPassManage; - RenderPass(VkDevice d,VkPipelineCache pc,VkRenderPass rp,const List &cf,VkFormat df) - { - device=d; - pipeline_cache=pc; - render_pass=rp; - color_formats=cf; - depth_format=df; - } + RenderPass(VkDevice d,VkPipelineCache pc,VkRenderPass rp,const List &cf,VkFormat df); public: @@ -53,6 +48,8 @@ public: } const VkFormat GetDepthFormat()const{return depth_format;} + const VkExtent2D & GetGranularity()const{return granularity;} + public: Pipeline *CreatePipeline(const Material *, PipelineData *); diff --git a/src/SceneGraph/Vulkan/VKRenderPass.cpp b/src/SceneGraph/Vulkan/VKRenderPass.cpp index ed00d907..1402db0d 100644 --- a/src/SceneGraph/Vulkan/VKRenderPass.cpp +++ b/src/SceneGraph/Vulkan/VKRenderPass.cpp @@ -5,6 +5,17 @@ #include #include VK_NAMESPACE_BEGIN +RenderPass::RenderPass(VkDevice d,VkPipelineCache pc,VkRenderPass rp,const List &cf,VkFormat df) +{ + device=d; + pipeline_cache=pc; + render_pass=rp; + color_formats=cf; + depth_format=df; + + vkGetRenderAreaGranularity(device,render_pass,&granularity); +} + RenderPass::~RenderPass() { pipeline_list.Clear();