mirror of
https://github.com/libretro/RetroArch
synced 2025-02-14 06:40:48 +00:00
(HLSL) Implement constant table for HLSL
This commit is contained in:
parent
2a8ea913c0
commit
dee9b69661
@ -29,6 +29,8 @@ struct hlsl_program
|
|||||||
D3DXHANDLE vid_size_v;
|
D3DXHANDLE vid_size_v;
|
||||||
D3DXHANDLE tex_size_v;
|
D3DXHANDLE tex_size_v;
|
||||||
D3DXHANDLE out_size_v;
|
D3DXHANDLE out_size_v;
|
||||||
|
LPD3DXCONSTANTTABLE v_ctable;
|
||||||
|
LPD3DXCONSTANTTABLE f_ctable;
|
||||||
XMMATRIX mvp;
|
XMMATRIX mvp;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -99,17 +101,17 @@ static bool load_program(unsigned index, const char *prog, bool path_is_file)
|
|||||||
|
|
||||||
if (path_is_file)
|
if (path_is_file)
|
||||||
{
|
{
|
||||||
ret_fp = D3DXCompileShaderFromFile(prog, NULL, NULL, "main_fragment", "ps_2_0", 0, &code_f, &listing_f, NULL);
|
ret_fp = D3DXCompileShaderFromFile(prog, NULL, NULL, "main_fragment", "ps_2_0", 0, &code_f, &listing_f, &prg[index].f_ctable);
|
||||||
ret_vp = D3DXCompileShaderFromFile(prog, NULL, NULL, "main_vertex", "vs_2_0", 0, &code_v, &listing_v, NULL);
|
ret_vp = D3DXCompileShaderFromFile(prog, NULL, NULL, "main_vertex", "vs_2_0", 0, &code_v, &listing_v, &prg[index].v_ctable);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* TODO - crashes currently - to do with 'end of line' of stock shader */
|
/* TODO - crashes currently - to do with 'end of line' of stock shader */
|
||||||
ret_fp = D3DXCompileShader(prog, (UINT)strlen(prog), NULL, NULL, "main_fragment", "ps_2_0", 0, &code_f, &listing_f, NULL );
|
ret_fp = D3DXCompileShader(prog, (UINT)strlen(prog), NULL, NULL, "main_fragment", "ps_2_0", 0, &code_f, &listing_f, &prg[index].f_ctable );
|
||||||
ret_vp = D3DXCompileShader(prog, (UINT)strlen(prog), NULL, NULL, "main_vertex", "vs_2_0", 0, &code_v, &listing_v, NULL );
|
ret_vp = D3DXCompileShader(prog, (UINT)strlen(prog), NULL, NULL, "main_vertex", "vs_2_0", 0, &code_v, &listing_v, &prg[index].v_ctable );
|
||||||
}
|
}
|
||||||
|
|
||||||
if (FAILED(ret_fp) || FAILED(ret_vp))
|
if (FAILED(ret_fp) || FAILED(ret_vp) || listing_v || listing_f)
|
||||||
{
|
{
|
||||||
SSNES_ERR("HLSL error:\n");
|
SSNES_ERR("HLSL error:\n");
|
||||||
if(listing_f)
|
if(listing_f)
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/* SSNES - A frontend for libretro.
|
/* SSNES - A frontend for libretro.
|
||||||
* Copyright (C) 2010-2012 - Hans-Kristian Arntzen
|
* Copyright (C) 2010-2012 - Hans-Kristian Arntzen
|
||||||
|
* Copyright (C) 2011-2012 - Daniel De Matteis
|
||||||
*
|
*
|
||||||
* SSNES is free software: you can redistribute it and/or modify it under the terms
|
* SSNES is free software: you can redistribute it and/or modify it under the terms
|
||||||
* of the GNU General Public License as published by the Free Software Found-
|
* of the GNU General Public License as published by the Free Software Found-
|
||||||
|
Loading…
x
Reference in New Issue
Block a user