View Single Post
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