diff options
-rw-r--r-- | src/base/UTexture.pas | 2 | ||||
-rw-r--r-- | src/media/UVideo.pas | 3 | ||||
-rw-r--r-- | src/menu/UDisplay.pas | 2 | ||||
-rw-r--r-- | src/screens/UScreenSing.pas | 5 |
4 files changed, 8 insertions, 4 deletions
diff --git a/src/base/UTexture.pas b/src/base/UTexture.pas index d497f9be..6edcc46f 100644 --- a/src/base/UTexture.pas +++ b/src/base/UTexture.pas @@ -221,7 +221,7 @@ begin Log.LogInfo('OpenGL vendor ' + glGetString(GL_VENDOR), 'TTextureUnit.Create'); Log.LogInfo('OpenGL renderer ' + glGetString(GL_RENDERER), 'TTextureUnit.Create'); Log.LogInfo('OpenGL version ' + glGetString(GL_VERSION), 'TTextureUnit.Create'); - SupportsNPOT := AnsiContainsStr(glGetString(GL_EXTENSIONS),'texture_non_power_of_two'); + SupportsNPOT := (AnsiContainsStr(glGetString(GL_EXTENSIONS),'texture_non_power_of_two')) and not (AnsiContainsStr(glGetString(GL_EXTENSIONS), 'Radeon X16')); Log.LogInfo('OpenGL TextureNPOT-support: ' + BoolToStr(SupportsNPOT), 'TTextureUnit.Create'); end; diff --git a/src/media/UVideo.pas b/src/media/UVideo.pas index b8698359..5512ee7b 100644 --- a/src/media/UVideo.pas +++ b/src/media/UVideo.pas @@ -312,7 +312,8 @@ end; constructor TVideo_FFmpeg.Create; begin glGenTextures(1, PGLuint(@fFrameTex)); - SupportsNPOT := AnsiContainsStr(glGetString(GL_EXTENSIONS),'texture_non_power_of_two'); + SupportsNPOT := (AnsiContainsStr(glGetString(GL_EXTENSIONS),'texture_non_power_of_two')) and not (AnsiContainsStr(glGetString(GL_EXTENSIONS), 'Radeon X16')); + Reset(); end; diff --git a/src/menu/UDisplay.pas b/src/menu/UDisplay.pas index fe833e43..3b1c32f2 100644 --- a/src/menu/UDisplay.pas +++ b/src/menu/UDisplay.pas @@ -176,7 +176,7 @@ begin DoneOnShow := false; glGenTextures(2, PGLuint(@FadeTex)); - SupportsNPOT := AnsiContainsStr(glGetString(GL_EXTENSIONS),'texture_non_power_of_two'); + SupportsNPOT := (AnsiContainsStr(glGetString(GL_EXTENSIONS),'texture_non_power_of_two')) and not (AnsiContainsStr(glGetString(GL_EXTENSIONS), 'Radeon X16')); InitFadeTextures(); // set LastError for OSD to No Error diff --git a/src/screens/UScreenSing.pas b/src/screens/UScreenSing.pas index bf3db3af..38c4762d 100644 --- a/src/screens/UScreenSing.pas +++ b/src/screens/UScreenSing.pas @@ -210,10 +210,13 @@ begin // show visualization Ord('V'): begin - if (fShowVisualization = false) and (fShowBackground = true) and (Ini.VideoEnabled = 1) and CurrentSong.Video.IsSet() then //only Background should be visible currently, switch to video + if ((fShowBackground = true) and (Ini.VideoEnabled = 1) and CurrentSong.Video.IsSet()) + or (fShowVisualization and not CurrentSong.Background.IsSet()) then //switch to video begin Log.LogStatus('decided to switch to video', 'UScreenSing.ParseInput'); fShowBackground := false; + fCurrentVideo := nil; + fShowVisualization := false; fCurrentVideo := fVideoClip; Log.LogStatus('finished switching to video', 'UScreenSing.ParseInput'); end |