Opengl for zsnes under win.

Strictly for discussing ZSNES development and for submitting code. You can also join us on IRC at irc.libera.chat in #zsnes.
Please, no requests here.

Moderator: ZSNES Mods

Post Reply
Reznor007
Lurker
Posts: 118
Joined: Fri Jul 30, 2004 8:11 am
Contact:

Post by Reznor007 »

MaxSt wrote:
Clements wrote:Pixel Shader 3.0 allows for 32,768 maximum instructions, while GeForce FX handle up to 512.
hq4x32.obj = 300Kb.

MaxSt.
32,768 is the number of raw individual instructions, not the compiled size.
Nach
ZSNES Developer
ZSNES Developer
Posts: 3904
Joined: Tue Jul 27, 2004 10:54 pm
Location: Solar powered park bench
Contact:

Post by Nach »

Say in that object file each unstruction is 4 bytes which is logical since it's a 32bit object file, say also the object file is wasting 100KB for misc overhead.

(300KB-100KB)/4 is still > 32KB.
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
Nightcrawler
Romhacking God
Posts: 922
Joined: Wed Jul 28, 2004 11:27 pm
Contact:

Post by Nightcrawler »

MaxSt wrote:
Clements wrote:Pixel Shader 3.0 allows for 32,768 maximum instructions, while GeForce FX handle up to 512.
hq4x32.obj = 300Kb.

MaxSt.
Ok you pessimistic nugget. We know you hate all new 3D API's and would love to use several year old DirectDraw and blitting forever, but your constant barrage of comments like this is starting to get on my nerves.

