DirectXShaderCompiler icon indicating copy to clipboard operation
DirectXShaderCompiler copied to clipboard

Add pass to remove redundant UAV copy caused by copy-in copy-out.

Open python3kgae opened this issue 3 years ago • 1 comments

Transform Tmp = uav[i]; // UavLdCpy ... Update Tmp; // partial update. ... uav[i] = Tmp; // UavStCpy into Tmp = uav[i]; // UavLdCpy ... Update Tmp; // partial update. ... uav[i].updated_part = Tmp.updated_part;

This will remove the store on the part which not been updated. The load will be removed later in DCE if it is not used. Only support basic case now. Disabled by default. Matrix element access, write Tmp with bitcast address is not supported. Overlapped store on Tmp will be transfomred into overlapped store on uav[i] now.

python3kgae avatar Apr 23 '22 00:04 python3kgae

:white_check_mark: Build DirectXShaderCompiler 1.0.1536 completed (commit https://github.com/microsoft/DirectXShaderCompiler/commit/cff6233dfa by @)

AppVeyorBot avatar Apr 23 '22 01:04 AppVeyorBot