[quote=davegl1234]After some testing, it seems as if any call to nvapi drastically reduces FPS, regardless of what the call is.
I tried re-downloading the existing 3DMigoto (with the bare-bones chirri wrapper), ripped out the nvapi project and statically linked to the nvapi library (as nvidia instruct), and then called NvAPI_Stereo_IsActivated 10 times on present. FPS dropped from 70 - 50 with the 'is stereo activated' calls in place...which seems excessive. I have tried different nvapi calls and the same fps drop occurs.[/quote]I remember Frozenbyte hit this issue back in the day for Trine and had to restructure their code to minimise nvapi calls, and I'm pretty sure Helix must of as well since he only fetches the 3D Vision settings once a second or so rather than every frame.
In general, we should aim to eliminate any excess nvapi calls we may be making to cap it to one of each per frame - so, we should consolidate the calls in nvstereo.h and the overlay to use cached values updated once per frame (just after the present call is the best time to update these). The command list could also use the same cached values, but that is less important since it won't make any nvapi calls by default.
[quote="DetectiveJohnKimble"]While we're on the subject of non 3D related mods with 3Dmigoto, I'm wondering if I should upload my mods without the nvapi.dll / nvapi64.dll file? Apparently you have fixed the AMD issue by not including that file:[/quote]Correct - do not ship the nvapi wrapper if you intend for AMD/intel users to use your mod (e.g. this is how I ship the Dead or Alive Xtreme Venus Vacation mod since it is also used as a base by other modding communities).
In fact - very few of our fixes actually require the nvapi wrapper at all, and most of our fixes could drop it. It's necessary for CryEngine games to force disable 3D Vision Direct mode (alternative: StereoMiscFlags=0x00000400 does the same thing), certain games that lock the separation or convergence or a few other cases like where we want to prevent the game recognising that it is running on an nvidia system. I wouldn't mind absorbing it into the d3d11.dll and hooking any procedures that we need instead.
davegl1234 said:After some testing, it seems as if any call to nvapi drastically reduces FPS, regardless of what the call is.
I tried re-downloading the existing 3DMigoto (with the bare-bones chirri wrapper), ripped out the nvapi project and statically linked to the nvapi library (as nvidia instruct), and then called NvAPI_Stereo_IsActivated 10 times on present. FPS dropped from 70 - 50 with the 'is stereo activated' calls in place...which seems excessive. I have tried different nvapi calls and the same fps drop occurs.
I remember Frozenbyte hit this issue back in the day for Trine and had to restructure their code to minimise nvapi calls, and I'm pretty sure Helix must of as well since he only fetches the 3D Vision settings once a second or so rather than every frame.
In general, we should aim to eliminate any excess nvapi calls we may be making to cap it to one of each per frame - so, we should consolidate the calls in nvstereo.h and the overlay to use cached values updated once per frame (just after the present call is the best time to update these). The command list could also use the same cached values, but that is less important since it won't make any nvapi calls by default.
DetectiveJohnKimble said:While we're on the subject of non 3D related mods with 3Dmigoto, I'm wondering if I should upload my mods without the nvapi.dll / nvapi64.dll file? Apparently you have fixed the AMD issue by not including that file:
Correct - do not ship the nvapi wrapper if you intend for AMD/intel users to use your mod (e.g. this is how I ship the Dead or Alive Xtreme Venus Vacation mod since it is also used as a base by other modding communities).
In fact - very few of our fixes actually require the nvapi wrapper at all, and most of our fixes could drop it. It's necessary for CryEngine games to force disable 3D Vision Direct mode (alternative: StereoMiscFlags=0x00000400 does the same thing), certain games that lock the separation or convergence or a few other cases like where we want to prevent the game recognising that it is running on an nvidia system. I wouldn't mind absorbing it into the d3d11.dll and hooking any procedures that we need instead.
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
[quote="bo3b"]
I'm not really sure what the state of our general modding support is here. Much better than before, but I've never personally used or tested this, so I don't know the details.
It seems to me the best approach for non-3D modding would be to not include the nvapi64.dll file. Fairly sure that we get an error, but now continue on. Should work on NVidia and AMD and Intel this way.
[/quote]
[quote="DarkStarSword"]Correct - do not ship the nvapi wrapper if you intend for AMD/intel users to use your mod (e.g. this is how I ship the Dead or Alive Xtreme Venus Vacation mod since it is also used as a base by other modding communities).
In fact - very few of our fixes actually require the nvapi wrapper at all, and most of our fixes could drop it. It's necessary for CryEngine games to force disable 3D Vision Direct mode (alternative: StereoMiscFlags=0x00000400 does the same thing), certain games that lock the separation or convergence or a few other cases like where we want to prevent the game recognising that it is running on an nvidia system. I wouldn't mind absorbing it into the d3d11.dll and hooking any procedures that we need instead.[/quote]
Thanks guys, that's good to know.
bo3b said:
I'm not really sure what the state of our general modding support is here. Much better than before, but I've never personally used or tested this, so I don't know the details.
It seems to me the best approach for non-3D modding would be to not include the nvapi64.dll file. Fairly sure that we get an error, but now continue on. Should work on NVidia and AMD and Intel this way.
DarkStarSword said:Correct - do not ship the nvapi wrapper if you intend for AMD/intel users to use your mod (e.g. this is how I ship the Dead or Alive Xtreme Venus Vacation mod since it is also used as a base by other modding communities).
In fact - very few of our fixes actually require the nvapi wrapper at all, and most of our fixes could drop it. It's necessary for CryEngine games to force disable 3D Vision Direct mode (alternative: StereoMiscFlags=0x00000400 does the same thing), certain games that lock the separation or convergence or a few other cases like where we want to prevent the game recognising that it is running on an nvidia system. I wouldn't mind absorbing it into the d3d11.dll and hooking any procedures that we need instead.
Thanks guys, that's good to know.
1080 Ti - i7 5820k - 16Gb RAM - Win 10 version 1607 - ASUS VG236H (1920x1080@120Hz)
Can there be a reason why "dump_cb" (at least in "txt", I didn't try other formats) for frame analysis doesn't dump any constant buffers for shaders? It happens in Yakuza 0 and I could guess what I needed for shadows, but there's another effect where I don't know what I need.
About the "convergence=0" problem (it's in the git issues), could it be related to the new programmming capabilities in d3dx.ini?
Edit: meaning that "convergence=0" can mean both "for this shader" and "globally" at the same time, and that maybe they need different names to distinguish them.
Can there be a reason why "dump_cb" (at least in "txt", I didn't try other formats) for frame analysis doesn't dump any constant buffers for shaders? It happens in Yakuza 0 and I could guess what I needed for shadows, but there's another effect where I don't know what I need.
About the "convergence=0" problem (it's in the git issues), could it be related to the new programmming capabilities in d3dx.ini?
Edit: meaning that "convergence=0" can mean both "for this shader" and "globally" at the same time, and that maybe they need different names to distinguish them.
[quote="DarkStarSword"][quote=davegl1234]After some testing, it seems as if any call to nvapi drastically reduces FPS, regardless of what the call is.
I tried re-downloading the existing 3DMigoto (with the bare-bones chirri wrapper), ripped out the nvapi project and statically linked to the nvapi library (as nvidia instruct), and then called NvAPI_Stereo_IsActivated 10 times on present. FPS dropped from 70 - 50 with the 'is stereo activated' calls in place...which seems excessive. I have tried different nvapi calls and the same fps drop occurs.[/quote]I remember Frozenbyte hit this issue back in the day for Trine and had to restructure their code to minimise nvapi calls, and I'm pretty sure Helix must of as well since he only fetches the 3D Vision settings once a second or so rather than every frame.
In general, we should aim to eliminate any excess nvapi calls we may be making to cap it to one of each per frame - so, we should consolidate the calls in nvstereo.h and the overlay to use cached values updated once per frame (just after the present call is the best time to update these). The command list could also use the same cached values, but that is less important since it won't make any nvapi calls by default.
[quote="DetectiveJohnKimble"]While we're on the subject of non 3D related mods with 3Dmigoto, I'm wondering if I should upload my mods without the nvapi.dll / nvapi64.dll file? Apparently you have fixed the AMD issue by not including that file:[/quote]Correct - do not ship the nvapi wrapper if you intend for AMD/intel users to use your mod (e.g. this is how I ship the Dead or Alive Xtreme Venus Vacation mod since it is also used as a base by other modding communities).
In fact - very few of our fixes actually require the nvapi wrapper at all, and most of our fixes could drop it. It's necessary for CryEngine games to force disable 3D Vision Direct mode (alternative: StereoMiscFlags=0x00000400 does the same thing), certain games that lock the separation or convergence or a few other cases like where we want to prevent the game recognising that it is running on an nvidia system. I wouldn't mind absorbing it into the d3d11.dll and hooking any procedures that we need instead.[/quote]
Ah ok, so its probably always been an issue, cheers.
I have restructured parts of the code to minimize nvapi calls, and with the sbs shader the performance is good again, as far as this issue is concerned. However, the SLI stereo2mono bottleneck is presently too severe, even when downsampling beforehand.....it seems at a glance even more of a problem in DX9 than DX11. I am running out of things to try, to be honest.
davegl1234 said:After some testing, it seems as if any call to nvapi drastically reduces FPS, regardless of what the call is.
I tried re-downloading the existing 3DMigoto (with the bare-bones chirri wrapper), ripped out the nvapi project and statically linked to the nvapi library (as nvidia instruct), and then called NvAPI_Stereo_IsActivated 10 times on present. FPS dropped from 70 - 50 with the 'is stereo activated' calls in place...which seems excessive. I have tried different nvapi calls and the same fps drop occurs.
I remember Frozenbyte hit this issue back in the day for Trine and had to restructure their code to minimise nvapi calls, and I'm pretty sure Helix must of as well since he only fetches the 3D Vision settings once a second or so rather than every frame.
In general, we should aim to eliminate any excess nvapi calls we may be making to cap it to one of each per frame - so, we should consolidate the calls in nvstereo.h and the overlay to use cached values updated once per frame (just after the present call is the best time to update these). The command list could also use the same cached values, but that is less important since it won't make any nvapi calls by default.
DetectiveJohnKimble said:While we're on the subject of non 3D related mods with 3Dmigoto, I'm wondering if I should upload my mods without the nvapi.dll / nvapi64.dll file? Apparently you have fixed the AMD issue by not including that file:
Correct - do not ship the nvapi wrapper if you intend for AMD/intel users to use your mod (e.g. this is how I ship the Dead or Alive Xtreme Venus Vacation mod since it is also used as a base by other modding communities).
In fact - very few of our fixes actually require the nvapi wrapper at all, and most of our fixes could drop it. It's necessary for CryEngine games to force disable 3D Vision Direct mode (alternative: StereoMiscFlags=0x00000400 does the same thing), certain games that lock the separation or convergence or a few other cases like where we want to prevent the game recognising that it is running on an nvidia system. I wouldn't mind absorbing it into the d3d11.dll and hooking any procedures that we need instead.
Ah ok, so its probably always been an issue, cheers.
I have restructured parts of the code to minimize nvapi calls, and with the sbs shader the performance is good again, as far as this issue is concerned. However, the SLI stereo2mono bottleneck is presently too severe, even when downsampling beforehand.....it seems at a glance even more of a problem in DX9 than DX11. I am running out of things to try, to be honest.
[quote="davegl1234"][quote="DarkStarSword"][quote=davegl1234]After some testing, it seems as if any call to nvapi drastically reduces FPS, regardless of what the call is.
I tried re-downloading the existing 3DMigoto (with the bare-bones chirri wrapper), ripped out the nvapi project and statically linked to the nvapi library (as nvidia instruct), and then called NvAPI_Stereo_IsActivated 10 times on present. FPS dropped from 70 - 50 with the 'is stereo activated' calls in place...which seems excessive. I have tried different nvapi calls and the same fps drop occurs.[/quote]I remember Frozenbyte hit this issue back in the day for Trine and had to restructure their code to minimise nvapi calls, and I'm pretty sure Helix must of as well since he only fetches the 3D Vision settings once a second or so rather than every frame.
In general, we should aim to eliminate any excess nvapi calls we may be making to cap it to one of each per frame - so, we should consolidate the calls in nvstereo.h and the overlay to use cached values updated once per frame (just after the present call is the best time to update these). The command list could also use the same cached values, but that is less important since it won't make any nvapi calls by default.
[quote="DetectiveJohnKimble"]While we're on the subject of non 3D related mods with 3Dmigoto, I'm wondering if I should upload my mods without the nvapi.dll / nvapi64.dll file? Apparently you have fixed the AMD issue by not including that file:[/quote]Correct - do not ship the nvapi wrapper if you intend for AMD/intel users to use your mod (e.g. this is how I ship the Dead or Alive Xtreme Venus Vacation mod since it is also used as a base by other modding communities).
In fact - very few of our fixes actually require the nvapi wrapper at all, and most of our fixes could drop it. It's necessary for CryEngine games to force disable 3D Vision Direct mode (alternative: StereoMiscFlags=0x00000400 does the same thing), certain games that lock the separation or convergence or a few other cases like where we want to prevent the game recognising that it is running on an nvidia system. I wouldn't mind absorbing it into the d3d11.dll and hooking any procedures that we need instead.[/quote]
Ah ok, so its probably always been an issue, cheers.
I have restructured parts of the code to minimize nvapi calls, and with the sbs shader the performance is good again, as far as this issue is concerned. However, the SLI stereo2mono bottleneck is presently too severe, even when downsampling beforehand.....it seems at a glance even more of a problem in DX9 than DX11. I am running out of things to try, to be honest.[/quote]
After testing a bit more, in SWTOR at least, the reverse stereo blit bottleneck appears to exist down to at least 1366×768....did you find in DX11 that the frame rates stablized at about 1080p? I wonder why it would be more severe in DX9 (I have the high bandwidth bridge).
At 1440p and with no downsampling, whilst testing, I noticed that an unnecessary SLI transfer was occurring, with 3D disabled, during the reverse stereo blit; the double width mono texture was being copied between cards. FPS at this point was 90. I made sure to clear said texture before use, and fps shot up to 200+ with 3d disabled (swtor fps is capped at 200). With 3D activated, and thus requiring a copy between cards (of I guess 50% larger than the double width mono texture - copy one eye across, copy the mono texture back?), fps is at 45....does that seem excessively low to you (200+ with 3d disabled, 45 with the 3d + SLI transfer), and that perhaps there is something else awry here?
Thanks for any help!
davegl1234 said:After some testing, it seems as if any call to nvapi drastically reduces FPS, regardless of what the call is.
I tried re-downloading the existing 3DMigoto (with the bare-bones chirri wrapper), ripped out the nvapi project and statically linked to the nvapi library (as nvidia instruct), and then called NvAPI_Stereo_IsActivated 10 times on present. FPS dropped from 70 - 50 with the 'is stereo activated' calls in place...which seems excessive. I have tried different nvapi calls and the same fps drop occurs.
I remember Frozenbyte hit this issue back in the day for Trine and had to restructure their code to minimise nvapi calls, and I'm pretty sure Helix must of as well since he only fetches the 3D Vision settings once a second or so rather than every frame.
In general, we should aim to eliminate any excess nvapi calls we may be making to cap it to one of each per frame - so, we should consolidate the calls in nvstereo.h and the overlay to use cached values updated once per frame (just after the present call is the best time to update these). The command list could also use the same cached values, but that is less important since it won't make any nvapi calls by default.
DetectiveJohnKimble said:While we're on the subject of non 3D related mods with 3Dmigoto, I'm wondering if I should upload my mods without the nvapi.dll / nvapi64.dll file? Apparently you have fixed the AMD issue by not including that file:
Correct - do not ship the nvapi wrapper if you intend for AMD/intel users to use your mod (e.g. this is how I ship the Dead or Alive Xtreme Venus Vacation mod since it is also used as a base by other modding communities).
In fact - very few of our fixes actually require the nvapi wrapper at all, and most of our fixes could drop it. It's necessary for CryEngine games to force disable 3D Vision Direct mode (alternative: StereoMiscFlags=0x00000400 does the same thing), certain games that lock the separation or convergence or a few other cases like where we want to prevent the game recognising that it is running on an nvidia system. I wouldn't mind absorbing it into the d3d11.dll and hooking any procedures that we need instead.
Ah ok, so its probably always been an issue, cheers.
I have restructured parts of the code to minimize nvapi calls, and with the sbs shader the performance is good again, as far as this issue is concerned. However, the SLI stereo2mono bottleneck is presently too severe, even when downsampling beforehand.....it seems at a glance even more of a problem in DX9 than DX11. I am running out of things to try, to be honest.
After testing a bit more, in SWTOR at least, the reverse stereo blit bottleneck appears to exist down to at least 1366×768....did you find in DX11 that the frame rates stablized at about 1080p? I wonder why it would be more severe in DX9 (I have the high bandwidth bridge).
At 1440p and with no downsampling, whilst testing, I noticed that an unnecessary SLI transfer was occurring, with 3D disabled, during the reverse stereo blit; the double width mono texture was being copied between cards. FPS at this point was 90. I made sure to clear said texture before use, and fps shot up to 200+ with 3d disabled (swtor fps is capped at 200). With 3D activated, and thus requiring a copy between cards (of I guess 50% larger than the double width mono texture - copy one eye across, copy the mono texture back?), fps is at 45....does that seem excessively low to you (200+ with 3d disabled, 45 with the 3d + SLI transfer), and that perhaps there is something else awry here?
Hi,
It seems there is something wrong when dump_vb is used in Yakuza 0
something like a memory corruption
all SemanticName in generated files are corrupted and contains weird stuff
E.g: in 000002-vb0=77b965f7-vs=88dcae70481ae355-ps=5192336b8a934d4b.txt
element[0]:
SemanticName: @ÂV
SemanticIndex: 0
Format: R32G32B32_FLOAT
...
@DSS I tested the mod tooling you created with World of Final Fantasy and face an issue you might be able to help with:
When I simply import a mesh in blender and export it with whatever changes (even no change at all), it works but not 100%. The mesh is replaced but the texture colors are faded and it does not react anymore for instance to the casted shadows from external object.
Thanks & Rgds
@DSS I tested the mod tooling you created with World of Final Fantasy and face an issue you might be able to help with:
When I simply import a mesh in blender and export it with whatever changes (even no change at all), it works but not 100%. The mesh is replaced but the texture colors are faded and it does not react anymore for instance to the casted shadows from external object.
@davegl1234, just wanted to say that I can't help with your queries but I think what you're doing is great and a brilliant effort, so thanks.
We've all got back catalogues of games and recently I decided to pick up Witcher 2 again. I wanted to use SBS/Upscaling, but can't because it's DX9... Perfect example of how someone like me would really benefit from what you're trying to do.
@davegl1234, just wanted to say that I can't help with your queries but I think what you're doing is great and a brilliant effort, so thanks.
We've all got back catalogues of games and recently I decided to pick up Witcher 2 again. I wanted to use SBS/Upscaling, but can't because it's DX9... Perfect example of how someone like me would really benefit from what you're trying to do.
Gigabyte RTX2080TI Gaming OC, I7-6700k ~ 4.4Ghz, 3x BenQ XL2420T, BenQ TK800, LG 55EG960V (3D OLED), Samsung 850 EVO SSD, Crucial M4 SSD, 3D vision kit, Xpand x104 glasses, Corsair HX1000i, Win 10 pro 64/Win 7 64https://www.3dmark.com/fs/9529310
It is based on my DX9 wrapper.
Without figuring out how HeliX hashes shaders existing fixes would be worthless.
Obvously not all fixes work with my DX9 wrapper.
davegl1234 has done a lot of work.
Nice to see more people dedicated to making 3D Vision a better place.
HeliX mod is a lot more advanced than my wrapper and it's hard to bridge that gap.
It is based on my DX9 wrapper.
Without figuring out how HeliX hashes shaders existing fixes would be worthless.
Obvously not all fixes work with my DX9 wrapper.
davegl1234 has done a lot of work.
Nice to see more people dedicated to making 3D Vision a better place.
HeliX mod is a lot more advanced than my wrapper and it's hard to bridge that gap.
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?
I have a question about dynamic HUD. There's for example a lock-on circle in Dragon Ball Xenoverse 2. But after a certain distance, the circle is bigger than the character, so the texture sticks to what is behind the character, which is usually the infinite or distant geometry. Is there a way to use the depth of the center of the texture (preferably the "usage" of the texture and not the center of the texture file, which can contain a lot of icons) instead of the SV_POSITION vertex coordinates? Maybe I have to try the X and Y axes of a TEXCOORD. Noting that to myself for when I'm home.
I have a question about dynamic HUD. There's for example a lock-on circle in Dragon Ball Xenoverse 2. But after a certain distance, the circle is bigger than the character, so the texture sticks to what is behind the character, which is usually the infinite or distant geometry. Is there a way to use the depth of the center of the texture (preferably the "usage" of the texture and not the center of the texture file, which can contain a lot of icons) instead of the SV_POSITION vertex coordinates? Maybe I have to try the X and Y axes of a TEXCOORD. Noting that to myself for when I'm home.
Hello 3Dmigoto Devs!
I have a question (maybe a request) about the greatly appreciated upscaler function.
What algorithm does it use to scale the image?
I'm asking because I just switched from a dx11 game from a dx9 one. From Batman Arkham Knight (dx11) to Arkham Origins (dx9), so the visuals are generally the same.
For dx11 I use 3Dmigoto's upscaler, for dx9 I use GeDoSaTo's upscaler.
In dx9 with GeDoSaTo the image is both less pixelated and more sharper at the same time.
In dx11 with 3Dmigoto the image is more pixelated and more blurry.
Now, in GeDoSaTo it is possible to choose between resizing algorithms: nearest neighbour, bi-linear, bi-cubic and lanczos.
I use bi-cubic, and it looks perfect.
In both games, I use no AA with 1920x1080 upscaled to 3840x2160 (line interleaved 3D).
The difference in image quality is quite apparent being much better in GeDoSaTo with bi-cubic resizing.
So what does 3Dmigoto's upscaler use? Can you implement different algorithms to choose from?
I have a question (maybe a request) about the greatly appreciated upscaler function.
What algorithm does it use to scale the image?
I'm asking because I just switched from a dx11 game from a dx9 one. From Batman Arkham Knight (dx11) to Arkham Origins (dx9), so the visuals are generally the same.
For dx11 I use 3Dmigoto's upscaler, for dx9 I use GeDoSaTo's upscaler.
In dx9 with GeDoSaTo the image is both less pixelated and more sharper at the same time.
In dx11 with 3Dmigoto the image is more pixelated and more blurry.
Now, in GeDoSaTo it is possible to choose between resizing algorithms: nearest neighbour, bi-linear, bi-cubic and lanczos.
I use bi-cubic, and it looks perfect.
In both games, I use no AA with 1920x1080 upscaled to 3840x2160 (line interleaved 3D).
The difference in image quality is quite apparent being much better in GeDoSaTo with bi-cubic resizing.
So what does 3Dmigoto's upscaler use? Can you implement different algorithms to choose from?
It's just basic hardware texture filtering using a DirectX sampler, which is effectively bilinear. It looks like ColAngel did configure the sampler to use anisotropic filtering, though I'm not really sure why since it's just a flat surface parallel to the camera.
The upscaling algorithm is in upscale.hlsl - feel free to modify that to implement another algorithm (this is not something I have any personal motivation to work on).
It's just basic hardware texture filtering using a DirectX sampler, which is effectively bilinear. It looks like ColAngel did configure the sampler to use anisotropic filtering, though I'm not really sure why since it's just a flat surface parallel to the camera.
The upscaling algorithm is in upscale.hlsl - feel free to modify that to implement another algorithm (this is not something I have any personal motivation to work on).
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
In general, we should aim to eliminate any excess nvapi calls we may be making to cap it to one of each per frame - so, we should consolidate the calls in nvstereo.h and the overlay to use cached values updated once per frame (just after the present call is the best time to update these). The command list could also use the same cached values, but that is less important since it won't make any nvapi calls by default.
Correct - do not ship the nvapi wrapper if you intend for AMD/intel users to use your mod (e.g. this is how I ship the Dead or Alive Xtreme Venus Vacation mod since it is also used as a base by other modding communities).
In fact - very few of our fixes actually require the nvapi wrapper at all, and most of our fixes could drop it. It's necessary for CryEngine games to force disable 3D Vision Direct mode (alternative: StereoMiscFlags=0x00000400 does the same thing), certain games that lock the separation or convergence or a few other cases like where we want to prevent the game recognising that it is running on an nvidia system. I wouldn't mind absorbing it into the d3d11.dll and hooking any procedures that we need instead.
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
Thanks guys, that's good to know.
1080 Ti - i7 5820k - 16Gb RAM - Win 10 version 1607 - ASUS VG236H (1920x1080@120Hz)
About the "convergence=0" problem (it's in the git issues), could it be related to the new programmming capabilities in d3dx.ini?
Edit: meaning that "convergence=0" can mean both "for this shader" and "globally" at the same time, and that maybe they need different names to distinguish them.
CPU: Intel Core i7 7700K @ 4.9GHz
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: GSKILL Ripjaws Z 16GB 3866MHz CL18
GPU: MSI GeForce RTX 2080Ti Gaming X Trio
Monitor: Asus PG278QR
Speakers: Logitech Z506
Donations account: masterotakusuko@gmail.com
I used the template of DSS but the halo is not right.
Here's the VS
Any help? thanks
Ah ok, so its probably always been an issue, cheers.
I have restructured parts of the code to minimize nvapi calls, and with the sbs shader the performance is good again, as far as this issue is concerned. However, the SLI stereo2mono bottleneck is presently too severe, even when downsampling beforehand.....it seems at a glance even more of a problem in DX9 than DX11. I am running out of things to try, to be honest.
After testing a bit more, in SWTOR at least, the reverse stereo blit bottleneck appears to exist down to at least 1366×768....did you find in DX11 that the frame rates stablized at about 1080p? I wonder why it would be more severe in DX9 (I have the high bandwidth bridge).
At 1440p and with no downsampling, whilst testing, I noticed that an unnecessary SLI transfer was occurring, with 3D disabled, during the reverse stereo blit; the double width mono texture was being copied between cards. FPS at this point was 90. I made sure to clear said texture before use, and fps shot up to 200+ with 3d disabled (swtor fps is capped at 200). With 3D activated, and thus requiring a copy between cards (of I guess 50% larger than the double width mono texture - copy one eye across, copy the mono texture back?), fps is at 45....does that seem excessively low to you (200+ with 3d disabled, 45 with the 3d + SLI transfer), and that perhaps there is something else awry here?
Thanks for any help!
1440p 3D SLI non sbs = 200+fps
1440p 3D SLI sbs = 45 fps
Like my work? Donations can be made via PayPal to: rauti@inetmx.de
It seems there is something wrong when dump_vb is used in Yakuza 0
something like a memory corruption
all SemanticName in generated files are corrupted and contains weird stuff
E.g: in 000002-vb0=77b965f7-vs=88dcae70481ae355-ps=5192336b8a934d4b.txt
element[0]:
SemanticName: @ÂV
SemanticIndex: 0
Format: R32G32B32_FLOAT
...
@DSS I tested the mod tooling you created with World of Final Fantasy and face an issue you might be able to help with:
When I simply import a mesh in blender and export it with whatever changes (even no change at all), it works but not 100%. The mesh is replaced but the texture colors are faded and it does not react anymore for instance to the casted shadows from external object.
Thanks & Rgds
We've all got back catalogues of games and recently I decided to pick up Witcher 2 again. I wanted to use SBS/Upscaling, but can't because it's DX9... Perfect example of how someone like me would really benefit from what you're trying to do.
Gigabyte RTX2080TI Gaming OC, I7-6700k ~ 4.4Ghz, 3x BenQ XL2420T, BenQ TK800, LG 55EG960V (3D OLED), Samsung 850 EVO SSD, Crucial M4 SSD, 3D vision kit, Xpand x104 glasses, Corsair HX1000i, Win 10 pro 64/Win 7 64https://www.3dmark.com/fs/9529310
Without figuring out how HeliX hashes shaders existing fixes would be worthless.
Obvously not all fixes work with my DX9 wrapper.
davegl1234 has done a lot of work.
Nice to see more people dedicated to making 3D Vision a better place.
HeliX mod is a lot more advanced than my wrapper and it's hard to bridge that gap.
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
CPU: Intel Core i7 7700K @ 4.9GHz
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: GSKILL Ripjaws Z 16GB 3866MHz CL18
GPU: MSI GeForce RTX 2080Ti Gaming X Trio
Monitor: Asus PG278QR
Speakers: Logitech Z506
Donations account: masterotakusuko@gmail.com
I have a question (maybe a request) about the greatly appreciated upscaler function.
What algorithm does it use to scale the image?
I'm asking because I just switched from a dx11 game from a dx9 one. From Batman Arkham Knight (dx11) to Arkham Origins (dx9), so the visuals are generally the same.
For dx11 I use 3Dmigoto's upscaler, for dx9 I use GeDoSaTo's upscaler.
In dx9 with GeDoSaTo the image is both less pixelated and more sharper at the same time.
In dx11 with 3Dmigoto the image is more pixelated and more blurry.
Now, in GeDoSaTo it is possible to choose between resizing algorithms: nearest neighbour, bi-linear, bi-cubic and lanczos.
I use bi-cubic, and it looks perfect.
In both games, I use no AA with 1920x1080 upscaled to 3840x2160 (line interleaved 3D).
The difference in image quality is quite apparent being much better in GeDoSaTo with bi-cubic resizing.
So what does 3Dmigoto's upscaler use? Can you implement different algorithms to choose from?
The upscaling algorithm is in upscale.hlsl - feel free to modify that to implement another algorithm (this is not something I have any personal motivation to work on).
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
Like my work? Donations can be made via PayPal to: rauti@inetmx.de