From 2d98f3d3ef07fd825e94a7c3095862b0fe559442 Mon Sep 17 00:00:00 2001 From: Jason Juang Date: Tue, 16 Jun 2026 23:13:17 -0700 Subject: [PATCH] windows: fix test linking and missing include --- src/visualizer/rendering/lod_page_cache.hpp | 2 +- .../rendering/lod_page_dequant_cuda.hpp | 23 ++++++++++--------- src/visualizer/rendering/lod_pool_quant.hpp | 1 + .../rendering/lod_upload_engine.hpp | 3 ++- 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/visualizer/rendering/lod_page_cache.hpp b/src/visualizer/rendering/lod_page_cache.hpp index f3b997cf8..0832fe04c 100644 --- a/src/visualizer/rendering/lod_page_cache.hpp +++ b/src/visualizer/rendering/lod_page_cache.hpp @@ -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; diff --git a/src/visualizer/rendering/lod_page_dequant_cuda.hpp b/src/visualizer/rendering/lod_page_dequant_cuda.hpp index 8df1cf3b3..5b42726f9 100644 --- a/src/visualizer/rendering/lod_page_dequant_cuda.hpp +++ b/src/visualizer/rendering/lod_page_dequant_cuda.hpp @@ -4,6 +4,7 @@ #pragma once +#include "core/export.hpp" #include "io/formats/rad_packed_page.hpp" #include "lod_pool_quant.hpp" @@ -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 @@ -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 diff --git a/src/visualizer/rendering/lod_pool_quant.hpp b/src/visualizer/rendering/lod_pool_quant.hpp index 4dc280994..59578181d 100644 --- a/src/visualizer/rendering/lod_pool_quant.hpp +++ b/src/visualizer/rendering/lod_pool_quant.hpp @@ -12,6 +12,7 @@ #pragma once +#include #include namespace lfs::vis::lodq { diff --git a/src/visualizer/rendering/lod_upload_engine.hpp b/src/visualizer/rendering/lod_upload_engine.hpp index 2a9305adf..6523b8297 100644 --- a/src/visualizer/rendering/lod_upload_engine.hpp +++ b/src/visualizer/rendering/lod_upload_engine.hpp @@ -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" @@ -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,