4.6

  • Posts: 3749
3 months 4 weeks ago - 3 months 3 weeks ago #1 by crosire
Changelog

4.6.0:
  • Reworked effect selection in setup tool to a list of effect packages instead of individual files
  • Improved API detection in setup tool (and automatic selection for a known list of games)
  • Improved performance for effects with many passes that write to custom render targets
  • Improved D3D12 resource state management
  • Improved line information for errors in evaluated preprocessor macros
  • Added setup tool self-verfication at startup, which will show an error if the archive is corrupted immediately
  • Added default log file to help with troubleshooting
  • Added option to skip application scanning in setup tool by pressing "Alt" button while clicking on "Select ..."
  • Added Vulkan memory allocator for improved memory management
  • Added error message to log when DXGI encounters a device loss
  • Added parser error when encountering a interpolation qualifier mismatch between vertex and pixel shaders
  • Added parser error when encountering a vertex or pixel shader parameter without semantics
  • Added preprocessor error when encountering an unterminated string literal
  • Added limit to the number of compile error messages shown
  • Added missing license statements to about page in UI
  • Added configuration file fall back for technique sorting (reads "TechniqueSorting" from "GENERAL" section if preset does not define it)
  • Added FreePIE IO support
    uniform float3 io_data[2] < source = "freepie"; index = 0; >;
    // io_data[0].xyz = yaw, pitch, roll
    // io_data[1].xyz = position
  • Added image format list to Vulkan image creation for improved performance on some hardware
  • Added shortcut keys for code editor search and replace
  • Added code editor option to search and replace case insensitive
  • Added support for leaving code editor focus with escape key
  • Added support for "#" comments in INI files
  • Added Vulkan API version to renderer ID (__RENDERER__)
  • Added built-in "__FILE_NAME__" and "__FILE_STEM__" preprocessor macros
  • Added more enum names to HRESULT values in log messages
  • Added support to render point and line primitives from effects
    pass {
      PrimitiveTopology = POINTLIST; // LINELIST, LINESTRIP, TRIANGLELIST, TRIANGLESTRIP
      VertexCount = 10;
    }
  • Added special uniform to check if UI is open
    uniform bool is_open < source = "overlay_open"; >;
  • Changed setup tool to set buffer detection settings based on compatibility list
  • Change "application" to "game" in setup tool descriptions
  • Changed Vulkan depth buffer detection to use same heuristic as D3D9/OpenGL
  • Changed default of "RESHADE_DEPTH_INPUT_IS_REVERSED" to 0 again
  • Changed uniform boolean representation to use "1" and "0" instead of "-1" and "0"
  • Changed effect tabs in UI variable list to stay in place when scrolling
  • Changed UI screenshot creation to only attempt to create it if UI is actually open
  • Changed effect preprocessor to only add preprocessor definitions to UI if their declaration is active
  • Changed reload behavior to open the last edited code file again
  • Changed code editor colorization to colorize a few additional lines above and below an edit for better multi-line comment handling
  • Fixed keyboard navigation in setup tool
  • Fixed setup tool crash when trying to change an empty preset path
  • Fixed setup tool exit button not being shown while asking about existing installation
  • Fixed text rendering in Spellforce 3 and image turning too dark sometimes
  • Fixed missing UI in old OpenGL games using the "glVertexPointer" API (e.g. Call of Duty)
  • Fixed error when launching Metro Exodus in D3D12 (because of missing "DXGIGetDebugInterface1" export)
  • Fixed crash on systems where render GPU is not attached to the output display (e.g. on laptops with Optimus etc.) (thanks to sherief)
  • Fixed crash when switching fullscreen mode when render GPU is not the display GPU
  • Fixed crash in WineD3D and OpenGL games
  • Fixed crash in Valkyria Chronicles when changing depth buffer detection settings
  • Fixed crash in Call of Duty: Modern Warfare
  • Fixed crash in D3D12 device creation when interface is not supported
  • Fixed crash and "ID3D11Device::CreateShaderResourceView" errors in D3D10/11 games using MSAA or array depth stencil resources
  • Fixed crash in effect preprocessor when input file is not terminated with a new line
  • Fixed crash in D3D12 if runtime is reset before initialization
  • Fixed crash in Resident Evil 3
  • Fixed potential crash in D3D12 when changing resolution
  • Fixed device loss in D3D12 in games creating depth-stencil resources with "ID3D12Device::CreateReservedResource"
  • Fixed potential device loss in D3D12/Vulkan when switching UI tabs
  • Fixed vertex shader usage of textures in D3D12
  • Fixed D3D12 screenshots failing for RGB10A2 back buffer format
  • Fixed D3D12 depth binding not being updated sometimes without reloading (e.g. in Strange Brigade)
  • Fixed "bufready_depth" uniform not working in D3D9/10/11
  • Fixed spacing in UI for depth buffer clears
  • Fixed D3D9/10/11 textures not being cleared to zero when not used as render target
  • Fixed duplicated error log messages if preprocessing step failed during effect compilation
  • Fixed FPS overlay showing cut off at bottom of screen if text scale is larger than one
  • Fixed GLSL code generation for integer varying variables
  • Fixed locations for varyings with custom semantics in GLSL code generation
  • Fixed GLSL and SPIR-V code generation for semantics with numbers other than "TEXCOORD"
  • Fixed GLSL and SPIR-V code generation for uniform arrays
  • Fixed function name in pass state validation error messages
  • Fixed log message for special sample quality in swapchain description
  • Fixed key down state being reset even if key is actually still held down
  • Fixed code editor replace all not replacing all occurances in a document
  • Fixed error handling in D3D10/11 runtime initialization
  • Fixed reloading after a failed preprocessor definition change causing the effect to fail compiling
  • Fixed Vulkan driver version displayed in the UI for NVIDIA drivers
  • Fixed D3D11 immediate context interface version not being upgraded in "ID3D11Device::GetImmediateContext1/2" calls
  • Fixed UI screenshot being taken of a different frame than the effect screenshot
  • Fixed render artifacts in some D3D9 games because of INTZ usage that could not be disabled with high network activity
  • Fixed potential issue with "CreateDXGIFactory2" writing to non-existent VTable entries
  • Fixed line information for string literals that span multiple lines
  • Fixed "#ifdef" and "#ifndef" not responding to built-in preprocessor defines
  • Fixed artifacts in Vulkan applications presenting on a different queue than the rendering one
  • Fixed OpenGL resources leaking when window was destroyed before calling "wglDeleteContext"
  • Updated Vulkan layer API version to 1.2
  • Removed unnecessary barriers in D3D12 depth buffer detection
  • Removed support for point size builtin semantic (since it is not supported in D3D11)