No one was talking about HQ4x. That's not gonna fit in any shader. We know that. What's your point?
[url=http://transcorp.romhacking.net]TransCorp[/url] - Home of the Dual Orb 2, Cho Mahou Tairyku Wozz, and Emerald Dragon SFC/SNES translations.
[url=http://www.romhacking.net]ROMhacking.net[/url] - The central hub of the ROM hacking community.
Nightcrawler
Romhacking God
Posts: 922
Joined: Wed Jul 28, 2004 11:27 pm
Contact:

Post by Nightcrawler »

Noxious Ninja wrote:The GeForce FX line was pretty bad. nVidia is lucky there weren't many heavy DX9 games yet. Fortunately, the GeFirce 6 series is much better.
The newest ATI cards STILL do not support PS3.0 and nvidia does. It's not just an GeforceFX sucks deal.
[url=http://transcorp.romhacking.net]TransCorp[/url] - Home of the Dual Orb 2, Cho Mahou Tairyku Wozz, and Emerald Dragon SFC/SNES translations.
[url=http://www.romhacking.net]ROMhacking.net[/url] - The central hub of the ROM hacking community.
MaxSt
ZSNES Developer
ZSNES Developer
Posts: 113
Joined: Wed Jul 28, 2004 7:07 am
Location: USA
Contact:

Post by MaxSt »

Nightcrawler wrote:No one was talking about HQ4x. That's not gonna fit in any shader. We know that. What's your point?
My point is that hq4x is the only one filter that really clogs the CPU.
Therefore, it's the only filter that make sense to move from CPU to GPU.

MaxSt.
Noxious Ninja
Dark Wind
Posts: 1271
Joined: Thu Jul 29, 2004 8:58 pm
Location: Texas
Contact:

Post by Noxious Ninja »

Nightcrawler wrote:
Noxious Ninja wrote:The GeForce FX line was pretty bad. nVidia is lucky there weren't many heavy DX9 games yet. Fortunately, the GeFirce 6 series is much better.
The newest ATI cards STILL do not support PS3.0 and nvidia does. It's not just an GeforceFX sucks deal.
I know. Reading the freedesktop mailing list and some others makes me realize the whole graphics industry sucks. Yes, 1 GB of video RAM really is useful. We should've had PCI-Express years ago. Video drivers should be open-source, or at least be Mesa backends instead of complete OpenGL implementations.

It looks like the Freedesktop guys have got buy-in from the major GPU vendors, so this will hopefully change.
[u][url=http://bash.org/?577451]#577451[/url][/u]
Reznor007
Lurker
Posts: 118
Joined: Fri Jul 30, 2004 8:11 am
Contact:

Post by Reznor007 »

Nach wrote:Say in that object file each unstruction is 4 bytes which is logical since it's a 32bit object file, say also the object file is wasting 100KB for misc overhead.

(300KB-100KB)/4 is still > 32KB.
32KB is not a size limit for shaders. 32K is the instruction count, not compiled size. And that's still a compiled binary. With shader programs they are compiled by the video driver, so you can't really tell how large they are compiled.
Reznor007
Lurker
Posts: 118
Joined: Fri Jul 30, 2004 8:11 am
Contact:

Post by Reznor007 »

MaxSt wrote:
Nightcrawler wrote:No one was talking about HQ4x. That's not gonna fit in any shader. We know that. What's your point?
My point is that hq4x is the only one filter that really clogs the CPU.
Therefore, it's the only filter that make sense to move from CPU to GPU.

MaxSt.
Of course, if you can free up main CPU time while still having extra filters, isn't that a good thing overall?
Reznor007
Lurker
Posts: 118
Joined: Fri Jul 30, 2004 8:11 am
Contact:

Post by Reznor007 »

Nightcrawler wrote:
Noxious Ninja wrote:The GeForce FX line was pretty bad. nVidia is lucky there weren't many heavy DX9 games yet. Fortunately, the GeFirce 6 series is much better.
The newest ATI cards STILL do not support PS3.0 and nvidia does. It's not just an GeforceFX sucks deal.
The GeforceFX sucks because it was a poor design, not because it lacked shader 3.0. GeforceFX had crappy register usage, and horrible floating point math capabilities. The latest Radeon chips have great FP math, they just lack shader 3, which isn't a big deal just yet. The fact that nvidia had to create a totally new design for the 6800 while all ATI did for X800 was put 2 Radeon 9800 cores into 1 shows just how bad GeforceFX was, and how good R300 was.
Nightcrawler
Romhacking God
Posts: 922
Joined: Wed Jul 28, 2004 11:27 pm
Contact:

Post by Nightcrawler »

MaxSt wrote:
Nightcrawler wrote:No one was talking about HQ4x. That's not gonna fit in any shader. We know that. What's your point?
My point is that hq4x is the only one filter that really clogs the CPU.
Therefore, it's the only filter that make sense to move from CPU to GPU.

MaxSt.
Ok.. I apologize for being harsh in my last post, but without explanation it sounded pointless.

I also find HQ2x to cause some noticable performance loss on my computer(Athlon Thunderbird 1.4Ghz/Geforce 2).

I can also notice a small difference with the likes of Super 2XSAI or Super Eagle. However.. people with older computers such as myself are probaly likely NOT to have a video card capable of shaders anyway. If you have a new enough system to have a video card with those capablities, I guess HQ4x would probably be the only filter that would bog you down.

How large is HQ2x anyway?

Despite noticable CPU drains, offloading any filter will speed things up to some degree.
[url=http://transcorp.romhacking.net]TransCorp[/url] - Home of the Dual Orb 2, Cho Mahou Tairyku Wozz, and Emerald Dragon SFC/SNES translations.
[url=http://www.romhacking.net]ROMhacking.net[/url] - The central hub of the ROM hacking community.
Noxious Ninja
Dark Wind
Posts: 1271
Joined: Thu Jul 29, 2004 8:58 pm
Location: Texas
Contact:

Post by Noxious Ninja »

Yeah, but your GeForce 2 isn't going to be capable of much offloading. Does it even support shaders at all?
[u][url=http://bash.org/?577451]#577451[/url][/u]
Clements
Randomness
Posts: 1172
Joined: Wed Jul 28, 2004 4:01 pm
Location: UK
Contact:

Post by Clements »

GeForce 2's are DirectX 7.0-compliant cards so that do not support PS/VS.
Nightcrawler
Romhacking God
Posts: 922
Joined: Wed Jul 28, 2004 11:27 pm
Contact:

Post by Nightcrawler »

Noxious Ninja wrote:Yeah, but your GeForce 2 isn't going to be capable of much offloading. Does it even support shaders at all?
Nightcrawler wrote:However.. people with older computers such as myself are probaly likely NOT to have a video card capable of shaders anyway.
I just said that. My Geforce 2 wouldn't help in this case.
[url=http://transcorp.romhacking.net]TransCorp[/url] - Home of the Dual Orb 2, Cho Mahou Tairyku Wozz, and Emerald Dragon SFC/SNES translations.
[url=http://www.romhacking.net]ROMhacking.net[/url] - The central hub of the ROM hacking community.
MaxSt
ZSNES Developer
ZSNES Developer
Posts: 113
Joined: Wed Jul 28, 2004 7:07 am
Location: USA
Contact:

Post by MaxSt »

Reznor007 wrote:Of course, if you can free up main CPU time while still having extra filters, isn't that a good thing overall?
I don't see the point. It's CPU's job - to crunch numbers. Why it should sit idle instead?
Nightcrawler wrote:How large is HQ2x anyway?
hq2x32.obj = 90Kb.

MaxSt.
grinvader
ZSNES Shake Shake Prinny
Posts: 5632
Joined: Wed Jul 28, 2004 4:15 pm
Location: PAL50, dood !

Post by grinvader »

Linux debug object files:
-rw------- 1 grin users 182864 Mar 1 20:31 video/hq2x16.o
-rw------- 1 grin users 114800 Mar 1 20:31 video/hq2x32.o
-rw------- 1 grin users 235120 Mar 1 20:31 video/hq3x16.o
-rw------- 1 grin users 144496 Mar 1 20:31 video/hq3x32.o
-rw------- 1 grin users 504992 Mar 1 20:31 video/hq4x16.o
-rw------- 1 grin users 328272 Mar 1 20:31 video/hq4x32.o

Reply to post under this one:
Yeah, I forgot. My obj files are always debug. The release-grade ones are erased upon upx completion.
Last edited by grinvader on Wed Mar 02, 2005 11:51 pm, edited 1 time in total.
皆黙って俺について来い!!

Code: Select all

<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)
Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54
Nach
ZSNES Developer
ZSNES Developer
Posts: 3904
Joined: Tue Jul 27, 2004 10:54 pm
Location: Solar powered park bench
Contact:

Post by Nach »

You mean Linux object files with debugging enabled which is larger.

Windows and Linux object files:
-rw-r--r-- 1 nach nach 161088 2005-03-03 00:49 video/hq2x16.o
-rw-r--r-- 1 nach nach 175232 2005-02-08 04:35 video/hq2x16.obj
-rw-r--r-- 1 nach nach 88640 2005-03-03 00:49 video/hq2x32.o
-rw-r--r-- 1 nach nach 96220 2005-02-08 04:35 video/hq2x32.obj
-rw-r--r-- 1 nach nach 200704 2005-03-03 00:49 video/hq3x16.o
-rw-r--r-- 1 nach nach 217786 2005-02-08 04:35 video/hq3x16.obj
-rw-r--r-- 1 nach nach 103712 2005-03-03 00:49 video/hq3x32.o
-rw-r--r-- 1 nach nach 112102 2005-02-08 04:35 video/hq3x32.obj
-rw-r--r-- 1 nach nach 448640 2005-03-03 00:49 video/hq4x16.o
-rw-r--r-- 1 nach nach 493163 2005-02-08 04:35 video/hq4x16.obj
-rw-r--r-- 1 nach nach 267488 2005-03-03 00:49 video/hq4x32.o
-rw-r--r-- 1 nach nach 294695 2005-02-08 04:35 video/hq4x32.obj
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
Reznor007
Lurker
Posts: 118
Joined: Fri Jul 30, 2004 8:11 am
Contact:

Post by Reznor007 »

MaxSt wrote:
Reznor007 wrote:Of course, if you can free up main CPU time while still having extra filters, isn't that a good thing overall?
I don't see the point. It's CPU's job - to crunch numbers. Why it should sit idle instead?
Nightcrawler wrote:How large is HQ2x anyway?
hq2x32.obj = 90Kb.

MaxSt.
It won't be sitting idle though, it will be busy with emulation. Should we change all DirectDraw acceleration to software so that the CPU won't be idling also?
MaxSt
ZSNES Developer
ZSNES Developer
Posts: 113
Joined: Wed Jul 28, 2004 7:07 am
Location: USA
Contact:

Post by MaxSt »

Reznor007 wrote:It won't be sitting idle though, it will be busy with emulation.
No, it won't be busy with emulation. Emulation is not a big task.

MaxSt.
Malcster
Hazed
Posts: 72
Joined: Wed Jul 28, 2004 7:30 pm

Post by Malcster »

What if you are encoding MP3s or doing some other intensive task at the same time? Just because most CPUs can handle the basic emulation doesn't mean that offloading some of the task to something else has no merit at all. Not that I really know anything about how all this works, but if it is possible to utilise a system more efficiently I don't see why it should be ruled out.
Peace Forever!
Nightcrawler
Romhacking God
Posts: 922
Joined: Wed Jul 28, 2004 11:27 pm
Contact:

Post by Nightcrawler »

I agree. Just because we have a powerful machines, does that make it so we should all code inefficiently? I don't think so. If an obvious opportunity arises to free some CPU time.. why not take it?

You're mentality is basically saying who cares about code optimization if the CPU can already runs it full speed. I'd say most programmers would not share your views there.
[url=http://transcorp.romhacking.net]TransCorp[/url] - Home of the Dual Orb 2, Cho Mahou Tairyku Wozz, and Emerald Dragon SFC/SNES translations.
[url=http://www.romhacking.net]ROMhacking.net[/url] - The central hub of the ROM hacking community.
Reznor007
Lurker
Posts: 118
Joined: Fri Jul 30, 2004 8:11 am
Contact:

Post by Reznor007 »

MaxSt wrote:
Reznor007 wrote:It won't be sitting idle though, it will be busy with emulation.
No, it won't be busy with emulation. Emulation is not a big task.

MaxSt.
Run Gauntlet Legends in MAME then come back and say emulation is not a big task.
MaxSt
ZSNES Developer
ZSNES Developer
Posts: 113
Joined: Wed Jul 28, 2004 7:07 am
Location: USA
Contact:

Post by MaxSt »

Reznor007 wrote:Run Gauntlet Legends in MAME then come back and say emulation is not a big task.
Run ZSNES on P2-400 without gfx enhancements.

Then say how P4-3GHz will be terribly busy with ZSNES emulation.

MaxSt.
daft
Rookie
Posts: 27
Joined: Mon Nov 22, 2004 12:56 am

Re: Opengl for zsnes under win.

Post by daft »

pagefault wrote: Back on topic, thanks I will merge your changes into the latest CVS.
Thank you so much. Greatly looking forward to this in the future.
Reznor007
Lurker
Posts: 118
Joined: Fri Jul 30, 2004 8:11 am
Contact:

Post by Reznor007 »

MaxSt wrote:
Reznor007 wrote:Run Gauntlet Legends in MAME then come back and say emulation is not a big task.
Run ZSNES on P2-400 without gfx enhancements.

Then say how P4-3GHz will be terribly busy with ZSNES emulation.

MaxSt.
You didn't specify SNES emulation though, but that's beside the point. Should we all run software sound cards, video cards, etc simply because the CPU can do the work also? What if I feel like compiling a new MAME build while I play ZSNES?

The way I see it, if you can offload some work onto a separate device, and devote more CPU time to improving emulation then it's an easy answer.
MaxSt
ZSNES Developer
ZSNES Developer
Posts: 113
Joined: Wed Jul 28, 2004 7:07 am
Location: USA
Contact:

Post by MaxSt »

Reznor007 wrote:What if I feel like compiling a new MAME build while I play ZSNES?
I'd say it's your problem.
Reznor007 wrote:The way I see it, if you can offload some work onto a separate device, and devote more CPU time to improving emulation then it's an easy answer.
Emulation won't be improved automatically just because you'll throw more CPU cycles at it. After you achieved 60/60, what else CPU is suppose to do?

MaxSt.
Post Reply