Files
VoxelForge/Standalone/Source/GpuFarViewerLinkStubs.cpp
T
Fr0zkaandClaude Opus 5.5 20c6d86f0e wip(assembler): M1 round 4 PARTIAL -- stopped at owner's request (GPU coil whine at night)
Unverified mid-round state (cliff plates / horizon slab / routes in progress). Resume from here.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MmSoF64BbRFmk9C3p1VsBJ
2026-10-09 02:12:39 +02:00

60 lines
3.9 KiB
C++

#include "../Research/OwnerShapeWorld/gpu_field_port/GpuFarViewer.h"
// The isolated CPU viewer does not compile the GPU Far implementation. These link stubs keep
// that optional path unavailable while preserving the Core and CPU mesh/capture paths.
namespace VoxelForgeGpuFarViewer
{
std::filesystem::path ExecutablePrecompiledShaderDirectory(const std::filesystem::path& path)
{ return path.parent_path(); }
bool InitializeFarPipeline(ID3D11Device*,ID3D11DeviceContext*,const std::filesystem::path&,std::string& error)
{ error="GPU far rendering is excluded from the isolated CPU viewer";return false; }
bool QueueFarShaderWarmup(ID3D11Device*,ID3D11DeviceContext*,const std::filesystem::path&,
bool,const std::string&,bool,std::string& error)
{ error="GPU far rendering is excluded from the isolated CPU viewer";return false; }
bool CompleteFarShaderWarmup(ID3D11Device*,ID3D11DeviceContext*,const std::filesystem::path&,std::string& error)
{ error="GPU far rendering is excluded from the isolated CPU viewer";return false; }
bool ReserveFarOutputPool(ID3D11Device*,ID3D11DeviceContext*,const std::filesystem::path&,
std::uint32_t,std::uint32_t,std::string& error,std::uint32_t)
{ error="GPU far rendering is excluded from the isolated CPU viewer";return false; }
bool ReadFarTileRequiredVertexCounts(ID3D11Device*,ID3D11DeviceContext*,const std::filesystem::path&,
const std::vector<std::uint32_t>&,std::vector<std::uint32_t>&,std::string& error)
{ error="GPU far rendering is excluded from the isolated CPU viewer";return false; }
bool ReadFarTileOutputStatuses(ID3D11Device*,ID3D11DeviceContext*,const std::filesystem::path&,
const std::vector<std::uint32_t>&,std::vector<std::uint32_t>&,std::vector<std::uint32_t>&,
std::string& error)
{ error="GPU far rendering is excluded from the isolated CPU viewer";return false; }
bool QueryFarGpuMemory(ID3D11Device*,ID3D11DeviceContext*,const std::filesystem::path&,
std::uint64_t& usage,std::uint64_t& budget,std::string& error)
{ usage=budget=0;error="GPU far rendering is excluded from the isolated CPU viewer";return false; }
bool BeginFarTileBatch(ID3D11Device*,ID3D11DeviceContext*,const std::filesystem::path&,std::string& error)
{ error="GPU far rendering is excluded from the isolated CPU viewer";return false; }
bool BuildFarTile(ID3D11Device*,ID3D11DeviceContext*,VoxelForgeCore::World&,
const VoxelForgeCore::TileKey&,const VoxelForgeCore::FarFieldTileInput*,
const std::filesystem::path&,ID3D11Buffer** vertices,ID3D11Buffer** indices,
ID3D11Buffer** args,ID3D11Buffer** connectorVertices,ID3D11Buffer** connectorIndices,
std::uint32_t,std::uint32_t,std::uint32_t* argsOffset,ID3D11Query** completion,
GpuTimingQueries*,CpuMesh*,double* enqueueMs,double* dispatchMs,std::string& error,
bool,std::uint32_t,std::uint32_t)
{
if(vertices)*vertices=nullptr;
if(indices)*indices=nullptr;
if(args)*args=nullptr;
if(connectorVertices)*connectorVertices=nullptr;
if(connectorIndices)*connectorIndices=nullptr;
if(argsOffset)*argsOffset=0;
if(completion)*completion=nullptr;
if(enqueueMs)*enqueueMs=0.0;
if(dispatchMs)*dispatchMs=0.0;
error="GPU far rendering is excluded from the isolated CPU viewer";
return false;
}
bool SubmitFarTileBatch(ID3D11Device*,ID3D11DeviceContext*,const std::filesystem::path&,
ID3D11Query**,GpuTimingQueries*,std::string& error)
{ error="GPU far rendering is excluded from the isolated CPU viewer";return false; }
bool ResolveGpuTiming(ID3D11DeviceContext*,GpuTimingQueries&,double& dispatchMs,
std::uint64_t*,std::uint64_t*,std::uint64_t*)
{ dispatchMs=0.0;return false; }
bool ResolveGpuTimestampPair(ID3D11DeviceContext*,GpuTimingQueries&,std::uint64_t,double& dispatchMs)
{ dispatchMs=0.0;return false; }
}