Emuforums.com

Go Back   Emuforums.com > Handheld Emulation > NeonDS Discussion
Home Register Downloads FAQ Members List Calendar Arcade Mark Forums Read


Reply
 
LinkBack Thread Tools Display Modes
Old July 7th, 2008   #1 (permalink)
orz
Emu author
 
Join Date: May 2007
Location: China
Posts: 43
NeonDS ATI card problem

From what I hear from this forum, no one is able to run the emulator smoothly on ATI graphic cards. Today I got access to a Dell PC with ATI X1300 pro graphic card and tried the emulator. Right, I also got a 1-2 fps display
Anyway I think I already have an idea what's wrong. If my guess is correct (there is no development environment on the pc, so I can only guess), I'll fix the problem and post an update version in a few days. Again, thank you all for help testing the emulator and report the problems.
orz is offline   Reply With Quote

Advertisement [Remove Advertisement]
Old July 7th, 2008   #2 (permalink)
Registered User
 
dreampeppers99's Avatar
 
Join Date: Jul 2006
Location: you know...
Posts: 504
Quote:
Originally Posted by orz View Post
From what I hear from this forum, no one is able to run the emulator smoothly on ATI graphic cards. Today I got access to a Dell PC with ATI X1300 pro graphic card and tried the emulator. Right, I also got a 1-2 fps display
Anyway I think I already have an idea what's wrong. If my guess is correct (there is no development environment on the pc, so I can only guess), I'll fix the problem and post an update version in a few days. Again, thank you all for help testing the emulator and report the problems.
Orz ! Thanks for your great project. (I'll test it)
__________________
The Empyrean
dreampeppers99 is offline   Reply With Quote
Old July 7th, 2008   #3 (permalink)
Registered User
 
Join Date: Jul 2006
Location: Russia
Posts: 45
Thanks a lot for looking into this, and thank you very much for a wonderful emulator project!

- Agetian
Agetian is offline   Reply With Quote
Old July 7th, 2008   #4 (permalink)
Emu author
 
shashClp's Avatar
 
Join Date: Sep 2006
Location: VisualC
Posts: 1,055
When (and if) you fix it, would you mind sharing the problem and it's solution? I checked your shader, and the only "strange" thing I saw is the uniform integers (I thought integers where not supported on hardware, as most hardware unrolls loops when shaders are compiled, which is the usual and only practical use for integers on shaders that I've seen and used). I can be sure, as ATI cards seem to not support glsl 1.2 specification, but I can't seem to find the differences between glsl 1.1 (opengl 2.0) and glsl 1.2 (opengl 2.1), at least I was unable to find the former specification anywhere on the web.

I usually use CG/glsl on a daily basis, but always on NVidia hardware, but I like to learn differences between hardware on shaders, as my glsl code is meant to run on a wide range of hardware (not emulation related, but the projects derived from that engine get quite spread).
__________________
Emulator development blog
shashClp is online now   Reply With Quote
Old July 7th, 2008   #5 (permalink)
Hackin 'n Slashin
 
SCHUMI_4EVER's Avatar
 
Join Date: Jan 2007
Location: Corrupt Rapist run South Africa
Posts: 11,220
Looking forward to it. Thanks for helping us out Orz.

Since Catalyst 8.5 ATI have recovered full OpenGL support it seems. So as I said I doubt that's the problem.
__________________
Intel Core2Quad Q9550 (2.83Ghz stock) | ASUS P5Q | 2x2GB Transcend JetRam DDR2-800 | ASUS ENGTX260\HDTP\896M | Windows Vista Home Premium 64bit SP1
The Champ has retired but may his Legacy live on FOREVER !!!!
Get it right fools! The glass is HALF-EMPTY, not half-full!!!
!!! WARNING: Emulation requires a brain !!! WARNING: Emulation =/= Piracy !!!
SCHUMI_4EVER is offline   Reply With Quote
Old July 8th, 2008   #6 (permalink)
Emu author
 
shashClp's Avatar
 
Join Date: Sep 2006
Location: VisualC
Posts: 1,055
Quote:
Originally Posted by SCHUMI-4-EVA View Post
(...)
Since Catalyst 8.5 ATI have recovered full OpenGL support it seems. So as I said I doubt that's the problem.
ATI openGL drivers are known to be quite flaky (I've spent quite a lot of time debugging stuff remotely due to their quirks), so there's not much to be sure with them.
__________________
Emulator development blog
shashClp is online now   Reply With Quote
Old July 8th, 2008   #7 (permalink)
orz
Emu author
 
Join Date: May 2007
Location: China
Posts: 43
Quote:
Originally Posted by shashClp View Post
When (and if) you fix it, would you mind sharing the problem and it's solution? I checked your shader, and the only "strange" thing I saw is the uniform integers (I thought integers where not supported on hardware, as most hardware unrolls loops when shaders are compiled, which is the usual and only practical use for integers on shaders that I've seen and used). I can be sure, as ATI cards seem to not support glsl 1.2 specification, but I can't seem to find the differences between glsl 1.1 (opengl 2.0) and glsl 1.2 (opengl 2.1), at least I was unable to find the former specification anywhere on the web.

