I have solved the precision problem with MS disassembler.
I take the binary and let MS disassembler do it's thing. For every numeric string MS disassembler produce less than perfect result I take the binary float, convert it with retained precision and replace the string in the assembler code. You need to keep the assembler file and the binary file in sync or everything will fail. I've known about the problem but delayed the solution as I didn't know the right approach. I really didn't want to write a disassembler with the very limited documentation on the topic. One drawback is that it can't fix existing problems. It works on the original bin/asm. One option is to dump the file again and apply the fix again. Not very nice. It's in the early stages, next is bringing it to 3Dmigoto and HLSL.
I take the binary and let MS disassembler do it's thing.

For every numeric string MS disassembler produce less than perfect result I take the binary float, convert it with retained precision and replace the string in the assembler code.

You need to keep the assembler file and the binary file in sync or everything will fail.

I've known about the problem but delayed the solution as I didn't know the right approach.
I really didn't want to write a disassembler with the very limited documentation on the topic.

One drawback is that it can't fix existing problems. It works on the original bin/asm. One option is to dump the file again and apply the fix again. Not very nice.

It's in the early stages, next is bringing it to 3Dmigoto and HLSL.

Thanks to everybody using my assembler it warms my heart.
To have a critical piece of code that everyone can enjoy!
What more can you ask for?

donations: ulfjalmbrant@hotmail.com

#1
Posted 06/22/2015 09:57 PM   
Congratulations! :)
Congratulations! :)

#2
Posted 06/23/2015 12:19 AM   
Very nice :) I've fixed all the precision issues in asm shaders in the Witcher via my own script (which doesn't always get it right), but this will be extremely handy for new shaders and I know Mike has been using the assembler in other games as well :) Congratulations!
Very nice :)

I've fixed all the precision issues in asm shaders in the Witcher via my own script (which doesn't always get it right), but this will be extremely handy for new shaders and I know Mike has been using the assembler in other games as well :)

Congratulations!

2x Geforce GTX 980 in SLI provided by NVIDIA, i7 6700K 4GHz CPU, Asus 27" VG278HE 144Hz 3D Monitor, BenQ W1070 3D Projector, 120" Elite Screens YardMaster 2, 32GB Corsair DDR4 3200MHz RAM, Samsung 850 EVO 500G SSD, 4x750GB HDD in RAID5, Gigabyte Z170X-Gaming 7 Motherboard, Corsair Obsidian 750D Airflow Edition Case, Corsair RM850i PSU, HTC Vive, Win 10 64bit

Alienware M17x R4 w/ built in 3D, Intel i7 3740QM, GTX 680m 2GB, 16GB DDR3 1600MHz RAM, Win7 64bit, 1TB SSD, 1TB HDD, 750GB HDD

Pre-release 3D fixes, shadertool.py and other goodies: http://github.com/DarkStarSword/3d-fixes
Support me on Patreon: https://www.patreon.com/DarkStarSword or PayPal: https://www.paypal.me/DarkStarSword

#3
Posted 06/23/2015 01:30 AM   
Scroll To Top