4.6.1:
  • Added individual effect file selection dialog to setup tool again
  • Added help text to setup tool dialogs to explain them to new users
  • Added option to relax modifier state checks for shortcuts
    See reshade.me/forum/troubleshooting/6358-re...r-with-modifier-keys
  • Fixed corrupted image in Vulkan with effects that read and write to custom render targets
  • Fixed stencil data looking corrupted in Vulkan
  • Fixed input/output parameter structure flattening in SPIR-V code generation
  • Fixed crash in AMD driver bug workaround
  • Fixed "ReShadeGUI.ini" not always being created in the same directory as the "ReShade.ini" configuration file
  • Fixed preprocessor errors not showing up in log
  • Fixed macros used inside "#include" statement not working in included file
  • Changed setup tool texture directory search to include "jpg" and "jpeg" extensions
  • Changed "Cancel" button caption in setup tool effect package selection to "Skip"
  • Changed "Standard effects" package to be a required package that cannot be deselected (since it contains ReShade.fxh which is used by many effects)
The following user(s) said Thank You: Wicked Sick, CeeJay.dk, SpinelessJelly, klotim, brussell, conan2k, Martigen, Radical53, acknowledge, OtisInf and 36 other people also said thanks.
The topic has been locked.
  • Posts: 455
3 months 4 weeks ago #2 by Martigen
Epic! Thank you @Crosire :)
The topic has been locked.
  • Posts: 181
