Update HLSL backend
This commit is contained in:
parent
83ffb5092a
commit
374b6115e1
|
@ -1497,7 +1497,7 @@ static bool d3d_set_shader(void *data,
|
||||||
if (path)
|
if (path)
|
||||||
shader = path;
|
shader = path;
|
||||||
#ifdef HAVE_HLSL
|
#ifdef HAVE_HLSL
|
||||||
d3d->shader = &hlsl_backend;
|
shader = &hlsl_backend;
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -55,11 +55,11 @@ typedef struct
|
||||||
void *vert_buf;
|
void *vert_buf;
|
||||||
} overlay_t;
|
} overlay_t;
|
||||||
|
|
||||||
#if defined(_XBOX) || defined(HAVE_D3D8)
|
#if defined(HAVE_D3D9) || defined(HAVE_D3D8)
|
||||||
typedef struct Vertex
|
typedef struct Vertex
|
||||||
{
|
{
|
||||||
float x, y;
|
float x, y;
|
||||||
#if defined(_XBOX1) || defined(HAVE_D3D8)
|
#if defined(HAVE_D3D8)
|
||||||
float z;
|
float z;
|
||||||
float rhw;
|
float rhw;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <retro_inline.h>
|
#include <retro_inline.h>
|
||||||
|
#include <retro_math.h>
|
||||||
|
|
||||||
#include "../drivers/d3d.h"
|
#include "../drivers/d3d.h"
|
||||||
#include "../common/d3d_common.h"
|
#include "../common/d3d_common.h"
|
||||||
|
@ -103,7 +104,11 @@ static bool renderchain_create_first_pass(void *data,
|
||||||
|
|
||||||
chain->tex = d3d_texture_new(d3dr, NULL,
|
chain->tex = d3d_texture_new(d3dr, NULL,
|
||||||
chain->tex_w, chain->tex_h, 1, 0,
|
chain->tex_w, chain->tex_h, 1, 0,
|
||||||
|
#ifdef _XBOX
|
||||||
info->rgb32 ? D3DFMT_LIN_X8R8G8B8 : D3DFMT_LIN_R5G6B5,
|
info->rgb32 ? D3DFMT_LIN_X8R8G8B8 : D3DFMT_LIN_R5G6B5,
|
||||||
|
#else
|
||||||
|
info->rgb32 ? D3DFMT_X8R8G8B8 : D3DFMT_R5G6B5,
|
||||||
|
#endif
|
||||||
0, 0, 0, 0, NULL, NULL);
|
0, 0, 0, 0, NULL, NULL);
|
||||||
|
|
||||||
if (!chain->tex)
|
if (!chain->tex)
|
||||||
|
@ -278,11 +283,6 @@ static void hlsl_d3d9_renderchain_free(void *data)
|
||||||
hlsl_d3d9_renderchain_deinit_shader(chain);
|
hlsl_d3d9_renderchain_deinit_shader(chain);
|
||||||
hlsl_d3d9_renderchain_deinit(chain->renderchain_data);
|
hlsl_d3d9_renderchain_deinit(chain->renderchain_data);
|
||||||
hlsl_d3d9_renderchain_clear(chain->renderchain_data);
|
hlsl_d3d9_renderchain_clear(chain->renderchain_data);
|
||||||
|
|
||||||
#ifndef _XBOX
|
|
||||||
if (chain->tracker)
|
|
||||||
state_tracker_free(chain->tracker);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -14,19 +14,26 @@
|
||||||
* If not, see <http://www.gnu.org/licenses/>.
|
* If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <retro_math.h>
|
||||||
|
#include <compat/strl.h>
|
||||||
#include <string/stdstring.h>
|
#include <string/stdstring.h>
|
||||||
|
#include <file/file_path.h>
|
||||||
|
|
||||||
|
#include <d3dx9shader.h>
|
||||||
|
|
||||||
|
#include "../../defines/d3d_defines.h"
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "../../config.h"
|
#include "../../config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "shader_hlsl.h"
|
|
||||||
|
|
||||||
#include "../video_shader_parse.h"
|
#include "../video_shader_parse.h"
|
||||||
#include "../drivers/d3d.h"
|
#include "../drivers/d3d.h"
|
||||||
#include "../../managers/state_manager.h"
|
#include "../../managers/state_manager.h"
|
||||||
|
#include "../../verbosity.h"
|
||||||
|
|
||||||
#include "../drivers/d3d_shaders/opaque.hlsl.d3d9.h"
|
#include "../drivers/d3d_shaders/opaque.hlsl.d3d9.h"
|
||||||
|
#include "shader_hlsl.h"
|
||||||
|
|
||||||
struct shader_program_hlsl_data
|
struct shader_program_hlsl_data
|
||||||
{
|
{
|
|
@ -21,8 +21,6 @@
|
||||||
|
|
||||||
#include "../video_driver.h"
|
#include "../video_driver.h"
|
||||||
|
|
||||||
void hlsl_set_proj_matrix(void *data, XMMATRIX rotation_value);
|
|
||||||
|
|
||||||
#define RARCH_HLSL_MAX_SHADERS 16
|
#define RARCH_HLSL_MAX_SHADERS 16
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -275,10 +275,6 @@ VIDEO SHADERS
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_HLSL
|
|
||||||
#include "../gfx/drivers_shader/shader_hlsl.c"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef HAVE_GLSL
|
#ifdef HAVE_GLSL
|
||||||
#include "../gfx/drivers_shader/shader_glsl.c"
|
#include "../gfx/drivers_shader/shader_glsl.c"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -114,6 +114,10 @@ VIDEO CONTEXT
|
||||||
|
|
||||||
#if defined(HAVE_D3D)
|
#if defined(HAVE_D3D)
|
||||||
#include "../gfx/drivers_context/d3d_ctx.cpp"
|
#include "../gfx/drivers_context/d3d_ctx.cpp"
|
||||||
|
|
||||||
|
#ifdef HAVE_HLSL
|
||||||
|
#include "../gfx/drivers_shader/shader_hlsl.cpp"
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*============================================================
|
/*============================================================
|
||||||
|
|
Loading…
Reference in New Issue