Skip to content

D3D.h BarrierToString() Is there any mistake in this method of judgment? #4

@HHHHHHHHHHHHHHHHHHHHHCS

Description

	inline std::string BarrierToString(const D3D12_RESOURCE_BARRIER& barrier)
	{
		if (barrier.Type == D3D12_RESOURCE_BARRIER_TYPE_TRANSITION)
		{
			return Sprintf("Transition | Resource: '%s' (%x) | Before %s | After %s",
				D3D::GetObjectName(barrier.Transition.pResource),
				barrier.Transition.pResource,
				D3D::ResourceStateToString(barrier.Transition.StateBefore),
				D3D::ResourceStateToString(barrier.Transition.StateAfter));
		}
		if (barrier.Type == D3D12_RESOURCE_BARRIER_TYPE_UAV)
		{
			return Sprintf("UAV | Resource: '%s' (%x)",
				D3D::GetObjectName(barrier.UAV.pResource),
				barrier.UAV.pResource);
		}
		if (barrier.Type == D3D12_RESOURCE_BARRIER_TYPE_UAV)
		{
			return Sprintf("Aliasing | Before: '%s' (%x) | After: '%s' (%x)",
				D3D::GetObjectName(barrier.Aliasing.pResourceBefore), barrier.Aliasing.pResourceBefore,
				D3D::GetObjectName(barrier.Aliasing.pResourceAfter), barrier.Aliasing.pResourceAfter);
		}
		return "[Invalid]";
	}

Conditions Aliasing , D3D12_RESOURCE_BARRIER_TYPE_UAV change to D3D12_RESOURCE_BARRIER_TYPE_ALIASING

	inline std::string BarrierToString(const D3D12_RESOURCE_BARRIER& barrier)
	{
		...

		if (barrier.Type == D3D12_RESOURCE_BARRIER_TYPE_ALIASING)
		{
			return Sprintf("Aliasing | Before: '%s' (%x) | After: '%s' (%x)",
				D3D::GetObjectName(barrier.Aliasing.pResourceBefore), barrier.Aliasing.pResourceBefore,
				D3D::GetObjectName(barrier.Aliasing.pResourceAfter), barrier.Aliasing.pResourceAfter);
		}
		return "[Invalid]";
	}
``

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions