namespace XREngine.Data.Rendering
{
    public enum EQueryTarget
    {
        /// <summary>
        /// Result returns how many nanoseconds have passed since the query was begun.
        /// </summary>
        TimeElapsed = 35007,
        /// <summary>
        /// Result returns how many samples passed the depth test.
        /// </summary>
        SamplesPassed = 35092,
        /// <summary>
        /// Result returns true if any samples passed the depth test.
        /// </summary>
        AnySamplesPassed = 35887,
        /// <summary>
        /// Returns how many elements (points, lines, triangles) were output by any programs that were rendered. 
        /// Includes elements generated by geometry and tessellation stages.
        /// </summary>
        PrimitivesGenerated = 35975,
        /// <summary>
        /// 
        /// </summary>
        TransformFeedbackPrimitivesWritten = 35976,
        /// <summary>
        /// Result returns true if any samples passed the depth test. Less accurate than <see cref="AnySamplesPassed"/> but faster.
        /// </summary>
        AnySamplesPassedConservative = 36202,
        /// <summary>
        /// Query result returns an arbitrary absolute time that is always increasing, measured as nanoseconds.
        /// </summary>
        Timestamp = 36392
    }
}
