// Formulae to compute derived counters from raw counter values

function GpuTime()
{
    return GpuTimeMD;
}

function GpuCoreClocks()
{
    return GpuCoreClocksMD;
}

function AvgGpuCoreFrequencyMHz()
{
    return AvgGpuCoreFrequencyMHzMD;
}

function GpuBusy()
{
    return GpuBusyMD;
}

function VsThreads()
{
    return VsThreadsMD;
}

function HsThreads()
{
    return HsThreadsMD;
}

function DsThreads()
{
    return DsThreadsMD;
}

function GsThreads()
{
    return GsThreadsMD;
}

function PsThreads()
{
    return PsThreadsMD;
}

function CsThreads()
{
    return CsThreadsMD;
}

function EuActive()
{
    return EuActiveMD;
}

function EuStall()
{
    return EuStallMD;
}

function EuAvgIpcRate()
{
    return EuAvgIpcRateMD;
}

function EuFpuBothActive()
{
    return EuFpuBothActiveMD;
}

function Fpu0Active()
{
    return Fpu0ActiveMD;
}

function Fpu1Active()
{
    return Fpu1ActiveMD;
}

function EuSendActive()
{
    return EuSendActiveMD;
}

function EuHybridFpu0Instruction()
{
    return EuHybridFpu0InstructionMD;
}

function EuHybridFpu1Instruction()
{
    return EuHybridFpu1InstructionMD;
}

function EuTernaryFpu0Instruction()
{
    return EuTernaryFpu0InstructionMD;
}

function EuTernaryFpu1Instruction()
{
    return EuTernaryFpu1InstructionMD;
}

function EuBinaryFpu0Instruction()
{
    return EuBinaryFpu0InstructionMD;
}

function EuBinaryFpu1Instruction()
{
    return EuBinaryFpu1InstructionMD;
}

function EuMoveFpu0Instruction()
{
    return EuMoveFpu0InstructionMD;
}

function EuMoveFpu1Instruction()
{
    return EuMoveFpu1InstructionMD;
}

function RasterizedPixels()
{
    return RasterizedPixelsMD;
}

function HiDepthTestFails()
{
    return HiDepthTestFailsMD;
}

function EarlyDepthTestFails()
{
    return EarlyDepthTestFailsMD;
}

function SamplesKilledInPs()
{
    return SamplesKilledInPsMD;
}

function PixelsFailingPostPsTests()
{
    return PixelsFailingPostPsTestsMD;
}

function SamplesWritten()
{
    return SamplesWrittenMD;
}

function SamplesBlended()
{
    return SamplesBlendedMD;
}

function SamplerAccesses()
{
    return SamplerAccessesMD;
}

function SamplerTexels()
{
    return SamplerTexelsMD;
}

function SamplerTexelMisses()
{
    return SamplerTexelMissesMD;
}

function SlmBytesRead()
{
    return SlmBytesReadMD;
}

function SlmBytesWritten()
{
    return SlmBytesWrittenMD;
}

function ShaderMemoryAccesses()
{
    return ShaderMemoryAccessesMD;
}

function ShaderAtomics()
{
    return ShaderAtomicsMD;
}

function L3Accesses()
{
    return L3AccessesMD;
}

function L3ShaderLookups()
{
    return L3ShaderLookupsMD;
}

function L3Misses()
{
    return L3MissesMD;
}

function L3SamplerThroughput()
{
    return L3SamplerThroughputMD;
}

function L3ShaderThroughput()
{
    return L3ShaderThroughputMD;
}

function L3TotalThroughput()
{
    return L3TotalThroughputMD;
}

function ShaderBarriers()
{
    return ShaderBarriersMD;
}

function L3Bank00Accesses()
{
    return L3Bank00AccessesMD;
}

function L3Bank01Accesses()
{
    return L3Bank01AccessesMD;
}

function L3Bank02Accesses()
{
    return L3Bank02AccessesMD;
}

function L3Bank03Accesses()
{
    return L3Bank03AccessesMD;
}

function L3Bank00IcAccesses()
{
    return L3Bank00IcAccessesMD;
}

function L3Bank00IcHits()
{
    return L3Bank00IcHitsMD;
}

function GtiL3Throughput()
{
    return GtiL3ThroughputMD;
}

function GtiReadThroughput()
{
    return GtiReadThroughputMD;
}

function GtiWriteThroughput()
{
    return GtiWriteThroughputMD;
}

