JeGX HackLAB


Archive for the ‘ati’ tag

Sapphire Radeon 3870-X2 ATOMIC

without comments

La nouvelle carte de Sapphire, la 3870 X2 ATOMIC version, débarquera aux US et en Europe le mois prochain. Cette carte aura 1Go de mémoire GDDR3 et un beau Water Cooler. Belle pièce.

Read the rest of this entry »

Written by JeGX

February 12th, 2008 at 10:49 am

Posted in Hardware

Tagged with , , , ,

GLSL: ATI vs NVIDIA – Part…

with one comment

While I was releasing the Julia’s Fractal demo, I tested it on NVIDIA and ATI (as usual before releasing a demo). And as usual, a new difference appeared in the way the GLSL is supported on ATI and on NVIDIA. On NVIDIA the following is line is ok but produces an error on ATI (Catalyst 8.1):

gl_FragColor = texture1D(tex, (float)(i == max_i ? 0 : i) / 100);			

To be ATI Radeon-compliant, this instruction must be split in two:

if( i == max_i )
{
	gl_FragColor = texture1D(tex, 0.0);			
}
else
{
	gl_FragColor = texture1D(tex, i/100.0);			
}

I can’t immagine a world with more than two major graphics cards manufacturers. But if such a world exists, I stop 3d programming… Fortunately, NVIDIA accepts ATI GLSL syntax so there is only one code at the end. Conlusion: always check your GLSL shaders on ATI and NVIDIA before releasing a demo…

Written by JeGX

January 18th, 2008 at 11:55 pm

Posted in OpenGL

Tagged with , , ,

Radeon HD 3870 X2 en Video

without comments

Voilà histoire de bosser notre anglais, la Radeon HD 3870 X2 en video…



Written by JeGX

January 14th, 2008 at 11:41 am

Powercolor HD3870 vs HD2900XT vs HD3850 Review

without comments

Petit test sympathique des dernieres Radeon. Pourquoi sympathique? Tout simplement parcequ’il utilise le fur benchmark en plus des éternels 3dmark ou jeux vidéos (genre crysis, quake wars). C’est le second test que je trouve qui utilise le fur benchmark et ils ont raison. Les gros benchmarks comme 3DMark/Crysis font travailler le GPU mais aussi le CPU et îl n’est parfois pas très évident de voir l’influence d’une carte graphique avec ce genre de test. En fait ces tests doivent être réservés pour bencher une configuration complète (CPU/RAM/GPU) pour gamers. Mais si l’on veut se concentrer uniquement sur la carte graphique, il faut que la charge CPU soit le plus faible possible (pas de trop quand même sinon le GPU va commencer à attendre les données). En ce sens, le fur benchmark convient très bien car sa charge CPU est relativement faible et la charge GPU très élevée. Du coup, pratiquement n’importe quel système CPU/RAM (bon peut être pas un PIII mais sait-on jamais) est bon pour bencher une carte 3d avec le fur benchmark.

Le test complet se trouve ici: www.virtualegion.com/index.php?topic=1637.0

Written by JeGX

December 21st, 2007 at 5:12 pm

Catalyst 7.9, Radeon 2900 and Surface Deformer

without comments

From oZone3D.Net Forums, the Catalyst 7.9 seems to unleash ATI Radeon 2900 GPU. The Surface Deformer benchmark is a benchmark that requires a lot of vertex processing horse power. With Catalyst prior to 7.9, the score of an ATI 2900 was around 8000 o3Marks (that was already high). Now with Catalyst 7.9, the 2900 gets a score of 15000 o3Marks. Incredible!!! Why such a big big jump in OpenGL performance ?

My first thought is that ATI has managed to use correctly the unified arch of the R600 gpu. With unified arch, the workload is distribued over all shaders processors no matter the type of the shader prog (vertex or pixel). So if the vertex shader needs more processing power than the pixel shader, more shaders processors will be used for the vertex shader. My second thought: unified arch has involved new kernel code for catalyst and simply ATI has optimized the R600 codepath. A driver for a modern GPU like the R600 is a very complex piece of code and optimizing such a code is a huge task….

Written by JeGX

September 12th, 2007 at 9:03 am

Catalyst 7.9 and Radeon 2K Shadow Mapping Bug

without comments