I usually use CG/glsl on a daily basis, but always on NVidia hardware, but I like to learn differences between hardware on shaders, as my glsl code is meant to run on a wide range of hardware (not emulation related, but the projects derived from that engine get quite spread).
It looks like the problem is not the shader, it is the way how the emulator renders the final display output to the screen. In previous versions the emulator renders the final output using glDrawPixels and it works on both NVIDIA and ATI cards. In this new version I switched the rendering part to load the pixel buffers to several textures and use otho projection to display the textures as final screen output. On NVIDIA cards the second method is actually faster, but for some reason, it does not work on ATI cards. I don't know if it is ATI card problem, or it is because I did something wrong in the way I load the textures. shashClp, do you have any hints on this issue?
orz is offline   Reply With Quote
Old July 8th, 2008   #8 (permalink)
Emu author
 
shashClp's Avatar
 
Join Date: Sep 2006
Location: VisualC
Posts: 1,055
Quote:
Originally Posted by orz View Post
It looks like the problem is not the shader, it is the way how the emulator renders the final display output to the screen. In previous versions the emulator renders the final output using glDrawPixels and it works on both NVIDIA and ATI cards. In this new version I switched the rendering part to load the pixel buffers to several textures and use otho projection to display the textures as final screen output. On NVIDIA cards the second method is actually faster, but for some reason, it does not work on ATI cards. I don't know if it is ATI card problem, or it is because I did something wrong in the way I load the textures. shashClp, do you have any hints on this issue?
Well, the only problem that I've seen with the method used, is that uploading 16bit texture data on ATI degraded heavily performance on my tests, done on an ATI 9600 and several other hardware (while on NVidia it got negligible difference with uploading a 32bpp texture, all this taking into that the 32bpp texture didn't have to be swizzled on upload). Due to the way the application I speak of managed data, I could pre-convert data to 32bpp and then I got about a 60% speed increase. Depending on the amount of data you're uploading, then the margin could be wider.

If you want to get more information on whether this could be the cause, when I was writing Desmume, I found a benchmark tool to find the upload/download speeds depending on texture format. I can't seem to find it now, but a few minutes on google should give you a match.
__________________
Emulator development blog
shashClp is online now   Reply With Quote
Old July 8th, 2008   #9 (permalink)
orz
Emu author
 
Join Date: May 2007
Location: China
Posts: 43
Quote:
Originally Posted by shashClp View Post
Well, the only problem that I've seen with the method used, is that uploading 16bit texture data on ATI degraded heavily performance on my tests, done on an ATI 9600 and several other hardware (while on NVidia it got negligible difference with uploading a 32bpp texture, all this taking into that the 32bpp texture didn't have to be swizzled on upload). Due to the way the application I speak of managed data, I could pre-convert data to 32bpp and then I got about a 60% speed increase. Depending on the amount of data you're uploading, then the margin could be wider.

If you want to get more information on whether this could be the cause, when I was writing Desmume, I found a benchmark tool to find the upload/download speeds depending on texture format. I can't seem to find it now, but a few minutes on google should give you a match.
Thank you shashClp. I just realized today that my thinkpad T60 laptop (long time not used) has a mobility raedon x1300 card. I'll setup the debuggers on it and play with the ATI rendering and see what exactly is the problem. Will let you when I find anything.
orz is offline   Reply With Quote
Old July 8th, 2008   #10 (permalink)
Hackin 'n Slashin
 
SCHUMI_4EVER's Avatar
 
