mirror of
https://github.com/libretro/RetroArch.git
synced 2025-02-03 15:54:39 +00:00
(360) Frame count in shaders works now
This commit is contained in:
parent
f6ed5902c2
commit
a8af68217f
@ -436,7 +436,7 @@ static bool xdk360_gfx_frame(void *data, const void *frame,
|
|||||||
|
|
||||||
hlsl_use(0);
|
hlsl_use(0);
|
||||||
hlsl_set_params(width, height, 512, 512, vid->d3dpp.BackBufferWidth,
|
hlsl_set_params(width, height, 512, 512, vid->d3dpp.BackBufferWidth,
|
||||||
vid->d3dpp.BackBufferHeight);
|
vid->d3dpp.BackBufferHeight, g_frame_count);
|
||||||
|
|
||||||
D3DLOCKED_RECT d3dlr;
|
D3DLOCKED_RECT d3dlr;
|
||||||
D3DTexture_LockRect(vid->lpTexture, 0, &d3dlr, NULL, D3DLOCK_NOSYSLOCK);
|
D3DTexture_LockRect(vid->lpTexture, 0, &d3dlr, NULL, D3DLOCK_NOSYSLOCK);
|
||||||
|
@ -86,10 +86,13 @@ void hlsl_set_proj_matrix(XMMATRIX rotation_value)
|
|||||||
|
|
||||||
#define set_param_2f(param, xy, constanttable) \
|
#define set_param_2f(param, xy, constanttable) \
|
||||||
if (param) constanttable->SetFloatArray(d3d_device_ptr, param, xy, 2);
|
if (param) constanttable->SetFloatArray(d3d_device_ptr, param, xy, 2);
|
||||||
|
#define set_param_1f(param, x, constanttable) \
|
||||||
|
if (param) constanttable->SetFloat(d3d_device_ptr, param, x);
|
||||||
|
|
||||||
void hlsl_set_params(unsigned width, unsigned height,
|
void hlsl_set_params(unsigned width, unsigned height,
|
||||||
unsigned tex_width, unsigned tex_height,
|
unsigned tex_width, unsigned tex_height,
|
||||||
unsigned out_width, unsigned out_height)
|
unsigned out_width, unsigned out_height,
|
||||||
|
unsigned frame_count)
|
||||||
{
|
{
|
||||||
if (!hlsl_active)
|
if (!hlsl_active)
|
||||||
return;
|
return;
|
||||||
@ -101,13 +104,14 @@ void hlsl_set_params(unsigned width, unsigned height,
|
|||||||
set_param_2f(prg[active_index].vid_size_f, ori_size, prg[active_index].f_ctable);
|
set_param_2f(prg[active_index].vid_size_f, ori_size, prg[active_index].f_ctable);
|
||||||
set_param_2f(prg[active_index].tex_size_f, tex_size, prg[active_index].f_ctable);
|
set_param_2f(prg[active_index].tex_size_f, tex_size, prg[active_index].f_ctable);
|
||||||
set_param_2f(prg[active_index].out_size_f, out_size, prg[active_index].f_ctable);
|
set_param_2f(prg[active_index].out_size_f, out_size, prg[active_index].f_ctable);
|
||||||
|
set_param_1f(prg[active_index].frame_cnt_f, (float)frame_count, prg[active_index].f_ctable);
|
||||||
|
|
||||||
set_param_2f(prg[active_index].vid_size_v, ori_size, prg[active_index].v_ctable);
|
set_param_2f(prg[active_index].vid_size_v, ori_size, prg[active_index].v_ctable);
|
||||||
set_param_2f(prg[active_index].tex_size_v, tex_size, prg[active_index].v_ctable);
|
set_param_2f(prg[active_index].tex_size_v, tex_size, prg[active_index].v_ctable);
|
||||||
set_param_2f(prg[active_index].out_size_v, out_size, prg[active_index].v_ctable);
|
set_param_2f(prg[active_index].out_size_v, out_size, prg[active_index].v_ctable);
|
||||||
|
set_param_1f(prg[active_index].frame_cnt_v, (float)frame_count, prg[active_index].v_ctable);
|
||||||
|
|
||||||
prg[active_index].v_ctable->SetMatrix(d3d_device_ptr, prg[active_index].mvp, (D3DXMATRIX*)&prg[active_index].mvp_val);
|
prg[active_index].v_ctable->SetMatrix(d3d_device_ptr, prg[active_index].mvp, (D3DXMATRIX*)&prg[active_index].mvp_val);
|
||||||
//prg[active_index].f_ctable->SetFloatArray(d3d_device_ptr, prg[active_index].out_size_f, val, 2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool load_program(unsigned index, const char *prog, bool path_is_file)
|
static bool load_program(unsigned index, const char *prog, bool path_is_file)
|
||||||
|
@ -29,7 +29,8 @@ void hlsl_set_proj_matrix(XMMATRIX rotation_value);
|
|||||||
|
|
||||||
void hlsl_set_params(unsigned width, unsigned height,
|
void hlsl_set_params(unsigned width, unsigned height,
|
||||||
unsigned tex_width, unsigned tex_height,
|
unsigned tex_width, unsigned tex_height,
|
||||||
unsigned out_width, unsigned out_height);
|
unsigned out_width, unsigned out_height,
|
||||||
|
unsigned frame_count);
|
||||||
|
|
||||||
void hlsl_use(unsigned index);
|
void hlsl_use(unsigned index);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user