Fix Nahida unlit baseline isolation

This commit is contained in:
2026-04-12 12:48:38 +08:00
parent 347d08463b
commit e86d260d64
3 changed files with 12 additions and 6 deletions

View File

@@ -352,8 +352,6 @@ void D3D12CommandList::SetGraphicsDescriptorSets(
continue; continue;
} }
// Descriptor sets are staged in CPU-visible heaps and copied into this
// command list's shader-visible heaps immediately before binding.
if (heap->GetType() == DescriptorHeapType::CBV_SRV_UAV) { if (heap->GetType() == DescriptorHeapType::CBV_SRV_UAV) {
const bool hasSrvTable = d3d12Layout->UsesSetLayouts() const bool hasSrvTable = d3d12Layout->UsesSetLayouts()
? d3d12Layout->HasShaderResourceTable(setIndex) ? d3d12Layout->HasShaderResourceTable(setIndex)
@@ -587,8 +585,6 @@ void D3D12CommandList::SetComputeDescriptorSets(
continue; continue;
} }
// Descriptor sets are staged in CPU-visible heaps and copied into this
// command list's shader-visible heaps immediately before binding.
if (heap->GetType() == DescriptorHeapType::CBV_SRV_UAV) { if (heap->GetType() == DescriptorHeapType::CBV_SRV_UAV) {
const bool hasSrvTable = d3d12Layout->UsesSetLayouts() const bool hasSrvTable = d3d12Layout->UsesSetLayouts()
? d3d12Layout->HasShaderResourceTable(setIndex) ? d3d12Layout->HasShaderResourceTable(setIndex)

View File

@@ -1284,8 +1284,6 @@ RHIDescriptorPool* D3D12Device::CreateDescriptorPool(const DescriptorPoolDesc& d
DescriptorPoolDesc poolDesc = desc; DescriptorPoolDesc poolDesc = desc;
poolDesc.device = m_device.Get(); poolDesc.device = m_device.Get();
if (UsesTransientShaderVisibleDescriptorHeap(poolDesc.type)) { if (UsesTransientShaderVisibleDescriptorHeap(poolDesc.type)) {
// Descriptor sets are staged in CPU-visible heaps and copied into the
// command list's transient shader-visible heaps before each bind.
poolDesc.shaderVisible = false; poolDesc.shaderVisible = false;
} }
if (pool->Initialize(poolDesc)) { if (pool->Initialize(poolDesc)) {

View File

@@ -100,6 +100,18 @@ std::unordered_set<std::string> GetIsolationObjectNames() {
std::unordered_set<std::string> result; std::unordered_set<std::string> result;
const char* value = std::getenv("XC_NAHIDA_DIAG_ONLY"); const char* value = std::getenv("XC_NAHIDA_DIAG_ONLY");
if (value == nullptr) { if (value == nullptr) {
if (GetDiagnosticMode() != DiagnosticMode::Unlit) {
return result;
}
result.emplace("Body_Mesh0");
result.emplace("EyeStar");
result.emplace("Body_Mesh1");
result.emplace("Body_Mesh2");
result.emplace("Face");
result.emplace("Body_Mesh3");
result.emplace("Brow");
result.emplace("Face_Eye");
return result; return result;
} }