render pass first work

This commit is contained in:
2026-08-26 21:07:12 +03:00
parent 8055881fef
commit a6818a6cf4
18 changed files with 342 additions and 84 deletions
+6 -4
View File
@@ -54,7 +54,7 @@ struct VulkanCommandParameter_t
class CVkCommand
{
public:
virtual void Execute( VkCommandBuffer hCommandBuffer, int iCurrentFrame ) = 0;
virtual void Execute( VkDevice hDevice, VkCommandBuffer hCommandBuffer, int iCurrentFrame ) = 0;
virtual ~CVkCommand() = default;
//virtual const char *GetName();
@@ -99,7 +99,7 @@ public:
class CVk##name##Command : public CVkCommand \
{ \
public: \
virtual void Execute( VkCommandBuffer hCommandBuffer, int iCurrentFrame ) override; \
virtual void Execute( VkDevice hDevice, VkCommandBuffer hCommandBuffer, int iCurrentFrame ) override; \
#define END_VULKAN_COMMAND() \
}; \
@@ -107,7 +107,7 @@ public: \
#define DECLARE_VULKAN_COMMAND(name) \
CVkCommand *_VulkanCommandCreate_##name() { return new CVk##name##Command; } \
CVkCommandRegistry _VulkanCommandRegistry_##name( #name, _VulkanCommandCreate_##name ); \
void CVk##name##Command::Execute( VkCommandBuffer hCommandBuffer, int iCurrentFrame ) \
void CVk##name##Command::Execute( VkDevice hDevice, VkCommandBuffer hCommandBuffer, int iCurrentFrame ) \
#undef __cplusplus
#include "vulkan/vk_enum_string_helper.h"
@@ -253,11 +253,12 @@ public:
CCompiledShader m_shader;
CUtlVector<VkDescriptorSetLayout> m_setLayouts;
CUtlVector<VulkanDescriptor_t> m_bindings;
VkRenderPass m_hRenderPass;
private:
CUtlVector<VkVertexInputBindingDescription> m_layouts;
CUtlVector<VkVertexInputAttributeDescription> m_attributes;
CUtlVector<VkOutputImageConfig_t> m_formats;
EMultisampleType m_eMultiSampling;
EMultisampleType m_eMultiSampling = MULTISAMPLE_TYPE_1_SAMPLES;
VkFormat m_eDepthFormat;
bool m_bIsFragmentEnabled;
};
@@ -380,6 +381,7 @@ struct VulkanMaterialCommandBuffer_t
{
IMaterial *m_pMaterial;
IVkCommandBuffer *m_pCommandBuffer;
void *m_pBeginCommand;
};