NV30 / 31 / 34 not DX9-compliant ???

mboeller said:
http://www.digit-life.com/articles2/ps-precision/index.html


All NV3x card except the NV35 only support 16bit precision in DX9; so imho they are not DX9 compliant. Is this true?

...it's all in the drivers m8. ;)
 
Yes it's true but it seems that the 44.03 forces them, wheeas others doesn't. According to HFR, 44.03 does froces FP16/12 on the 5600 Ultra. But with some tweaking on the 44.10 for quadros and help from Nv, they were able to make the FP32, the default setting.

what is interesting, is that there's no performance gap between FP16 and FP32 on the 5600U. So why does Nv force FP16?

En ce qui concerne les problèmes mis en avant lors de notre test de la 5600 Ultra, nous avons travaillé en collaboration avec NVIDIA pour en savoir plus. Finalement, le problème de qualité des GeForce FX 5600 sous Direct3D avec les Detonator 44.03 WHQL (derniers officiels en date) n´est pas lié à Windows XP Français (ou tout du moins pas totalement) mais bien aux 44.03 qui forcent une précision partielle (FP16 ou FX12) par défaut, alors qu´une carte suivant la norme DirectX 9 se doit d´avoir par défaut une précision d´au moins 24 bits en virgule flottante. Un passage aux 44.10, initialement mis en ligne par Dell pour la ligne Quadro mais modifiés pour prendre en contre tous les GPU NVIDIA, permet de contourner le problème et d´avoir une précision de type FP32 par défaut.

Les performances restent par contre inchangées par rapport aux 44.03, et on obtient toujours 6 fps sous le test Pixel Shader 2.0 de 3DMark03 sur une 5600, contre 28 pour une 9600 Pro, ou encore 16 fps en fenêtré sous Mandelbrot que ce soit en mode full précision ou partial précision, contre 57 fps sur une 9600 Pro en full précision (le mode partial précision n´est pas pris en compte chez ATI, l´architecture DX9 du constructeur étant aussi rapide en FP16 qu´en FP24). Ces performances inchangées nous interrogent sur l´intérêt réel qu´avait NVIDIA a forcer une précision partielle avec ces drivers 44.03 ...
http://www.hardware.fr/articles/468/page4.html
 
Yep, FP16 in DirectX is forced by drivers. But I still have to see any drivers what support FP32 in DirectX for NV30/NV31/NV34. I've also tested QuadroFX with 42.81 drivers and it forces FP16 precision in PS 2.0 too.

what is interesting, is that there's no performance gap between FP16 and FP32 on the 5600U. So why does Nv force FP16?
in 3DMark03? Why it surprises you? NVIDIA just replaces these shaders with some predefined code.
 
These are NV31 numbers not NV35 and there's no drivers replacement in 3DMark v330...
*edit* and the FPS is also the same in FP16/32 on the Mandelbrot test.
 
http://www.beyond3d.com/interviews/ps_precision/index.php?p=4

During the course of conducting this interview, we received word that NVIDIAs 50.xx series of drivers (beta) have some changes (compared to current 4x.xx drivers) with regards to precision -- from a quality and fidelity point-of-view, it appears to be good news. We attempted to get a publishable comment from NVIDIA regarding this but have not received any acknowledgement as yet. Of course, internal beta drivers may not (usually) mean public drivers so unless we receive official acknowledgement of this from NVIDIA, we usually take these sort of honest info from our sources with a grain of salt.
 
Evildeus said:
I don't know, till i wasn't the one making the test. Btw the 44.65 seems to force FP32 on all NV3* chips.
Seems so:
Code:
====================================================================
PixelShader 2.0 precision test. Version 1.3
Copyright (c) 2003 by ReactorCritical / iXBT.com
Questions, bug reports send to: [email]clootie@ixbt.com[/email]

Device: NVIDIA GeForce FX 5600
Driver: nv4_disp.dll
Driver version: 6.14.10.4465

Registers precision:
Rxx = s23e8 (temporary registers)
Cxx = s23e8 (constant registers)
Txx = s23e8 (texture coordinates)

Registers precision in partial precision mode:
Rxx = s10e5 (temporary registers)
Cxx = s10e5 (constant registers)
Txx = s23e8 (texture coordinates)
Anyone with NV30/NV34?
 
Code:
PixelShader 2.0 precision test. Version 1.3 
Copyright (c) 2003 by ReactorCritical / iXBT.com 
Questions, bug reports send to: [email]clootie@ixbt.com[/email] 

Device: NVIDIA GeForce FX 5200 
Driver: nv4_disp.dll 
Driver version: 6.14.10.4465 

Registers precision: 
Rxx = s23e8 (temporary registers) 
Cxx = s23e8 (constant registers) 
Txx = s23e8 (texture coordinates) 

Registers precision in partial precision mode: 
Rxx = s10e5 (temporary registers) 
Cxx = s10e5 (constant registers) 
Txx = s23e8 (texture coordinates)
http://www.3dchips-fr.com/News/news.php?id=200306183
 
Reverend said:
http://www.beyond3d.com/interviews/ps_precision/index.php?p=4

During the course of conducting this interview, we received word that NVIDIAs 50.xx series of drivers (beta) have some changes (compared to current 4x.xx drivers) with regards to precision -- from a quality and fidelity point-of-view, it appears to be good news. We attempted to get a publishable comment from NVIDIA regarding this but have not received any acknowledgement as yet. Of course, internal beta drivers may not (usually) mean public drivers so unless we receive official acknowledgement of this from NVIDIA, we usually take these sort of honest info from our sources with a grain of salt.
It would if they made that a driver tab! What do you think?
 
Drivers seems not forcing FP16 for certain applications. They are replacing shaders bytecode after detecting it by executing hash function over code. And shaders really executed in hardware instead of submitted by program IMHO are hand turned with mix of FX & FP instructions.
 
Back
Top