aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorbasisbit <basisbit@b956fd51-792f-4845-bead-9b4dfca2ff2c>2015-10-20 00:07:57 +0000
committerbasisbit <basisbit@b956fd51-792f-4845-bead-9b4dfca2ff2c>2015-10-20 00:07:57 +0000
commit0b3a0b60fc4646732ca6f1728712d790292f750b (patch)
tree01da2bc02a5118bf6f4c8a598e376348c53293d2 /src
parentfea48eb20937c681bc574b0d49a0c9e4197310fe (diff)
downloadusdx-0b3a0b60fc4646732ca6f1728712d790292f750b.tar.gz
usdx-0b3a0b60fc4646732ca6f1728712d790292f750b.tar.xz
usdx-0b3a0b60fc4646732ca6f1728712d790292f750b.zip
* Radeon X1600/X1650 graphics card report that they support NPOT, but they don't. Implemented a check for these graphics cards. (not yet tested if this fixes all of the problems of that card.
* when there was no background set up in the song.txt, trying to switch from visualization to visualization based ProjectM to crash. Fixed this by switching directly to video if there is no background. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@3150 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'src')
-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