Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/visualizer/rendering/lod_page_cache.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

namespace lfs::vis {

class LodPageCache {
class LFS_VIS_API LodPageCache {
public:
static constexpr std::uint32_t kInvalidPage = lfs::core::SplatLodTree::kInvalidPage;
static constexpr std::size_t kChunkSplats = lfs::core::SplatLodTree::kChunkSplats;
Expand Down
23 changes: 12 additions & 11 deletions src/visualizer/rendering/lod_page_dequant_cuda.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

#pragma once

#include "core/export.hpp"
#include "io/formats/rad_packed_page.hpp"
#include "lod_pool_quant.hpp"

Expand Down Expand Up @@ -36,12 +37,12 @@ namespace lfs::vis {
// pass through bit-exact; everything else lands as f16 — no new loss over
// the file. Launched on the upload engine's stream between the slot copy
// and the timeline signal.
cudaError_t launchLodPageDequant(const std::uint8_t* device_slot,
const lfs::io::RadPagePackedDesc& desc,
const LodPoolDeviceView& pool,
std::uint32_t page,
std::uint32_t page_splats,
cudaStream_t stream);
LFS_VIS_API cudaError_t launchLodPageDequant(const std::uint8_t* device_slot,
const lfs::io::RadPagePackedDesc& desc,
const LodPoolDeviceView& pool,
std::uint32_t page,
std::uint32_t page_splats,
cudaStream_t stream);

// fp32 source tensors for the in-core / pinned-root D2D fill path.
// Pointers are pre-offset to the page's first splat; layouts match the
Expand All @@ -63,10 +64,10 @@ namespace lfs::vis {
// Quantizes resident fp32 tensors into one canonical pool page (two
// passes: per-band |max| reduction into the page frame, then the
// quantizing scatter). Same canonical writers as the streamed path.
cudaError_t launchLodPageQuantizeFromTensors(const LodPageTensorSources& src,
const LodPoolDeviceView& pool,
std::uint32_t page,
std::uint32_t page_splats,
cudaStream_t stream);
LFS_VIS_API cudaError_t launchLodPageQuantizeFromTensors(const LodPageTensorSources& src,
const LodPoolDeviceView& pool,
std::uint32_t page,
std::uint32_t page_splats,
cudaStream_t stream);

} // namespace lfs::vis
1 change: 1 addition & 0 deletions src/visualizer/rendering/lod_pool_quant.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@

#pragma once

#include <cstddef>
#include <cstdint>

namespace lfs::vis::lodq {
Expand Down
3 changes: 2 additions & 1 deletion src/visualizer/rendering/lod_upload_engine.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

#pragma once

#include "core/export.hpp"
#include "io/formats/rad_packed_page.hpp"
#include "lod_page_cache.hpp"
#include "rendering/cuda_vulkan_interop.hpp"
Expand All @@ -27,7 +28,7 @@ namespace lfs::vis {
// stream. The render thread polls collectPublished() and publishes
// residency only for pages whose kernel completed, so the selector never
// observes a partially written page. Staging slots are the backpressure.
class LodUploadEngine {
class LFS_VIS_API LodUploadEngine {
public:
struct DeviceLayout {
// Payload pool (page-input regions, InputRegion order): xyz_ws,
Expand Down
Loading