3 months 4 weeks ago - 3 months 4 weeks ago #3 by klotim
The new installer is great!
Question: Is it possible to add some more levels to the tree? Like handpicking shaders, sometimes you might not want to have all of the shaders.

EDIT: Got the duplicated shaders issue, just remove the shaders and re-install.
The topic has been locked.
  • Posts: 1
3 months 4 weeks ago - 3 months 4 weeks ago #4 by JoeStapf
Title - "4.6 - Fubax - Cursor.fx"

Failed to compile (68,1) Undetermined String Liternal <- Might not be the exact message, my memory is poo. But it fails to compile non-the-less.

Thanks for your hard work!!! :)
The topic has been locked.
  • joemossjr16@gmail.com's Avatar
  • Offline
  • Posts: 1
3 months 4 weeks ago #5 by
NOICE!
The topic has been locked.
  • Posts: 7
3 months 4 weeks ago #6 by ElicXX
Many many thank's! Still my most favorite gaming tool since year's! :)
The topic has been locked.
  • Posts: 1
3 months 4 weeks ago #7 by TakahashiXD
Excellent job!
Too bad it still doesn't work with Prey (2017).
The topic has been locked.
  • Posts: 20
3 months 4 weeks ago #8 by Rayman_77
Can't install individual effects?? if I don't select any package, I don't get the reshade folder.
The topic has been locked.
  • Posts: 162
3 months 4 weeks ago #9 by Fu-Bama
Wow, that FreePIE IO opens doors for some sick manual color-correction control-panel.
The topic has been locked.
  • Posts: 343
3 months 4 weeks ago #10 by OtisInf
"Added support to render point and line primitives from effects"

Is there an example for this? I.e. do I need to build a vertex buffer from a pixelshader pass and then have this pass to render the points?
The topic has been locked.
  • Posts: 2
3 months 4 weeks ago - 3 months 4 weeks ago #11 by Ubimo
In Red Dead Redemption 2(Vulcan) the filters Clarity and Luma Sharpen produce artifacts.
Wasn't happening in previous ReShade version.
imgur.com/a/ThWnpOR

My Specs:
Intel Xeon 1230.v3
MSI Radeon RX480 Gaming X 8G
latest AMD drivers
The topic has been locked.
  • Posts: 3749
3 months 4 weeks ago - 3 months 4 weeks ago #12 by crosire

OtisInf wrote: "Added support to render point and line primitives from effects"

Is there an example for this? I.e. do I need to build a vertex buffer from a pixelshader pass and then have this pass to render the points?

