CapFrameX OSD with RTSS

Discussion in 'Rivatuner Statistics Server (RTSS) Forum' started by ZeroStrat, Nov 4, 2019.

  1. ZeroStrat

    ZeroStrat Member

    Messages:
    26
    Likes Received:
    15
    GPU:
    RTX 2080 Ti
    As I wrote APPFLAG_API_USAGE_MASK 0x0000FFFF = 65535, but still a difference of 1 when checking dwFflags - 65535 != 10 (Vulkan). One bit is missing.

    Or I do not understand the concept of bit masking... ^^

    Edit: This code works. I was a little bit confused using bit masks. I basically never use it in practice.

    Code:
    if ((curAppInfos.dwFlags & APPFLAG_D3D11) == APPFLAG_D3D11)
    {
        api = "D3D11";
    }
    
     
    Last edited: May 6, 2020
  2. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    14,717
    Likes Received:
    1,797
    You don't need to subtract APPFLAG_API_USAGE_MASK. You need to apply bitwise AND operation to mask unnecessary bits.

    dwAPI = dwFlags & APPFLAG_API_USAGE_MASK.
     
  3. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    14,717
    Likes Received:
    1,797
    Code:
    if ((curAppInfos.dwFlags & APPFLAG_D3D11) == APPFLAG_D3D11)
    {
        api = "D3D11";
    }
    
    This code is incorrect and it will work for SOME cases only, where API ID takes exactly one bit. Correct one is:

    Code:
    if ((curAppInfos.dwFlags & APPFLAG_API_USAGE_MASK) == APPFLAG_D3D11)
    {
        api = "D3D11";
    }
    
     
    ZeroStrat likes this.
  4. ZeroStrat

    ZeroStrat Member

    Messages:
    26
    Likes Received:
    15
    GPU:
    RTX 2080 Ti
    Ok, I'm gonna change it and check some different games now. Thanks for your help!
     
    Unwinder likes this.

  5. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    14,717
    Likes Received:
    1,797
    No problem, glad that you've figured it out.
     
  6. ZeroStrat

    ZeroStrat Member

    Messages:
    26
    Likes Received:
    15
    GPU:
    RTX 2080 Ti
    One another question. What is D3D12AFR? Does AFR stand for "alternate frame rendering"? Is this multi-GPU stuff?
     
  7. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    14,717
    Likes Received:
    1,797
    It is explicit D3D12 multi GPU mode, each frame is rendered by different GPU.
     
    ZeroStrat likes this.
  8. ZeroStrat

    ZeroStrat Member

    Messages:
    26
    Likes Received:
    15
    GPU:
    RTX 2080 Ti
    @Unwinder

    Is there a flag/property in RTSS_SHARED_MEMORY_APP_ENTRY which holds the information about the window mode (window, borderless window, full screen optimization und full screen exclusive) of the app?
     
  9. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    14,717
    Likes Received:
    1,797
    Nope.
     
    ZeroStrat likes this.

Share This Page