eFX Shader Injector Support Thread

Discussion in 'Games, Gaming & Game-demos' started by Crosire, Oct 22, 2013.

  1. Crosire

    Crosire Member Guru

    Messages:
    164
    Likes Received:
    0
    GPU:
    -
    Alright, just a quick summary of things that were requested (in case I missed something):
    • Scripted shader variables
    • Depth buffer access
    • Support for R9G9B9E5_SHAREDEXP texture format
    • Framecounter shader variable (with possible maximum where it restarts, but that could be calculated in the shader too, simple modulo operation)
    • Buffer texture that survives frames
    EDIT:
    • Force tripple buffering
    I will try to get that done as soon as I find time to take a look at the code again. Some from this list are just a few lines anyway.
     
    Last edited: Feb 4, 2014
  2. conan2k

    conan2k Guest

    Messages:
    43
    Likes Received:
    0
    GPU:
    Gigabyte 780GTX
    Please also add the "Force triple buffering for D3D" option to the list (but with lower priority than the above features).
     
  3. Martigen

    Martigen Master Guru

    Messages:
    534
    Likes Received:
    254
    GPU:
    GTX 1080Ti SLI
    Echo this, if it's possible.

    Also, apologies I haven't been following development -- is eFX far enough along that it's now a drop-in replacement for the MrHandii injector in SweetFX? Including working with Windows 8.1?

    With SP1 for Windows 8.1 around the corner, I think it might be time to make the upgrade, but can't live without my SweetFX :)

    And thanks, as always, for all your work Crosire, Ceejay and Boulotaur.
     
  4. Crosire

    Crosire Member Guru

    Messages:
    164
    Likes Received:
    0
    GPU:
    -
    I wouldn't say so. It will never be a real drop in replacement, it's too different from InjectSMAA for that. But there's some progress and many features of current SweetFX do work, there are however still compatibility problems which vary from game to game and the used system + missing SMAA in D3D11. If it works with your games under Win7 then you can safely upgrade though. Win8.1 is fully supported with the current feature set.
     

  5. Bobert13

    Bobert13 Guest

    Messages:
    26
    Likes Received:
    0
    GPU:
    GTX 560 TI - 1GB
    If you do the user-configured script that allows us to set variables, you don't have to implement a frame counter too. We should be able to write our own frame counter in that. It's variables would need to persist from frame to frame (unlike HLSL) to get alternating or counting functionality but I'd imagine that's how they'd function anyways, no? Everything else on the list looks good.

    As stated previously, I have a working DXGI.fx for SMAA/SweetFX and I shared it with CeeJay so that should be out sooner rather than later.
     
    Last edited: Feb 4, 2014
  6. alabrand

    alabrand Guest

    Messages:
    14
    Likes Received:
    0
    GPU:
    Nvidia GeForce GT 650M
    Wait, what?! Would this allow me to effortlessly use eFX+SweetFX on Windows 8.1 with an Optimus Laptop? : )
     
  7. Bobert13

    Bobert13 Guest

    Messages:
    26
    Likes Received:
    0
    GPU:
    GTX 560 TI - 1GB
    umm what? DXGI.fx is the master shader for SweetFX in DX10/11 games. CeeJay has already released D3D9.fx for DX9 games. If you're having issues with that and your Optimus laptop, having a functional DXGI.fx isn't going to do anything for you... (except allow you to have the same problems you're having in DX10 games)
     
  8. Crosire

    Crosire Member Guru

    Messages:
    164
    Likes Received:
    0
    GPU:
    -
    The D3D9 part is already working for some time now, as CeeJay converted the shader model 3 shaders already. D3D11 part was missing mostly SMAA, but as stated, Bobert13 seems to have fixed that too. So yeah, you can, but you already can right now, just with missing SMAA support, as that one is not yet public in one of the eFX+SweetFX bundles.
     
  9. Wanny

    Wanny Guest

    Do NOT upgrade to 8.1 if you like SweetFX. I swear, DON'T.
     
  10. Bobert13

    Bobert13 Guest

    Messages:
    26
    Likes Received:
    0
    GPU:
    GTX 560 TI - 1GB
    I'd like to respond to your PM, but I can't due to my low post count, so I'll post here since it's kindof relevant.

    I'm not looking to share my DXGI.fx with any members of the public, at this point in time. To avoid confusion and to make sure it's up to CeeJay.dk's standards. I'd rather wait for him to release it than have people asking him to support my work, etc.
     

  11. Basem

    Basem Guest

    Messages:
    6
    Likes Received:
    0
    GPU:
    4 Gb
    Please anyone help me
    I tried alot of games on 8.1
    sometimes no effect appear
    just like Bioshock 1 & 2 & Batman arkham origins & Assassin's Creed liberation & 3 & Black
    flag and most of Unreal Engine 3 , working with frostbite games perfectly
    with metal gear rising if i turn it off can't turn it back on and game crashes if I alt tab it
    and Tried Castlevania LoS 2 Demo sounds work perfectly and SFX is working but no picture just a black screen in menu only button appear and in game weird color like a half black screen and the other half is cyan
    can any one help to fix or upload the copy he uses and work with games please ?
     
  12. Sajittarius

    Sajittarius Master Guru

    Messages:
    490
    Likes Received:
    76
    GPU:
    Gigabyte RTX 4090
    Yea i couldnt get it working in 8.1 with AC4 black flag and Batman Origins either. I was able to get Assassin's Creed working with Radeonpro and Sweetfx 1.4 though. Hopefully a newer version of EFX will fix the problems.
     
  13. psychok9

    psychok9 Master Guru

    Messages:
    319
    Likes Received:
    0
    GPU:
    MSI GTX 980TI Gaming 6G
    Guys, I've copied SWEETFX+EFX on AC4 Black Flag folder, but I don't see any effects (Windows 8.1 x64).
    (F1~F12, Scroll Lock, etc).
     
  14. kurtferro

    kurtferro Guest

    Messages:
    115
    Likes Received:
    1
    GPU:
    SAPPHIRE NiTRO R9 390 WB
    I never tried Gaussian effect, but i think the priority is a full SMAA support.
    @Bobert13 some chance to do it?
     
    Last edited: Feb 16, 2014
  15. Bobert13

    Bobert13 Guest

    Messages:
    26
    Likes Received:
    0
    GPU:
    GTX 560 TI - 1GB
    I've already done SMAA/SweetFX in DX10, though, as I've said, I have no plans to release it. See my previous post.

    As far as specific game support goes, that's all in the injector and only Crosire can fix the issues posted here. However, you guys could do a lot to help him get the information he needs in order to do so. Posting clear, concise, reports and attaching your D3D9.log files to your posts would probably help him immensely. The log file should be in the game's root folder (the same place as the renamed .dll). Alternatively, you could copy and paste the contents of the log file in your post, as they tend to be relatively short.
     

  16. kurtferro

    kurtferro Guest

    Messages:
    115
    Likes Received:
    1
    GPU:
    SAPPHIRE NiTRO R9 390 WB
    For eFX, at the time, I had no problem, the most difficult thing is to have a proper package of efx + sweetfx, because is not properly published like official relase but sometimes we find few links to experimental versions, and most has not yet fully understood how to use it (because for most is hard to read the readme.txt lol)

    Your dx10 version would be applicable in dx11/11.1? or need to be rewrited?
    If you need i can do tester, I am more interested in implementing SMAA in BF4 in windows 8.1
     
  17. Martigen

    Martigen Master Guru

    Messages:
    534
    Likes Received:
    254
    GPU:
    GTX 1080Ti SLI
    Hey Crosire,

    Another request, if it's possible.

    There's a wonderful tool called, funnily enough, SSAA-Tool by Tommti:

    http://www.rage3d.com/board/showthread.php?t=33962461
    http://www.tommti-systems.de/start.html

    It sports forcing vsync and triple buffering among features, but the main one everyone was using it for was downsampling: you specify a resolution scale (for eg, 2x) and it somehow injects this to DirectX without using an injector -- instead it's driver-based.

    This is impressive because it means you can downsample without futzing around with monitor profiles -- which are highly dependent on the monitor, if they work at all -- or overclocking your card's DAC via driver hacking (a risk in itself) to bypass monitor profile limitations. Instead, it simply does it all via software and thus works with any GPU/Monitor configuration.

    Unfortunately, SSAA-Tool works fine with Windows 7 but not Windows 8 or 8.1, and it hasn't been updated in over a year and is unlikely to support Windows 8+.

    I don't know if you can get the source from Tommti, it seems from his homepage that he probably wouldn't have a problem with sharing, but it would be incredible if eFX could support downsampling through whatever method he's using. It would make downsampling available to everyone, instead of just those who have the right monitor with painstakingly defined forced monitor profiles (which can take hours of testing to achieve, again, if at all).

    I'm in this camp. My monitor doesn't even accept 1.1x scale through monitor profiles, even if there's plenty of GPU power to handle downsampling. I used to use SSAA-Tool, but not since moving to Windows 8.

    Anyway, no idea how much work it is or if you'd even be interested, but thought I'd put it out there.

    Mart
     
  18. Psychor

    Psychor Member

    Messages:
    40
    Likes Received:
    0
    GPU:
    pc.thedigitalfoundry.com
    Any chance of an updated eFX+SeetFX bundle based on the latest alpha? :)
     
  19. Sajittarius

    Sajittarius Master Guru

    Messages:
    490
    Likes Received:
    76
    GPU:
    Gigabyte RTX 4090
    Here is the log ouput (set to level 4 TRACE) for Castlevania LoS2. Game loads and it seems like some things load (it shows the loading symbol and then Press Start but the rest of the stuff on title screen is missing.) Not sure if it will help but I figure its worth taking a minute to post it :)


    Code:
    2014-03-01 12:59:21 | INFO | GENERAL | Initializing Crosires "eFX" Version 2.0 (1.9.6.0) ...
    2014-03-01 12:59:23 | TRACE | GENERAL | Installing crash handlers ...
    2014-03-01 12:59:23 | TRACE | HOOK | Initializing hook manager ...
    2014-03-01 12:59:23 | INFO | HOOK | Installing "d3d9" hooks from file "C:\WINDOWS\system32\d3d9.dll" ...
    2014-03-01 12:59:23 | TRACE | HOOK | Ready to install 9 hooks
    2014-03-01 12:59:23 | TRACE | HOOK | Hooking "D3DPERF_BeginEvent" ...
    2014-03-01 12:59:23 | TRACE | HOOK | Hooking "D3DPERF_EndEvent" ...
    2014-03-01 12:59:23 | TRACE | HOOK | Hooking "D3DPERF_GetStatus" ...
    2014-03-01 12:59:23 | TRACE | HOOK | Hooking "D3DPERF_QueryRepeatFrame" ...
    2014-03-01 12:59:23 | TRACE | HOOK | Hooking "D3DPERF_SetMarker" ...
    2014-03-01 12:59:23 | TRACE | HOOK | Hooking "D3DPERF_SetOptions" ...
    2014-03-01 12:59:23 | TRACE | HOOK | Hooking "D3DPERF_SetRegion" ...
    2014-03-01 12:59:23 | TRACE | HOOK | Hooking "Direct3DCreate9" ...
    2014-03-01 12:59:23 | TRACE | HOOK | Hooking "Direct3DCreate9Ex" ...
    2014-03-01 12:59:23 | INFO | HOOK | Installing "kernel32" hooks from handle "74EE0000" ...
    2014-03-01 12:59:23 | TRACE | HOOK | Ready to install 3 hooks
    2014-03-01 12:59:23 | TRACE | HOOK | Hooking "LoadLibraryA" ...
    2014-03-01 12:59:23 | TRACE | HOOK | Hooking "LoadLibraryW" ...
    2014-03-01 12:59:23 | TRACE | HOOK | Hooking "SetUnhandledExceptionFilter" ...
    2014-03-01 12:59:23 | INFO | HOOK | Installing "dinput8" hooks from handle "69790000" ...
    2014-03-01 12:59:23 | TRACE | HOOK | Ready to install 1 hooks
    2014-03-01 12:59:23 | TRACE | HOOK | Hooking "DirectInput8Create" ...
    2014-03-01 12:59:23 | INFO | HOOK | Installing "xinput1_3" hooks from handle "00240000" ...
    2014-03-01 12:59:23 | TRACE | HOOK | Ready to install 7 hooks
    2014-03-01 12:59:23 | TRACE | HOOK | Hooking "XInputEnable" ...
    2014-03-01 12:59:23 | TRACE | HOOK | Hooking "XInputGetBatteryInformation" ...
    2014-03-01 12:59:23 | TRACE | HOOK | Hooking "XInputGetCapabilities" ...
    2014-03-01 12:59:23 | TRACE | HOOK | Hooking "XInputGetDSoundAudioDeviceGuids" ...
    2014-03-01 12:59:23 | TRACE | HOOK | Hooking "XInputGetKeystroke" ...
    2014-03-01 12:59:23 | TRACE | HOOK | Hooking "XInputGetState" ...
    2014-03-01 12:59:23 | TRACE | HOOK | Hooking "XInputSetState" ...
    2014-03-01 12:59:23 | TRACE | PROXY | Redirecting "SetUnhandledExceptionFilter" for "0093F219"
    2014-03-01 12:59:23 | INFO | HOOK | Installing "dxgi" hooks from file "dxgi.dll" ...
    2014-03-01 12:59:23 | TRACE | HOOK | Ready to install 3 hooks
    2014-03-01 12:59:23 | TRACE | HOOK | Hooking "CreateDXGIFactory" ...
    2014-03-01 12:59:23 | TRACE | HOOK | Hooking "CreateDXGIFactory1" ...
    2014-03-01 12:59:23 | TRACE | HOOK | Hooking "CreateDXGIFactory2" ...
    2014-03-01 12:59:23 | INFO | PROXY | Redirecting "CreateDXGIFactory"
    2014-03-01 12:59:23 | TRACE | PROXY | Parameters:
    
    riid "IID_IDXGIFactory"
    ppFactory 0018EEC0
    
    2014-03-01 12:59:23 | TRACE | PROXY | Created "IDXGIFactory" proxy
    2014-03-01 12:59:23 | TRACE | PROXY | Redirecting "SetUnhandledExceptionFilter" for "004A5E30"
    2014-03-01 12:59:23 | TRACE | PROXY | Redirecting "SetUnhandledExceptionFilter" for "60012571"
    2014-03-01 12:59:23 | INFO | PROXY | Redirecting "DirectInput8Create"
    2014-03-01 12:59:23 | TRACE | PROXY | Parameters:
    
    hinst 00400000
    dwVersion 2048
    riidltf "IID_IDirectInput8A"
    ppvOut 0018EDF4
    punkOuter 00000000
    
    2014-03-01 12:59:23 | TRACE | PROXY | Created "IDirectInput8A" proxy
    2014-03-01 12:59:23 | INFO | PROXY | Redirecting "IDirectInput8A->CreateDevice"
    2014-03-01 12:59:23 | TRACE | PROXY | Parameters:
    
    rguid "6F1D2B60-D5A0-11CF-BFC7-444553540000"
    lpDirectInputDevice 00BF9650
    pUnkOuter 00000000
    
    2014-03-01 12:59:23 | TRACE | PROXY | Created "IDirectInputDevice8A" proxy
    2014-03-01 12:59:23 | INFO | PROXY | Redirecting "IDirectInput8A->CreateDevice"
    2014-03-01 12:59:23 | TRACE | PROXY | Parameters:
    
    rguid "55225550-2C30-11DF-8004-444553540000"
    lpDirectInputDevice 00BF8A6C
    pUnkOuter 00000000
    
    2014-03-01 12:59:23 | TRACE | PROXY | Created "IDirectInputDevice8A" proxy
    2014-03-01 12:59:23 | INFO | PROXY | Redirecting "IDirectInput8A->CreateDevice"
    2014-03-01 12:59:23 | TRACE | PROXY | Parameters:
    
    rguid "6F1D2B61-D5A0-11CF-BFC7-444553540000"
    lpDirectInputDevice 00BF94C8
    pUnkOuter 00000000
    
    2014-03-01 12:59:23 | TRACE | PROXY | Created "IDirectInputDevice8A" proxy
    2014-03-01 12:59:24 | INFO | PROXY | Redirecting "Direct3DCreate9"
    2014-03-01 12:59:24 | TRACE | PROXY | Parameters:
    
    SDKVersion 32
    
    2014-03-01 12:59:24 | TRACE | PROXY | Created "IDirect3D9" proxy
    2014-03-01 12:59:24 | INFO | PROXY | Redirecting "IDirect3D9->CreateDevice"
    2014-03-01 12:59:24 | TRACE | PROXY | Parameters:
    
    Adapter 0
    DeviceType 1
    hFocusWindow 00160656
    BehaviorFlags 68
    	D3DCREATE_ADAPTERGROUP_DEVICE 0
    	D3DCREATE_DISABLE_DRIVER_MANAGEMENT 0
    	D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX 0
    	D3DCREATE_HARDWARE_VERTEXPROCESSING 1
    	D3DCREATE_SOFTWARE_VERTEXPROCESSING 0
    	D3DCREATE_MIXED_VERTEXPROCESSING 0
    	D3DCREATE_MULTITHREADED 1
    	D3DCREATE_FPU_PRESERVE 0
    	D3DCREATE_PUREDEVICE 0
    	D3DCREATE_NOWINDOWCHANGES 0
    pPresentationParameters 10872410
    	BackBufferWidth 1920
    	BackBufferHeight 1080
    	BackBufferFormat 22
    	BackBufferCount 1
    	MultiSampleType 0
    	MultiSampleQuality 0
    	SwapEffect 1
    	hDeviceWindow 00160656
    	Windowed 0
    	EnableAutoDepthStencil 1
    	AutoDepthStencilFormat 75
    	Flags 0
    		D3DPRESENTFLAG_DEVICECLIP 0
    		D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL 0
    		D3DPRESENTFLAG_LOCKABLE_BACKBUFFER 0
    		D3DPRESENTFLAG_VIDEO 0
    	FullScreen_RefreshRateInHz 0
    	PresentationInterval 0
    
    2014-03-01 12:59:24 | TRACE | PROXY | Created "IDirect3DDevice9" proxy
    2014-03-01 12:59:24 | INFO | HOOK | Installing message hook for window "00160656" ...
    2014-03-01 12:59:24 | TRACE | DRIVER | Using surface format "80" for depth stencil creation
    2014-03-01 12:59:24 | TRACE | PROXY | Created driver "D3D9-0D438560"
    2014-03-01 12:59:24 | TRACE | EFFECT | Initializing Effect Manager for driver "D3D9-0D438560" (Direct3D9) ...
    2014-03-01 12:59:24 | TRACE | EFFECT | Reloading all effects for driver "D3D9-0D438560" ...
    2014-03-01 12:59:24 | INFO | EFFECT | Loading effect file "I:/SteamLibrary\steamapps\common\Castlevania Lords of Shadow 2\bin\SweetFX\Shaders\Sweet.fx" ...
    2014-03-01 12:59:24 | INFO | EFFECT | Effect compiled successfully
    2014-03-01 12:59:24 | TRACE | EFFECT | Analyzing parameter "InputTexture"
    2014-03-01 12:59:24 | TRACE | EFFECT | Analyzing parameter "InputSampler"
    2014-03-01 12:59:24 | TRACE | EFFECT | Initializing parameter "InputTexture"
    2014-03-01 12:59:24 | TRACE | EFFECT | Initializing technique "SweetFX"
    2014-03-01 12:59:24 | TRACE | PROXY | Redirecting "IDirect3DDevice9->GetSwapChain"
    2014-03-01 12:59:24 | TRACE | PROXY | Parameters:
    
    iSwapChain 0
    ppSwapChain 0018E848
    
    2014-03-01 12:59:24 | TRACE | PROXY | Created "IDirect3DSwapChain9" proxy for implicit swapchain at "0"
    2014-03-01 12:59:24 | TRACE | EFFECT | Initializing Effect Manager for driver "D3D9-0D438560" (Direct3D9) ...
    2014-03-01 12:59:24 | TRACE | EFFECT | Cleaning up parameter "InputTexture"
    2014-03-01 12:59:24 | TRACE | EFFECT | Cleaning up technique "SweetFX"
    2014-03-01 12:59:24 | TRACE | EFFECT | Reloading all effects for driver "D3D9-0D438560" ...
    2014-03-01 12:59:24 | INFO | EFFECT | Loading effect file "I:/SteamLibrary\steamapps\common\Castlevania Lords of Shadow 2\bin\SweetFX\Shaders\Sweet.fx" ...
    2014-03-01 12:59:24 | INFO | EFFECT | Effect compiled successfully
    2014-03-01 12:59:24 | TRACE | EFFECT | Analyzing parameter "InputTexture"
    2014-03-01 12:59:24 | TRACE | EFFECT | Analyzing parameter "InputSampler"
    2014-03-01 12:59:24 | TRACE | EFFECT | Initializing parameter "InputTexture"
    2014-03-01 12:59:24 | TRACE | EFFECT | Initializing technique "SweetFX"
     
  20. Skhatri15

    Skhatri15 Guest

    Messages:
    3
    Likes Received:
    0
    GPU:
    Sapphire 7970 GHz 3GB
    I have been trying to use EFX (especially since I don't have to disable MSAA in games), however, I am not having much luck. I do (what I presume correctly) what the instructions state. I rename the efx32/64.dll to what api the game uses (in this case D3D9.DLL for CS: GO). I have put specific files in the bin folder, I have put all the files in the bin folder, and I have also put all the files in the directory of CS: GO, however, none of those attempts worked. I do get the splash pop up, but even though I press scroll lock, nothing happens.

    I have heard other people having similar issues, however, they were not able to figure it out either.

    If anyone could shed some light this way, it would be greatly appreciated.

    Thanks :)
     

Share This Page