add support for AMD FidelityFX™ Super Resolution (FSR), xBRZ-multipass and other 2-pass shaders

This commit is contained in:
FunkyFr3sh 2024-05-18 05:19:55 +02:00
parent d2d0be1264
commit 6fbdf136a9
2 changed files with 352 additions and 77 deletions

View file

@ -5,13 +5,14 @@
#include "opengl_utils.h"
#define TEXTURE_COUNT 4
#define FBO_COUNT 1
#define FBO_COUNT 2
typedef struct OGLRENDERER
{
HGLRC context;
GLuint main_program;
GLuint scale_program;
GLuint shader1_program;
GLuint shader2_program;
BOOL got_error;
int surface_tex_width;
int surface_tex_height;
@ -29,11 +30,15 @@ typedef struct OGLRENDERER
GLint frame_count_uni_loc;
GLuint frame_buffer_id[FBO_COUNT];
GLuint frame_buffer_tex_id[FBO_COUNT];
GLint scale_tex_coord_attr_loc;
GLuint scale_vbos[3];
GLuint scale_vao;
GLint shader1_tex_coord_attr_loc;
GLint shader2_tex_coord_attr_loc;
GLuint shader1_vbos[3];
GLuint shader2_vbos[3];
GLuint shader1_vao;
GLuint shader2_vao;
BOOL use_opengl;
BOOL filter_bilinear;
BOOL shader2_upscale;
} OGLRENDERER;
DWORD WINAPI ogl_render_main(void);