Comments (4)
I have a slight preference to using only the information in the assembly file rather than reusing sections from the original binary - I've just added a feature to inject new custom shaders and currently that only works with HLSL because of the requirement to have an original binary for the assembly shaders. I'm not sure if anyone will ever want to inject a new assembly shader, but maybe if it was copied partially/fully from an existing assembly shader...
The only risk at the moment is if someone has used an assembly shader and removed/corrupted the comment, which will work in the current version but not once we start parsing the comment. I don't think we should worry about this - I doubt that anyone will have done this, and if it has happened they can continue to use an old version or fix the comment.
Good to know that there is info in the WDK - I never installed that either.
from 3dmigoto.
Assembler has not been widely used in 3DMigoto compared to HLSL. When it has been used I don't think the signature comments have been altered or stripped. When disabling shaders sometimes the whole file has been nuked leaving some simple ASM code replacing the content. This is following guides from helixmod. As I see it the commented input and output signature segments have become required as we start parsing these sections in the assembler. You can still strip all assembler code and replace with stubs as long as the signatures are kept or altered but not removed. I won't be able to produce ISGN and OSGN out of thin air.
from 3dmigoto.
This is now implemented in commit f1ade95
The parser is currently in cmd_Decompiler, which manufactures a new shader binary containing ISGN, ISG1, OSGN, OSG5, OSG1, PCSG, PSG1 sections based on what it finds in the comment blocks, and an empty SHDR / SHEX section depending on the shader model. This is passed to the assembler as though it was the original binary which will then replace the SHDR/SHEX section and fill in the hash.
Currently this is restricted to cmd_Decompiler while it undergoes testing (I haven't run it in game yet). Later we can move the code into the assembler itself.
from 3dmigoto.
This is now fully integrated into 3DMigoto 1.2.65, with a config option to enable the signature parsing (mostly in case an existing fix has corrupted the comment blocks)
from 3dmigoto.
Related Issues (20)
- request support for min16f4 instruction HOT 2
- Genshin 3Dmigoto HOT 2
- Getting Resource in 3Dmigoto code using hash HOT 3
- help my lumine is a little broken HOT 14
- BUG: Unwrapped ID3D11Device! (Linux/WINE) HOT 17
- Unable to load 3DMigoto "d3d11.dll" HOT 2
- 3dmigoto no more working in VR with last DCS beta version
- 3dmigoto is crashing/giving me errors for Watch_Dogs HOT 6
- Maybe there's a lack of vertex data HOT 10
- 3DMIGOTO crashing with DCS world OB and WMR (with doc. to reproduce without VR Helmet) HOT 5
- Possible to run 3Dmigoto in Elite Dangerous with OpenXR Toolkit? HOT 3
- Apply shaderfixes on specific objects HOT 7
- how can i run this successfully? HOT 2
- How do I tune d3dx.ini for playing? HOT 4
- Incorrect Vertex data in GF2 Elixium HOT 7
- Why use 3Dmigoto in game will lead to GPU usage decrease and result in a huge decrease in FPS. HOT 10
- Nioh 2, Shader Overwrite ambiguous HOT 9
- Crash with SK. Tried everything. Is there anything that I can do? HOT 4
- 3DMigoto Crashes Granblue Fantasy Relink HOT 7
- CommandList Parameters (thoughts) HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from 3dmigoto.