Skip to content

Commit

Permalink
* FIX: [Engine] add new_shader_support to r2 _options so it persists …
Browse files Browse the repository at this point in the history
…properly (#1548)

Co-authored-by: Xottab_DUTY <[email protected]>
  • Loading branch information
yohjimane and Xottab-DUTY authored Nov 28, 2023
1 parent 9535acb commit 3dbff75
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 26 deletions.
25 changes: 1 addition & 24 deletions src/Layers/xrRender/xrRender_console.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -852,29 +852,6 @@ class CCC_Fog_Reload : public IConsole_Command
# endif // MASTER_GOLD
#endif // (RENDER == R_R3) || (RENDER == R_R4)

class CCC_new_shader_support : public CCC_Mask
{
public:
CCC_new_shader_support(pcstr N, Flags32* V, u32 M) : CCC_Mask(N, V, M) { ; };
void Execute(LPCSTR args) override
{
#if RENDER == R_R4
if (HW.FeatureLevel >= D3D_FEATURE_LEVEL_11_0)
{
CCC_Mask::Execute(args);
}
else
{
args = "off";
CCC_Mask::Execute(args);
}
#else
args = "off";
CCC_Mask::Execute(args);
#endif
}
};

//-----------------------------------------------------------------------
void xrRender_initconsole()
{
Expand Down Expand Up @@ -1112,7 +1089,7 @@ void xrRender_initconsole()
CMD3(CCC_Token, "r3_water_refl", &ps_r_water_reflection, qwater_reflection_quality_token);
CMD3(CCC_Mask, "r3_water_refl_half_depth", &ps_r2_ls_flags_ext, R3FLAGEXT_SSR_HALF_DEPTH);
CMD3(CCC_Mask, "r3_water_refl_jitter", &ps_r2_ls_flags_ext, R3FLAGEXT_SSR_JITTER);
CMD3(CCC_new_shader_support, "r4_new_shader_support", &ps_r2_ls_flags_ext, R4FLAGEXT_NEW_SHADER_SUPPORT);
CMD3(CCC_Mask, "r4_new_shader_support", &ps_r2_ls_flags_ext, R4FLAGEXT_NEW_SHADER_SUPPORT);

//CMD3(CCC_Mask, "r3_msaa", &ps_r2_ls_flags, R3FLAG_MSAA);
CMD3(CCC_Token, "r3_msaa", &ps_r3_msaa, qmsaa_token);
Expand Down
2 changes: 2 additions & 0 deletions src/Layers/xrRender_R2/r2.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -581,7 +581,9 @@ void CRender::create()
}
#endif

o.new_shader_support = false;
#if defined(USE_DX11)
o.new_shader_support = HW.FeatureLevel >= D3D_FEATURE_LEVEL_11_0 && ps_r2_ls_flags_ext.test(R4FLAGEXT_NEW_SHADER_SUPPORT);
// Ascii's Screen Space Shaders - Check if SSS shaders exist
string_path fn;
o.ssfx_rain = FS.exist(fn, "$game_shaders$", "r3\\effects_rain_splash", ".ps") ? 1 : 0;
Expand Down
6 changes: 4 additions & 2 deletions src/Layers/xrRender_R2/r2.h
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,8 @@ class CRender final : public D3DXRenderBase

float forcegloss_v;

// Yohji - New shader support
u32 new_shader_support : 1;
// Ascii - Screen Space Shaders
u32 ssfx_branches : 1;
u32 ssfx_blood : 1;
Expand Down Expand Up @@ -414,10 +416,10 @@ class CRender final : public D3DXRenderBase
#elif defined(USE_DX11)
BackendAPI GetBackendAPI() const override { return IRender::BackendAPI::D3D11; }
u32 get_dx_level() override { return HW.FeatureLevel >= D3D_FEATURE_LEVEL_10_1 ? 0x000A0001 : 0x000A0000; }
pcstr getShaderPath() override
pcstr getShaderPath() override
{
if (HW.FeatureLevel >= D3D_FEATURE_LEVEL_11_0)
return ps_r2_ls_flags_ext.test(R4FLAGEXT_NEW_SHADER_SUPPORT) ? "r5\\" : "r3\\";
return o.new_shader_support ? "r5\\" : "r3\\";
return "r3\\";
}
#elif defined(USE_OGL)
Expand Down

0 comments on commit 3dbff75

Please sign in to comment.