hiz.h

cross platform rendering playground

src/passes/hiz/hiz.h

552 B
#pragma once

#include "core/globals.h"
#include "passes/fg.h"

struct FrameGraph;
struct Pipelines;

namespace hiz {

struct Resources {
    ImageHandle hiz;
    u32 mip_count = 0;
    u32 width = 0;
    u32 height = 0;
    // Compile-resolved per-mip storage views (ExtraImageView registry index).
    u32 storage_views = UINT32_MAX;
};

Resources create(FrameGraph &fg);
void record(
    rhi::Device &device,
    Pipelines &pipelines,
    rhi::ShaderCompiler &sc,
    FrameGraph &fg,
    Resources &hiz,
    ImageHandle depth
);

} // namespace hiz