mirror of
https://github.com/libretro/RetroArch.git
synced 2025-02-09 10:54:30 +00:00
(RARCH_CONSOLE) Better way to detect shader type
This commit is contained in:
parent
0120b1e18e
commit
e74fc47b9a
@ -859,15 +859,6 @@ HRESULT CRetroArchShaderBrowser::OnInit(XUIMessageInit * pInitData, BOOL& bHandl
|
||||
return 0;
|
||||
}
|
||||
|
||||
unsigned get_shader_type(void)
|
||||
{
|
||||
#if defined(HAVE_HLSL)
|
||||
return RARCH_SHADER_HLSL;
|
||||
#else
|
||||
return RARCH_SHADER_NONE;
|
||||
#endif
|
||||
}
|
||||
|
||||
HRESULT CRetroArchShaderBrowser::OnNotifyPress( HXUIOBJ hObjPressed, BOOL& bHandled )
|
||||
{
|
||||
char path[PATH_MAX];
|
||||
@ -878,15 +869,14 @@ HRESULT CRetroArchShaderBrowser::OnNotifyPress( HXUIOBJ hObjPressed, BOOL& bHand
|
||||
if(path_file_exists(tmp_browser.current_dir.list->elems[index].data))
|
||||
{
|
||||
convert_wchar_to_char(str_buffer, (const wchar_t *)m_shaderlist.GetText(index), sizeof(str_buffer));
|
||||
unsigned shader_type = get_shader_type();
|
||||
|
||||
switch(set_shader)
|
||||
{
|
||||
case 1:
|
||||
snprintf(g_settings.video.cg_shader_path, sizeof(g_settings.video.cg_shader_path), "%s\\%s", filebrowser_get_current_dir(&tmp_browser), str_buffer);
|
||||
if (shader_type != RARCH_SHADER_NONE)
|
||||
if (g_settings.video.shader_type != RARCH_SHADER_NONE)
|
||||
{
|
||||
device_ptr->set_shader(driver.video_data, (enum rarch_shader_type)shader_type, g_settings.video.cg_shader_path, (1ULL << RARCH_SHADER_PASS0));
|
||||
device_ptr->set_shader(driver.video_data, (enum rarch_shader_type)g_settings.video.shader_type, g_settings.video.cg_shader_path, (1ULL << RARCH_SHADER_PASS0));
|
||||
if (g_extern.console.rmenu.state.msg_info.enable)
|
||||
rarch_settings_msg(S_MSG_SHADER_LOADING_SUCCEEDED, S_DELAY_180);
|
||||
}
|
||||
@ -895,9 +885,9 @@ HRESULT CRetroArchShaderBrowser::OnNotifyPress( HXUIOBJ hObjPressed, BOOL& bHand
|
||||
break;
|
||||
case 2:
|
||||
snprintf (g_settings.video.second_pass_shader, sizeof(g_settings.video.second_pass_shader), "%s\\%s", filebrowser_get_current_dir(&tmp_browser), str_buffer);
|
||||
if (shader_type != RARCH_SHADER_NONE)
|
||||
if (g_settings.video.shader_type != RARCH_SHADER_NONE)
|
||||
{
|
||||
device_ptr->set_shader(driver.video_data, (enum rarch_shader_type)shader_type, g_settings.video.second_pass_shader, (1ULL << RARCH_SHADER_PASS1));
|
||||
device_ptr->set_shader(driver.video_data, (enum rarch_shader_type)g_settings.video.shader_type, g_settings.video.second_pass_shader, (1ULL << RARCH_SHADER_PASS1));
|
||||
if (g_extern.console.rmenu.state.msg_info.enable)
|
||||
rarch_settings_msg(S_MSG_SHADER_LOADING_SUCCEEDED, S_DELAY_180);
|
||||
}
|
||||
|
@ -342,6 +342,18 @@ void rarch_settings_set_default(void)
|
||||
g_settings.video.second_pass_smooth = true;
|
||||
#endif
|
||||
|
||||
#if defined(_XBOX360)
|
||||
g_settings.video.shader_type = RARCH_SHADER_HLSL;
|
||||
#elif defined(__PSL1GHT__)
|
||||
g_settings.video.shader_type = RARCH_SHADER_GLSL;
|
||||
#elif defined(__CELLOS_LV2__)
|
||||
g_settings.video.shader_type = RARCH_SHADER_CG;
|
||||
#elif defined(HAVE_GLSL)
|
||||
g_settings.video.shader_type = RARCH_SHADER_GLSL;
|
||||
#else
|
||||
g_settings.video.shader_type = RARCH_SHADER_NONE;
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_FBO
|
||||
g_settings.video.fbo.scale_x = 2.0f;
|
||||
g_settings.video.fbo.scale_y = 2.0f;
|
||||
|
@ -615,19 +615,6 @@ void browser_render(void *data)
|
||||
}
|
||||
}
|
||||
|
||||
unsigned get_shader_type(void)
|
||||
{
|
||||
#if defined(HAVE_GLSL)
|
||||
return RARCH_SHADER_GLSL;
|
||||
#elif defined(HAVE_CG)
|
||||
return RARCH_SHADER_CG;
|
||||
#elif defined(HAVE_HLSL)
|
||||
return RARCH_SHADER_HLSL;
|
||||
#else
|
||||
return RARCH_SHADER_NONE;
|
||||
#endif
|
||||
}
|
||||
|
||||
int select_file(void *data, void *state)
|
||||
{
|
||||
menu *current_menu = (menu*)data;
|
||||
@ -676,9 +663,6 @@ int select_file(void *data, void *state)
|
||||
ret = filebrowser_iterate(filebrowser, FILEBROWSER_ACTION_OK);
|
||||
else
|
||||
{
|
||||
unsigned shader_type = 0;
|
||||
(void)shader_type;
|
||||
|
||||
snprintf(path, sizeof(path), filebrowser_get_current_path(filebrowser));
|
||||
|
||||
switch(current_menu->enum_id)
|
||||
@ -690,10 +674,9 @@ int select_file(void *data, void *state)
|
||||
case 1:
|
||||
strlcpy(g_settings.video.cg_shader_path, path, sizeof(g_settings.video.cg_shader_path));
|
||||
|
||||
shader_type = get_shader_type();
|
||||
if (shader_type != RARCH_SHADER_NONE)
|
||||
if (g_settings.video.shader_type != RARCH_SHADER_NONE)
|
||||
{
|
||||
driver.video->set_shader(driver.video_data, (enum rarch_shader_type)shader_type, path, 1ULL << RARCH_SHADER_PASS0);
|
||||
driver.video->set_shader(driver.video_data, (enum rarch_shader_type)g_settings.video.shader_type, path, 1ULL << RARCH_SHADER_PASS0);
|
||||
if (g_extern.console.rmenu.state.msg_info.enable)
|
||||
rarch_settings_msg(S_MSG_SHADER_LOADING_SUCCEEDED, S_DELAY_180);
|
||||
}
|
||||
@ -703,10 +686,9 @@ int select_file(void *data, void *state)
|
||||
case 2:
|
||||
strlcpy(g_settings.video.second_pass_shader, path, sizeof(g_settings.video.second_pass_shader));
|
||||
|
||||
shader_type = get_shader_type();
|
||||
if (shader_type != RARCH_SHADER_NONE)
|
||||
if (g_settings.video.shader_type != RARCH_SHADER_NONE)
|
||||
{
|
||||
driver.video->set_shader(driver.video_data, (enum rarch_shader_type)shader_type, path, 1ULL << RARCH_SHADER_PASS1);
|
||||
driver.video->set_shader(driver.video_data, (enum rarch_shader_type)g_settings.video.shader_type, path, 1ULL << RARCH_SHADER_PASS1);
|
||||
if (g_extern.console.rmenu.state.msg_info.enable)
|
||||
rarch_settings_msg(S_MSG_SHADER_LOADING_SUCCEEDED, S_DELAY_180);
|
||||
}
|
||||
@ -1102,10 +1084,9 @@ static void set_setting_action(void *data, unsigned switchvalue, uint64_t input)
|
||||
if(input & (1ULL << RMENU_DEVICE_NAV_START))
|
||||
{
|
||||
strlcpy(g_settings.video.cg_shader_path, default_paths.shader_file, sizeof(g_settings.video.cg_shader_path));
|
||||
unsigned shader_type = get_shader_type();
|
||||
if (shader_type != RARCH_SHADER_NONE)
|
||||
if (g_settings.video.shader_type != RARCH_SHADER_NONE)
|
||||
{
|
||||
driver.video->set_shader(driver.video_data, (enum rarch_shader_type)shader_type, NULL, (1ULL << RARCH_SHADER_PASS0) | (1ULL << RARCH_SHADER_PASS0_STOCK));
|
||||
driver.video->set_shader(driver.video_data, (enum rarch_shader_type)g_settings.video.shader_type, NULL, (1ULL << RARCH_SHADER_PASS0) | (1ULL << RARCH_SHADER_PASS0_STOCK));
|
||||
if (g_extern.console.rmenu.state.msg_info.enable)
|
||||
rarch_settings_msg(S_MSG_SHADER_LOADING_SUCCEEDED, S_DELAY_180);
|
||||
}
|
||||
@ -1123,10 +1104,9 @@ static void set_setting_action(void *data, unsigned switchvalue, uint64_t input)
|
||||
if(input & (1ULL << RMENU_DEVICE_NAV_START))
|
||||
{
|
||||
strlcpy(g_settings.video.second_pass_shader, default_paths.shader_file, sizeof(g_settings.video.second_pass_shader));
|
||||
unsigned shader_type = get_shader_type();
|
||||
if (shader_type != RARCH_SHADER_NONE)
|
||||
if (g_settings.video.shader_type != RARCH_SHADER_NONE)
|
||||
{
|
||||
driver.video->set_shader(driver.video_data, (enum rarch_shader_type)shader_type, NULL, (1ULL << RARCH_SHADER_PASS1) | (1ULL << RARCH_SHADER_PASS1_STOCK));
|
||||
driver.video->set_shader(driver.video_data, (enum rarch_shader_type)g_settings.video.shader_type, NULL, (1ULL << RARCH_SHADER_PASS1) | (1ULL << RARCH_SHADER_PASS1_STOCK));
|
||||
if (g_extern.console.rmenu.state.msg_info.enable)
|
||||
rarch_settings_msg(S_MSG_SHADER_LOADING_SUCCEEDED, S_DELAY_180);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user