From a4dec6e226d3e37df54afd63bda7f8a4a019a4ef Mon Sep 17 00:00:00 2001 From: driver1998 Date: Mon, 7 Sep 2020 10:08:07 +0800 Subject: [PATCH] d3d9: "Fix" the HLSL render chain It won't get you very far, but at least it won't crash. Needs HAVE_HLSL and HAVE_D3DX defines and DirectX SDK --- gfx/drivers/d3d_shaders/opaque.hlsl.d3d9.h | 4 ++-- gfx/drivers_renderchain/d3d9_hlsl_renderchain.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gfx/drivers/d3d_shaders/opaque.hlsl.d3d9.h b/gfx/drivers/d3d_shaders/opaque.hlsl.d3d9.h index 388751e10c..b3be6f4391 100644 --- a/gfx/drivers/d3d_shaders/opaque.hlsl.d3d9.h +++ b/gfx/drivers/d3d_shaders/opaque.hlsl.d3d9.h @@ -34,11 +34,11 @@ static const char *stock_hlsl_program = CG( float frame_rotation; }; - output main_fragment(float2 texCoord : TEXCOORD0, + output main_fragment(float4 color : COLOR, float2 texCoord : TEXCOORD0, uniform sampler2D decal : TEXUNIT0, uniform input IN) { output OUT; - OUT.color = tex2D(decal, texCoord); + OUT.color = color * tex2D(decal, texCoord); return OUT; } ); diff --git a/gfx/drivers_renderchain/d3d9_hlsl_renderchain.c b/gfx/drivers_renderchain/d3d9_hlsl_renderchain.c index 68097e5f55..6240a67929 100644 --- a/gfx/drivers_renderchain/d3d9_hlsl_renderchain.c +++ b/gfx/drivers_renderchain/d3d9_hlsl_renderchain.c @@ -246,7 +246,7 @@ static bool hlsl_d3d9_renderchain_create_first_pass( unsigned _fmt) { unsigned i; - struct shader_pass pass; + struct shader_pass pass = { 0 }; unsigned fmt = (_fmt == RETRO_PIXEL_FORMAT_RGB565) ? d3d9_get_rgb565_format() : d3d9_get_xrgb8888_format();