Join Date: Jan 2007
Location: Corrupt Rapist run South Africa
Posts: 11,220
Quote:
Originally Posted by shashClp View Post
ATI openGL drivers are known to be quite flaky (I've spent quite a lot of time debugging stuff remotely due to their quirks), so there's not much to be sure with them.
As I said that was true. But since Catalyst 8.5 most of that is gone.
ePSXe filters were throwing all sorts of strange black triangles everywhere before 8.5 but since 8.5 they are rendering games propperly. Glview also points out that there's full OpenGL support. They do still however use somewhat different extensions.
__________________
Intel Core2Quad Q9550 (2.83Ghz stock) | ASUS P5Q | 2x2GB Transcend JetRam DDR2-800 | ASUS ENGTX260\HDTP\896M | Windows Vista Home Premium 64bit SP1
The Champ has retired but may his Legacy live on FOREVER !!!!
Get it right fools! The glass is HALF-EMPTY, not half-full!!!
!!! WARNING: Emulation requires a brain !!! WARNING: Emulation =/= Piracy !!!
SCHUMI_4EVER is offline   Reply With Quote
Old July 8th, 2008   #11 (permalink)
Emu author
 
shashClp's Avatar
 
Join Date: Sep 2006
Location: VisualC
Posts: 1,055
Quote:
Originally Posted by SCHUMI-4-EVA View Post
As I said that was true. But since Catalyst 8.5 most of that is gone.
ePSXe filters were throwing all sorts of strange black triangles everywhere before 8.5 but since 8.5 they are rendering games propperly. Glview also points out that there's full OpenGL support. They do still however use somewhat different extensions.
Do you know the large amount of hacks most games make to render properly on ATI? ATI openGL drivers are, still, worse than NVidia ones, and that's a fact. Even their HLSL support seems bad, seeing how some effects on HalfLife2 had to be redone for ATI. If I'm saying that ATI openGL drivers are flaky is due to good reasons, dozens of bugs I've found over the years and that are still there, not because I'm a NVidia zealot.
__________________
Emulator development blog
shashClp is online now   Reply With Quote
Old July 8th, 2008   #12 (permalink)
Hackin 'n Slashin
 
SCHUMI_4EVER's Avatar
 
Join Date: Jan 2007
Location: Corrupt Rapist run South Africa
Posts: 11,220
I know that shash, but have you had a chance to give Catalyst 8.5 a test?

They're May's Drivers by the way.
__________________
Intel Core2Quad Q9550 (2.83Ghz stock) | ASUS P5Q | 2x2GB Transcend JetRam DDR2-800 | ASUS ENGTX260\HDTP\896M | Windows Vista Home Premium 64bit SP1
The Champ has retired but may his Legacy live on FOREVER !!!!
Get it right fools! The glass is HALF-EMPTY, not half-full!!!
!!! WARNING: Emulation requires a brain !!! WARNING: Emulation =/= Piracy !!!
SCHUMI_4EVER is offline   Reply With Quote
Old July 8th, 2008   #13 (permalink)
Emu author
 
shashClp's Avatar
 
Join Date: Sep 2006
Location: VisualC
Posts: 1,055
Quote:
Originally Posted by SCHUMI-4-EVA View Post
I know that shash, but have you had a chance to give Catalyst 8.5 a test?

They're May's Drivers by the way.
Nope, I don't own any ATI card, but I doubt (and would like to be proved wrong) that they have fixed bugs that have been for over 2 years there, like the point sprites crashing shaders and the like, or the 16bpp texture issue I said earlier. I know they've been working more on them lately (last 2-3 years), but they're far from a NVidia level fixed pipeline implementation.
__________________
Emulator development blog
shashClp is online now   Reply With Quote
Old July 8th, 2008   #14 (permalink)
Hackin 'n Slashin
 
SCHUMI_4EVER's Avatar
 
Join Date: Jan 2007
Location: Corrupt Rapist run South Africa
Posts: 11,220
That time of year again...

I guess you are right afterall Shash.
__________________
Intel Core2Quad Q9550 (2.83Ghz stock) | ASUS P5Q | 2x2GB Transcend JetRam DDR2-800 | ASUS ENGTX260\HDTP\896M | Windows Vista Home Premium 64bit SP1
The Champ has retired but may his Legacy live on FOREVER !!!!
Get it right fools! The glass is HALF-EMPTY, not half-full!!!
!!! WARNING: Emulation requires a brain !!! WARNING: Emulation =/= Piracy !!!
SCHUMI_4EVER is offline   Reply With Quote
Old July 8th, 2008   #15 (permalink)
Rockman fan
 
RockmanForte's Avatar
 
Join Date: May 2002
Location: Earth!
Posts: 5,092
Quote:
Originally Posted by orz View Post
Thank you shashClp. I just realized today that my thinkpad T60 laptop (long time not used) has a mobility raedon x1300 card. I'll setup the debuggers on it and play with the ATI rendering and see what exactly is the problem. Will let you when I find anything.
Wow, you are very helpful and great person. Keep up the good work. The ATI fan people will be very grateful.
__________________
I have:

Wii: Starfall, NeoGamma r7, and currently on 3.2u
PSP PHAT: 1001k [TA-081] Custom Firmware 5.50 GEN-D2(FULL)

CASE: EagleTech Sidewinder Gaming Tower Case w/420W Power Supply Black
OS: Windows 7 Ultimate 64bit
CPU: Intel core 2 Duo Processor E8400 (2x 3.0GHz/6MB L2 Cache/1333FSB)
Processor Cooling: Thermaltake V1 CPU Cooling Fan System Kit Silent & Overclocking Proof
Graphics Card: NVIDIA GeForce 8800GT 512MB w/DVI + TV Out Video
Memory: 2048GB [1024GB X2] DDR2-800 PC6400 Memory Module Corsair-Value or Major Brand
Sound Card: 3D Premium Surround Sound Onboard
RockmanForte is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


All times are GMT. The time now is 16:37.

© 2006 - 2008 Emu Forums | About Emu Forums | Legal | A member of the Crowdgather Forum Community


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0 RC5