graphics: add experimental Pro mode and linear PSSR

Co-authored-by: Joshua Jayasingh <joshuajayasingh08@gmail.com>
This commit is contained in:
nmzikandJoshua Jayasingh committed 2026-10-29 07:55:50 +01:00
1 parent 5e837a9bea
commit 651ef73a03
30 files changed
+1340 -278

No files matched your search

+9
View File
@@ -150,15 +150,21 @@ private:
friend class CommandScheduler;
};
namespace Pssr {
struct Request;
}
class RenderExecutor {
public:
explicit RenderExecutor(RenderContext& context): m_context(context) {}
~RenderExecutor();
KYTY_CLASS_NO_COPY(RenderExecutor);
void DispatchDirect(uint64_t submit_id, CommandBuffer& buffer, uint32_t thread_group_x,
uint32_t thread_group_y, uint32_t thread_group_z, uint32_t mode, bool async_compute);
void DispatchIndirect(uint64_t submit_id, CommandBuffer& buffer, uint64_t args_addr,
uint32_t mode, bool async_compute);
void ProcessPssr(CommandBuffer& buffer, const Pssr::Request& request);
void PrepareBindings(const ShaderStageRuntime& runtime, PreparedBindings& prepared);
void FindBuffers(std::span<PreparedBindings* const> stages);
@@ -219,6 +225,9 @@ private:
std::vector<ImageId> m_bound_images;
std::vector<vk::DescriptorImageInfo> m_descriptor_images;
std::vector<vk::WriteDescriptorSet> m_descriptor_writes;
vk::DescriptorSetLayout m_pssr_descriptor_layout = nullptr;
vk::PipelineLayout m_pssr_pipeline_layout = nullptr;
vk::Pipeline m_pssr_pipeline = nullptr;
friend class CommandProcessor;
friend struct RenderExecutorTestAccess;