Welcome to mirror list, hosted at ThFree Co, Russian Federation.

lfx.h « d3d « src - github.com/jp7677/dxvk-nvapi.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: ae21d721fa89e88b88a1f888a02428f3dda2d41d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#pragma once

#include "../nvapi_private.h"

namespace dxvk {
    class Lfx {
      public:
        Lfx();
        virtual ~Lfx();

        [[nodiscard]] virtual bool IsAvailable() const;
        virtual void WaitAndBeginFrame();
        virtual void SetTargetFrameTime(uint64_t frame_time_ns);

      private:
        typedef void (*PFN_lfx_WaitAndBeginFrame)();
        typedef void (*PFN_lfx_SetTargetFrameTime)(__int64);

        HMODULE m_lfxModule{};
        PFN_lfx_WaitAndBeginFrame m_lfx_WaitAndBeginFrame{};
        PFN_lfx_SetTargetFrameTime m_lfx_SetTargetFrameTime{};

        template <typename T>
        T GetProcAddress(const char* name);
    };
}