1
0
mirror of https://github.com/libretro/RetroArch synced 2024-07-08 12:15:49 +00:00

Update HLSL backend

This commit is contained in:
twinaphex 2017-09-05 03:21:58 +02:00
parent 83ffb5092a
commit 374b6115e1
7 changed files with 21 additions and 16 deletions

View File

@ -1497,7 +1497,7 @@ static bool d3d_set_shader(void *data,
if (path)
shader = path;
#ifdef HAVE_HLSL
d3d->shader = &hlsl_backend;
shader = &hlsl_backend;
#endif
break;
default:

View File

@ -55,11 +55,11 @@ typedef struct
void *vert_buf;
} overlay_t;
#if defined(_XBOX) || defined(HAVE_D3D8)
#if defined(HAVE_D3D9) || defined(HAVE_D3D8)
typedef struct Vertex
{
float x, y;
#if defined(_XBOX1) || defined(HAVE_D3D8)
#if defined(HAVE_D3D8)
float z;
float rhw;
#endif

View File

@ -16,6 +16,7 @@
#include <string.h>
#include <retro_inline.h>
#include <retro_math.h>
#include "../drivers/d3d.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_w, chain->tex_h, 1, 0,
#ifdef _XBOX
info->rgb32 ? D3DFMT_LIN_X8R8G8B8 : D3DFMT_LIN_R5G6B5,
#else
info->rgb32 ? D3DFMT_X8R8G8B8 : D3DFMT_R5G6B5,
#endif
0, 0, 0, 0, NULL, NULL);
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(chain->renderchain_data);
hlsl_d3d9_renderchain_clear(chain->renderchain_data);
#ifndef _XBOX
if (chain->tracker)
state_tracker_free(chain->tracker);
#endif
}

View File

@ -14,19 +14,26 @@
* If not, see <http://www.gnu.org/licenses/>.
*/
#include <retro_math.h>
#include <compat/strl.h>
#include <string/stdstring.h>
#include <file/file_path.h>
#include <d3dx9shader.h>
#include "../../defines/d3d_defines.h"
#ifdef HAVE_CONFIG_H
#include "../../config.h"
#endif
#include "shader_hlsl.h"
#include "../video_shader_parse.h"
#include "../drivers/d3d.h"
#include "../../managers/state_manager.h"
#include "../../verbosity.h"
#include "../drivers/d3d_shaders/opaque.hlsl.d3d9.h"
#include "shader_hlsl.h"
struct shader_program_hlsl_data
{

View File

@ -21,8 +21,6 @@
#include "../video_driver.h"
void hlsl_set_proj_matrix(void *data, XMMATRIX rotation_value);
#define RARCH_HLSL_MAX_SHADERS 16
#endif

View File

@ -275,10 +275,6 @@ VIDEO SHADERS
#endif
#endif
#ifdef HAVE_HLSL
#include "../gfx/drivers_shader/shader_hlsl.c"
#endif
#ifdef HAVE_GLSL
#include "../gfx/drivers_shader/shader_glsl.c"
#endif

View File

@ -114,6 +114,10 @@ VIDEO CONTEXT
#if defined(HAVE_D3D)
#include "../gfx/drivers_context/d3d_ctx.cpp"
#ifdef HAVE_HLSL
#include "../gfx/drivers_shader/shader_hlsl.cpp"
#endif
#endif
/*============================================================