Sort initial draw lists by pipeline

Fix applying pipeline state too often for scattered draw ranges
Delay updating sides and sectors until frame start to allow the playsim to mark surfaces dirty multiple times
This commit is contained in:
Magnus Norddahl 2024-08-28 19:53:12 +02:00
commit d12cd4d74d
7 changed files with 251 additions and 54 deletions

View file

@ -89,7 +89,7 @@ protected:
void WaitForStreamBuffers();
void ApplyLevelMesh();
void DrawLevelMeshRange(VulkanCommandBuffer* cmdbuffer, VkPipelineKey pipelineKey, int start, int count, bool noFragmentShader);
bool ApplyLevelMeshPipeline(VulkanCommandBuffer* cmdbuffer, VkPipelineKey pipelineKey, bool noFragmentShader);
VulkanRenderDevice* fb = nullptr;