I found this bug while I was coding a new small soft shadows demo for GPU Caps Viewer. Soft shadows are built on shadow mapping and my OpenGL shadow mapping code works perfectly on all Geforce 6/7/8 and Radeon 1k but not on Radeon 2K (2400/2600/2900). Why ? Because of the shadow mapping comparison function that had a serious bug! To be short, the comparison function was supposed to return a boolean value (if shadow returns 0, else returns 1) and before Catalyst 7.9, this function returned, for Radeon 2K, the depth buffer value (as if the comparison function was disabled). But this bug is now a memory since Catalyst 7.9 has fixed it.

I guess we can say thanks to Quake Wars, that has been released few days ago and that is an OpenGL game. For this game (that is really nice), ATI has fixed all major OpenGL bugs.

Written by JeGX

September 12th, 2007 at 9:00 am

Posted in OpenGL

Tagged with , , , , ,

GLSL: ATI vs NVIDIA

without comments

Today two new differences between Radeon and Geforce GLSL support.

1 – float2 / vec2
vec2 is the GLSL type to hold a 2d vector. vec2 is supported by NVIDIA and ATI. float2 is a 2d vector but for Direct3D HLSL and for Cg. The GLSL compilation for Geforce is done via the NVIDIA Cg compiler. Here is the GLSL version displayed by GPU Caps Viewer: 1.20 NVIDIA via Cg compiler. That explains why a GLSL source that contains a float2 is compilable on NVIDIA hardware. But the GLSL compiler of ATI is strict and doesn’t recognize the float2 type.

2 – the following line:

vec2 vec = texture2D( tex, gl_TexCoord[0].st );

is valid for NVIDIA compiler but produces an error with ATI compiler. One again, the ATI GLSL compiler has done a good job. By default, texture2D() returns a 4d vector. The right syntax is:

vec2 vec = texture2D( tex, gl_TexCoord[0].st ).xy;

Conclusion: always test your shaders on both ATI and NVIDIA platforms unless you target one platform only.

Written by JeGX

May 29th, 2007 at 9:48 am

Posted in OpenGL,Programming

Tagged with , , , , ,

Uniform Arrays in GLSL

without comments

A new version of the Soft Shadows Benchmark is available but this time using uniform arrays to pass the blurring kernel to the pixel shader. On nVidia boards, there is a little increase of speed (1 or 2 fps). On my X700… black screen… Houston, we’ve got a problem… This is with Catalyst 6.6. Okay I try the very latest Catalyst, the 6.7. Bad idea, it’s worse! Both versions (with and without uniform arrays) do not work anymore with C6.7. Back to C6.6. That really sucks! :thumbdown:

But I’ve just received a feedback telling me that the uniform arrays version works fine on an ATI X1600 Pro with C6.5. :thumbup:

Okay, there is certainly a problem with the X*** series and uniform arrays.

Written by JeGX

August 8th, 2006 at 6:30 pm

Posted in OpenGL

Tagged with , , , ,

ATI and Depth Map Filtering

without comments

I’ve just found in the super paper of ATI, called “ATI OpenGL Programming and Optimization Guide” that all ATI GPUs from the R300 (Radeon 9700) to the latest R580 (Radeon X1900) only support NEAREST (and the mipmap version) filtering for depth map. That explains the previous results. So if you want a nVidia-like depth map filtering, you have to code the filtering yourself in the pixel shader. Okay, this answer suits me!

Written by JeGX

August 6th, 2006 at 8:07 pm

Posted in OpenGL

Tagged with , , , ,

Depth Map Filtering – ATI vs NVIDIA

without comments

Really ATI has some problems with OpenGL. Now I’m working on soft shadows and my tmp devstation has a Radeon X700 (not the top-notch I know but an enough powerful CG). With my X700 (Catalyst 6.6) the soft shadow edges are rendered as follows:

And on my second CG, a nVidia 6600gt (forceware 91.31), the soft shadows are as follows:

The GLSL shaders are the same, a 5×5 bluring kernel, with a shadow map (or depth map as you want) of 1024×1024 (via a FBO) with a linear filtering. Now if I set the nearest filtering mode, I get the following results for the X700:

and for the 6600gt:

It seems as if the Radeon GPU has a bug in the filtering module when the gpu has to apply a linear filter on a depth map. Very strange.
I’m not satisfied by this explanation but it’s the only I see for the moment.

This kind of problem shows how it’s important for a graphics developer to have at least 2 workstations, one with a nVidia board and the other with an ATI CG. I tell you, realtime 3D is made of blood, sweat and screams! :winkhappy:

Written by JeGX

August 6th, 2006 at 6:00 pm