From b99de9c92eeddf2a2677db1c9bb5fd7229955149 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Mon, 4 Aug 2014 01:42:15 +0200 Subject: [PATCH] (Menu) Fix shader filter/scale no longer working on subsequent shader passes --- frontend/menu/backend/menu_common_backend.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/frontend/menu/backend/menu_common_backend.c b/frontend/menu/backend/menu_common_backend.c index e7b01013d0..fc774e47c9 100644 --- a/frontend/menu/backend/menu_common_backend.c +++ b/frontend/menu/backend/menu_common_backend.c @@ -3132,15 +3132,14 @@ static int menu_common_shader_manager_setting_toggle(unsigned setting, unsigned } else if ((dist_filter % 3) == 0) { + dist_filter /= 3; struct gfx_shader *shader = (struct gfx_shader*)driver.menu->shader; struct gfx_shader_pass *pass = (struct gfx_shader_pass*)&shader->pass[dist_filter]; - dist_filter /= 3; - switch (action) { case MENU_ACTION_START: - if (shader->pass) + if (shader && shader->pass) shader->pass[dist_filter].filter = RARCH_FILTER_UNSPEC; break; @@ -3148,7 +3147,7 @@ static int menu_common_shader_manager_setting_toggle(unsigned setting, unsigned case MENU_ACTION_RIGHT: case MENU_ACTION_OK: { - unsigned delta = action == MENU_ACTION_LEFT ? 2 : 1; + unsigned delta = (action == MENU_ACTION_LEFT) ? 2 : 1; if (pass) pass->filter = ((pass->filter + delta) % 3); break; @@ -3160,15 +3159,14 @@ static int menu_common_shader_manager_setting_toggle(unsigned setting, unsigned } else if ((dist_scale % 3) == 0) { + dist_scale /= 3; struct gfx_shader *shader = (struct gfx_shader*)driver.menu->shader; struct gfx_shader_pass *pass = (struct gfx_shader_pass*)&shader->pass[dist_scale]; - dist_scale /= 3; - switch (action) { case MENU_ACTION_START: - if (shader->pass) + if (shader && shader->pass) { pass->fbo.scale_x = pass->fbo.scale_y = 0; pass->fbo.valid = false;