38 lines
846 B
C
Raw Normal View History

2024-12-12 17:41:33 +08:00
#pragma once
#if SUPPORT_D3D12
#include <functional>
#include <d3d12.h>
#include "xess/xess.h"
#include "xess/xess_d3d12.h"
enum XessQuality
{
UltraPerformance = 100,
Performance = 101,
Balanced = 102,
Quality = 103,
UltraQuality = 104,
UltraQualityPlus = 105,
NativeAA = 106,
};
struct XessV13 final
{
XessV13(ID3D12Device* device) : device(device), inited(false), xess_context(nullptr) {}
~XessV13() = default;
bool enable(std::function<void(const char*)> log_cb);
void disable();
bool configxess(void* data);
void execute(void* data, ID3D12GraphicsCommandList* cmd_list);
2024-12-16 20:33:34 +08:00
bool get_input_resolution(uint32_t outw, uint32_t outh, int quality, uint32_t& Width, uint32_t& Height);
2024-12-12 17:41:33 +08:00
private:
ID3D12Device* device;
xess_context_handle_t xess_context;
bool inited;
};
#endif