It works the same as for triangles: Your vertex shader is invoked for each vertex and can be used to calculate where to put them.
For POINTLIST primitives that effectively means every vertex becomes a point, for LINELIST every two vertices a separate line, LINESTRIP connects all vertices together to one interconnected line, TRIANGLELIST is the default as it was before and means every three vertices become a triangle, TRIANGLESTRIP connects all triangles together again (every additional vertex creates a full triangle with that vertex + the previous two ones).
The number of vertices ReShade should generate is specified via the "VertexCount" pass state. You then use the vertex id "SV_VertexID" in the vertex shader (which is in the range [0, VertexCount[) to identify them.

Example: This is a vertex shader that creates 5 red interrupted lines horizontally across the center of the screen:
#define NUM_LINES 5

void MyVS(uint id : SV_VERTEXID, out float4 pos : SV_POSITION)
{
	pos = float4((id / float(NUM_LINES * 2 - 1)) * 2 - 1, 0, 0, 1);
}
void MyPS(float4 pos : SV_POSITION, out float4 col : SV_TARGET)
{
	col = float4(1, 0, 0, 1);
}

technique Lines
{
	pass
	{
		VertexShader = MyVS;
		PixelShader = MyPS;
		PrimitiveTopology = LINELIST;
		VertexCount = NUM_LINES * 2;
	}
}
Replace LINELIST with LINESTRIP and they become fully interconnected. See also docs.microsoft.com/de-de/windows/win32/direct3d9/primitives .

JoeStapf wrote: Failed to compile (68,1) Undetermined String Liternal <- Might not be the exact message, my memory is poo. But it fails to compile non-the-less.

Contact the shader author, that's an error in their code that they need to fix.
The following user(s) said Thank You: OtisInf
The topic has been locked.
  • Posts: 455
3 months 4 weeks ago - 3 months 4 weeks ago #13 by Martigen

TakahashiXD wrote: Excellent job!
Too bad it still doesn't work with Prey (2017).

Can confirm this too.

Note Takahashi -- there's a work around here: reshade.me/forum/troubleshooting/5777-pr...orking-anymore#38086

(note I'm on Windows 1909 now, so am seeing what that thread goes into. However the work around also works, just tested it, so it's a bit weird -- is the game, or Windows?)

However, what isn't in that thread is trying to delay Reshade initializing -- @Crosire, unless memory mistakes isn't there an option like this that you added configurable from Reshade.ini? The only one I know of thay may be related is NoReloadOnInit for shaders.

On this note a suggestion too: if I do a clean install the default reshade.ini is pretty bare -- there are a lot of functions (like NoReloadOnInit) which people may not be aware even exist. Would it be possible to add all configuration parameters to the ini, and just defaulting to off. This may allow people to learn about them and use them if needed just by browsing the ini.
The topic has been locked.
  • Posts: 1
3 months 4 weeks ago #14 by Credelle
Does anyone knows why reshade isn't recognizing depth in xplane 11?
imgur.com/a/tpW9MNK
The topic has been locked.
  • Posts: 6
3 months 4 weeks ago #15 by tnetennba
Thankyou for fixing Metro!
The topic has been locked.
  • Posts: 27
3 months 4 weeks ago - 3 months 4 weeks ago #16 by Khronikos
I still think you should default behavior to installing in one global effect folder and not on a game by game basis, but maybe people prefer this. But yeah great work on this, the changes look fantastic. I redid my inis for this version. I still use all global pointers, and everything so far works like a charm with SMAA lol. I'll probably wait to install this in a bunch of them as I am sure there will be some bug fixing. Still, this app is amazingly polished for my experience now.

Literally, the only thing I could want is some kind of script that just updates all the games that already have an install. That would be really nice if we could say direct Reshade to Steam folder and it would update every exe in there that had an associated install. One can dream.
The topic has been locked.
  • Posts: 5
3 months 4 weeks ago #17 by Radical53
For whatever reason, I get some terrible but consistent stuttering with this in CoD:MW.
Going back to 4.5.4 fixes the problem immediately.
I tried to reinstall 4.6, but the problem prevails.

I'll try to dig deeper into this but it only seems to happen when I'm playing myself (not a killcam or a pre-rendered scene?).
The topic has been locked.
  • Posts: 27
3 months 4 weeks ago - 3 months 4 weeks ago #18 by Khronikos
So, I do get compiler errors when I only select say SweetFX effects package or one effect in there. I need to select the first package, which is selected by default, to not get compiler errors. If I only say copy and paste SMAA effect into my global shaders folder, it gives compiler errors.

I don't understand why we are being led to install stuff we don't want. It is overhead, even if on start up or reinitiation when tabbing out, but maybe it does not affect much. I think the old way allowed us to choose what we wanted easier.

But if people like this I guess no big problem. I just use the first two default packages I guess, but still why load extra stuff we don't want?
The topic has been locked.
  • Posts: 2
3 months 4 weeks ago #19 by R_AL
In Elder Scrolls Online the filters MultiLUT.fx and Filmic Anamorphic Sharpen produce color artifacts. The preset, which had worked fine through 3 previous versions of reshade, appears to load 2 instances of each filter and I cannot check just 1 to apply. Appreciate your work on this great tool!
The topic has been locked.
  • Posts: 14
3 months 4 weeks ago #20 by BigDuck
Hey Crosire, I see the latest Cemu is now working with this new update. Thank you man, I appreciate it.
The following user(s) said Thank You: tOXicSilence
The topic has been locked.