Skip to content
  • Hyunjun Ko's avatar
    turnip: support multipass for performance query. · c921a6e9
    Hyunjun Ko authored
    
    
    To support multipass, querying perf counters happens in several steps
    below.
    
    0) There's a scratch reg to set pass indices for perf counters query.
       Prepare cmd streams to set each pass index to the reg at device
       creation time. See tu_CreateDevice in tu_device.c
    1) Emit command streams to read all requested perf counters at all
       passes in begin/end query with CP_REG_TEST/CP_COND_REG_EXEC, which
       reads the scratch reg where pass index is set.
    2) Pick the right cs setting proper pass index to the reg and prepend it
       to the command buffer at each submit time.
    3) If the pass index in the reg is true, then executes the command
       stream below CP_COND_REG_EXEC.
    
    Would need to implement for kgsl in the future.
    
    Signed-off-by: default avatarHyunjun Ko <zzoon@igalia.com>
    Part-of: <!6808>
    c921a6e9