Revert "(PS3) ps3_video_psgl.c cleanups"
This reverts commit 824d2923a5
.
This commit is contained in:
parent
417cb55a6e
commit
b2c7b766ae
2
gfx/gl.c
2
gfx/gl.c
|
@ -81,9 +81,7 @@ static const GLfloat white_color[] = {
|
||||||
1, 1, 1, 1,
|
1, 1, 1, 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
#define LOAD_SYM(sym) if (!p##sym) { SDL_SYM_WRAP(p##sym, #sym) }
|
#define LOAD_SYM(sym) if (!p##sym) { SDL_SYM_WRAP(p##sym, #sym) }
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef HAVE_FBO
|
#ifdef HAVE_FBO
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
|
|
||||||
#include "../driver.h"
|
#include "../driver.h"
|
||||||
|
|
||||||
|
#include "ps3_video_psgl.h"
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include "../libretro.h"
|
#include "../libretro.h"
|
||||||
|
@ -99,38 +100,6 @@ static const GLfloat white_color[] = {
|
||||||
1, 1, 1, 1,
|
1, 1, 1, 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef HAVE_FBO
|
|
||||||
#if defined(HAVE_OPENGLES)
|
|
||||||
#define pglGenFramebuffers glGenFramebuffersOES
|
|
||||||
#define pglBindFramebuffer glBindFramebufferOES
|
|
||||||
#define pglFramebufferTexture2D glFramebufferTexture2DOES
|
|
||||||
#define pglCheckFramebufferStatus glCheckFramebufferStatusOES
|
|
||||||
#define pglDeleteFramebuffers glDeleteFramebuffersOES
|
|
||||||
#define GL_FRAMEBUFFER GL_FRAMEBUFFER_OES
|
|
||||||
#define GL_COLOR_ATTACHMENT0 GL_COLOR_ATTACHMENT0_EXT
|
|
||||||
#define GL_FRAMEBUFFER_COMPLETE GL_FRAMEBUFFER_COMPLETE_OES
|
|
||||||
static bool load_fbo_proc(void) { return true; }
|
|
||||||
#else
|
|
||||||
#define pglGenFramebuffers glGenFramebuffers
|
|
||||||
#define pglBindFramebuffer glBindFramebuffer
|
|
||||||
#define pglFramebufferTexture2D glFramebufferTexture2D
|
|
||||||
#define pglCheckFramebufferStatus glCheckFramebufferStatus
|
|
||||||
#define pglDeleteFramebuffers glDeleteFramebuffers
|
|
||||||
static bool load_fbo_proc(void) { return true; }
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define MAX_SHADERS 16
|
|
||||||
|
|
||||||
#if defined(HAVE_XML) || defined(HAVE_CG)
|
|
||||||
#define TEXTURES 8
|
|
||||||
#else
|
|
||||||
#define TEXTURES 1
|
|
||||||
#endif
|
|
||||||
#define TEXTURES_MASK (TEXTURES - 1)
|
|
||||||
|
|
||||||
#include "ps3_video_psgl.h"
|
|
||||||
|
|
||||||
bool g_quitting;
|
bool g_quitting;
|
||||||
unsigned g_frame_count;
|
unsigned g_frame_count;
|
||||||
void *g_gl;
|
void *g_gl;
|
||||||
|
@ -637,10 +606,8 @@ static bool gl_frame(void *data, const void *frame, unsigned width, unsigned hei
|
||||||
|
|
||||||
if (gl->fbo_enabled)
|
if (gl->fbo_enabled)
|
||||||
{
|
{
|
||||||
GLfloat fbo_tex_coords[8] = {0.0f};
|
|
||||||
|
|
||||||
// Render the rest of our passes.
|
// Render the rest of our passes.
|
||||||
glTexCoordPointer(2, GL_FLOAT, 0, fbo_tex_coords);
|
glTexCoordPointer(2, GL_FLOAT, 0, gl->fbo_tex_coords);
|
||||||
|
|
||||||
// It's kinda handy ... :)
|
// It's kinda handy ... :)
|
||||||
const struct gl_fbo_rect *prev_rect;
|
const struct gl_fbo_rect *prev_rect;
|
||||||
|
@ -657,14 +624,14 @@ static bool gl_frame(void *data, const void *frame, unsigned width, unsigned hei
|
||||||
GLfloat xamt = (GLfloat)prev_rect->img_width / prev_rect->width;
|
GLfloat xamt = (GLfloat)prev_rect->img_width / prev_rect->width;
|
||||||
GLfloat yamt = (GLfloat)prev_rect->img_height / prev_rect->height;
|
GLfloat yamt = (GLfloat)prev_rect->img_height / prev_rect->height;
|
||||||
|
|
||||||
set_texture_coords(fbo_tex_coords, xamt, yamt);
|
set_texture_coords(gl->fbo_tex_coords, xamt, yamt);
|
||||||
|
|
||||||
fbo_info->tex = gl->fbo_texture[i - 1];
|
fbo_info->tex = gl->fbo_texture[i - 1];
|
||||||
fbo_info->input_size[0] = prev_rect->img_width;
|
fbo_info->input_size[0] = prev_rect->img_width;
|
||||||
fbo_info->input_size[1] = prev_rect->img_height;
|
fbo_info->input_size[1] = prev_rect->img_height;
|
||||||
fbo_info->tex_size[0] = prev_rect->width;
|
fbo_info->tex_size[0] = prev_rect->width;
|
||||||
fbo_info->tex_size[1] = prev_rect->height;
|
fbo_info->tex_size[1] = prev_rect->height;
|
||||||
memcpy(fbo_info->coord, fbo_tex_coords, sizeof(fbo_tex_coords));
|
memcpy(fbo_info->coord, gl->fbo_tex_coords, sizeof(gl->fbo_tex_coords));
|
||||||
|
|
||||||
glBindFramebufferOES(GL_FRAMEBUFFER_OES, gl->fbo[i]);
|
glBindFramebufferOES(GL_FRAMEBUFFER_OES, gl->fbo[i]);
|
||||||
gl_cg_use(i + 1);
|
gl_cg_use(i + 1);
|
||||||
|
@ -689,7 +656,7 @@ static bool gl_frame(void *data, const void *frame, unsigned width, unsigned hei
|
||||||
GLfloat xamt = (GLfloat)prev_rect->img_width / prev_rect->width;
|
GLfloat xamt = (GLfloat)prev_rect->img_width / prev_rect->width;
|
||||||
GLfloat yamt = (GLfloat)prev_rect->img_height / prev_rect->height;
|
GLfloat yamt = (GLfloat)prev_rect->img_height / prev_rect->height;
|
||||||
|
|
||||||
set_texture_coords(fbo_tex_coords, xamt, yamt);
|
set_texture_coords(gl->fbo_tex_coords, xamt, yamt);
|
||||||
|
|
||||||
// Render our FBO texture to back buffer.
|
// Render our FBO texture to back buffer.
|
||||||
glBindFramebufferOES(GL_FRAMEBUFFER_OES, 0);
|
glBindFramebufferOES(GL_FRAMEBUFFER_OES, 0);
|
||||||
|
|
|
@ -27,6 +27,10 @@
|
||||||
#define FBO_INIT 1
|
#define FBO_INIT 1
|
||||||
#define FBO_REINIT 2
|
#define FBO_REINIT 2
|
||||||
|
|
||||||
|
#define MAX_SHADERS 16
|
||||||
|
|
||||||
|
#define TEXTURES 8
|
||||||
|
#define TEXTURES_MASK (TEXTURES - 1)
|
||||||
|
|
||||||
#define MIN_SCALING_FACTOR (1.0f)
|
#define MIN_SCALING_FACTOR (1.0f)
|
||||||
#define MAX_SCALING_FACTOR (4.0f)
|
#define MAX_SCALING_FACTOR (4.0f)
|
||||||
|
@ -40,20 +44,16 @@
|
||||||
|
|
||||||
typedef struct gl
|
typedef struct gl
|
||||||
{
|
{
|
||||||
bool vsync;
|
|
||||||
GLuint texture[TEXTURES];
|
|
||||||
unsigned tex_index; /* For use with PREV. */
|
|
||||||
struct gl_tex_info prev_info[TEXTURES];
|
|
||||||
GLuint tex_filter;
|
|
||||||
|
|
||||||
void *empty_buf;
|
|
||||||
|
|
||||||
bool block_swap;
|
bool block_swap;
|
||||||
bool fbo_enabled;
|
bool fbo_enabled;
|
||||||
bool keep_aspect;
|
bool keep_aspect;
|
||||||
|
bool vsync;
|
||||||
bool overscan_enable;
|
bool overscan_enable;
|
||||||
|
int fbo_pass;
|
||||||
|
unsigned base_size; /* 2 or 4*/
|
||||||
unsigned last_width[TEXTURES];
|
unsigned last_width[TEXTURES];
|
||||||
unsigned last_height[TEXTURES];
|
unsigned last_height[TEXTURES];
|
||||||
|
unsigned tex_index; /* For use with PREV. */
|
||||||
unsigned tex_w, tex_h;
|
unsigned tex_w, tex_h;
|
||||||
unsigned vp_width, vp_out_width;
|
unsigned vp_width, vp_out_width;
|
||||||
unsigned vp_height, vp_out_height;
|
unsigned vp_height, vp_out_height;
|
||||||
|
@ -61,25 +61,24 @@ typedef struct gl
|
||||||
unsigned win_height;
|
unsigned win_height;
|
||||||
GLfloat overscan_amount;
|
GLfloat overscan_amount;
|
||||||
GLfloat tex_coords[8];
|
GLfloat tex_coords[8];
|
||||||
|
GLfloat fbo_tex_coords[8];
|
||||||
GLenum texture_type; /* XBGR1555 or ARGB*/
|
GLenum texture_type; /* XBGR1555 or ARGB*/
|
||||||
GLenum texture_fmt;
|
GLenum texture_fmt;
|
||||||
unsigned base_size; /* 2 or 4*/
|
|
||||||
|
|
||||||
#ifdef HAVE_FBO
|
|
||||||
/* Render-to-texture, multipass shaders */
|
/* Render-to-texture, multipass shaders */
|
||||||
GLuint fbo[MAX_SHADERS];
|
GLuint fbo[MAX_SHADERS];
|
||||||
GLuint fbo_texture[MAX_SHADERS];
|
GLuint fbo_texture[MAX_SHADERS];
|
||||||
struct gl_fbo_rect fbo_rect[MAX_SHADERS];
|
|
||||||
struct gl_fbo_scale fbo_scale[MAX_SHADERS];
|
|
||||||
int fbo_pass;
|
|
||||||
#endif
|
|
||||||
GLuint menu_texture_id;
|
GLuint menu_texture_id;
|
||||||
GLuint pbo;
|
GLuint pbo;
|
||||||
|
GLuint texture[TEXTURES];
|
||||||
|
GLuint tex_filter;
|
||||||
CellVideoOutState g_video_state;
|
CellVideoOutState g_video_state;
|
||||||
PSGLdevice* gl_device;
|
PSGLdevice* gl_device;
|
||||||
PSGLcontext* gl_context;
|
PSGLcontext* gl_context;
|
||||||
|
struct gl_fbo_rect fbo_rect[MAX_SHADERS];
|
||||||
|
struct gl_fbo_scale fbo_scale[MAX_SHADERS];
|
||||||
|
struct gl_tex_info prev_info[TEXTURES];
|
||||||
struct texture_image menu_texture;
|
struct texture_image menu_texture;
|
||||||
|
void *empty_buf;
|
||||||
} gl_t;
|
} gl_t;
|
||||||
|
|
||||||
bool ps3_setup_texture(void);
|
bool ps3_setup_texture(void);
|
||||||
|
|
Loading…
Reference in New Issue