GPUOpen-LibrariesAndSDKs / RenderPipelineShaders

Render Pipeline Shaders SDK
MIT License
312 stars 24 forks source link

cmake "DirectX Agility SDK" points to 1.706.4-preview which needs Windows Developer Mode #12

Closed ChemistAion closed 1 year ago

ChemistAion commented 1 year ago

Currently CMakeLists.txt points to 1.706.4-preview which needs Windows Developer Mode enabled.

IMHO, latest stable 1.608.2 would be enough for RPS and do not need Windows Developer Mode (only AgilitySDK-PREVs does):

Details: https://www.nuget.org/packages/Microsoft.Direct3D.D3D12/1.608.2

Please consider to downgrade it a little bit, down to 1.608.2, literally two lines:

set( DXAgilitySDK_VERSION_STRING "1.608.2" )
set( DXAgilitySDK_VERSION 608 ) # to set D3D12SDKVersion
ChemistAion commented 1 year ago

It seems that D3D12_BARRIER_SYNC_INDEX_INPUT was renamed to D3D12_BARRIER_SYNC_INPUT_ASSEMBLER in between latest stable (1.608.2) and previews (now 1.706.4).

Perhaps to handle new "Enhanced Barriers Preview 2 with GBV support" feature, available since 1.706.3-preview. This particular one AFIK is not used in RPS, so it would be nice to correct RPS_ACCESS_INDEX_BUFFER_BIT mapping back to D3D12_BARRIER_SYNC_INDEX_INPUT (at the end both have the same value: 0x04).

Currently, RPS wants the renamed scheme from SDK-prev: D3D12_BARRIER_SYNC_INPUT_ASSEMBLER, here: https://github.com/GPUOpen-LibrariesAndSDKs/RenderPipelineShaders/blob/3a693036b72fc657b9542b631e34dfaf03033741/src/runtime/d3d12/rps_d3d12_enhanced_barrier.hpp#L480

ChemistAion commented 1 year ago

RPS works flawlessly with 1.608.2 (no need for WDM) with RPS_ACCESS_INDEX_BUFFER_BIT mapped back to D3D12_BARRIER_SYNC_INDEX_INPUT - as described above.

RaccoonOnRails commented 1 year ago

Hi, Thanks for the feedback! We will update the AgilitySDK version to 1.608.2 in the next update, with corresponding enhanced barrier code updates. Agility SDK 1.608.2 is actually a newer release than 1.706.4-preview, after our initial RPS release. 🙂

ChemistAion commented 1 year ago

Perfect! :) ...indeed, 1.608.2 is actually "the latest one": https://devblogs.microsoft.com/directx/directx12agility/

btw (cosmetics): please add one-liner hint regarding catch2 (issue#6)

ChemistAion commented 1 year ago

In the meantime a new DXAgilitySDK just jumps in... with even more major Enhanced Barriers related fixes. Here: SDK 1.608.3

FlorianHerickAMD commented 1 year ago

The latest, just published version includes a reference to the 1.608.3 Agility SDK.