aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/base/UTexture.pas2
-rw-r--r--src/media/UVideo.pas3
-rw-r--r--src/menu/UDisplay.pas2
-rw-r--r--src/screens/UScreenSing.pas5
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