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) 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:

View File

@ -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

View File

@ -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
} }

View File

@ -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
{ {

View File

@ -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

View File

@ -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

View File

@ -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
/*============================================================ /*============================================================