Skip to content

Commit 14dfd55

Browse files
5.4.1 update
1 parent 0fe6f7b commit 14dfd55

File tree

68 files changed

+153
-2378
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+153
-2378
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ In addition to the library itself, the AGS SDK includes several samples to demon
1212
</div>
1313

1414
### What's new in AGS 5.4.1
15-
Version 5.4.1 is a minor update to include x86 libs and Visual Studio 2019 support. There is also support for base vertex and base instance intrinsics.
15+
Version 5.4.1 includes x86 libs and Visual Studio 2019 support. There is also support for base vertex and base instance intrinsics as well as GetWaveSize intrinsics. The samples have been ported from premake to cmake.
1616

1717
### What's new in AGS 5.4
1818
Version 5.4 adds a better description of the GPU architecture for those wishing to fine tune their games for specific code paths. In addition, there are now shader intrinsics for getting the draw index for execute indirect calls as well as support for atomic U64 ops.

ags_lib/README.md

Lines changed: 0 additions & 11 deletions
This file was deleted.

ags_lib/doc/amd_ags.chm

-14.8 KB
Binary file not shown.

ags_lib/hlsl/ags_shader_intrinsics_dx12.hlsl

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,9 @@ RWByteAddressBuffer AmdExtD3DShaderIntrinsicsUAV : register(u0, AmdExtD3DShaderI
9090
#define AmdExtD3DShaderIntrinsicsOpcode_WaveReduce 0x12
9191
#define AmdExtD3DShaderIntrinsicsOpcode_WaveScan 0x13
9292
#define AmdExtD3DShaderIntrinsicsOpcode_LoadDwAtAddr 0x14
93-
9493
#define AmdExtD3DShaderIntrinsicsOpcode_DrawIndex 0x17
9594
#define AmdExtD3DShaderIntrinsicsOpcode_AtomicU64 0x18
95+
#define AmdExtD3DShaderIntrinsicsOpcode_GetWaveSize 0x19
9696
#define AmdExtD3DShaderIntrinsicsOpcode_BaseInstance 0x1a
9797
#define AmdExtD3DShaderIntrinsicsOpcode_BaseVertex 0x1b
9898

@@ -368,6 +368,25 @@ uint AmdExtD3DShaderIntrinsics_LaneId()
368368
return retVal;
369369
}
370370

371+
/**
372+
***********************************************************************************************************************
373+
* AmdExtD3DShaderIntrinsics_GetWaveSize
374+
*
375+
* Returns the wave size for the current shader, including active, inactive and helper lanes.
376+
*
377+
* Available if CheckSupport(AmdExtD3DShaderIntrinsicsSupport_GetWaveSize) returned S_OK.
378+
*
379+
***********************************************************************************************************************
380+
*/
381+
uint AmdExtD3DShaderIntrinsics_GetWaveSize()
382+
{
383+
uint instruction = MakeAmdShaderIntrinsicsInstruction(AmdExtD3DShaderIntrinsicsOpcode_GetWaveSize, 0, 0);
384+
385+
uint retVal;
386+
AmdExtD3DShaderIntrinsicsUAV.InterlockedCompareExchange(instruction, 0, 0, retVal);
387+
return retVal;
388+
}
389+
371390
/**
372391
***********************************************************************************************************************
373392
* AmdExtD3DShaderIntrinsics_Swizzle

ags_lib/inc/amd_ags.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@
4040
/// * AsicFamily_Count to help with code maintenance.
4141
/// * Visual Studio 2019 support.
4242
/// * x86 support
43-
/// * BaseInstance and BaseVertex intrinsics along with corresponding DX11 and DX12 caps bits.
44-
/// * GetWaveSize intrinsic along with corresponding DX11 caps bits.
43+
/// * BaseInstance and BaseVertex intrinsics along with corresponding caps bits.
44+
/// * GetWaveSize intrinsic along with corresponding caps bits.
4545
///
4646
/// ---------------------------------------
4747
/// What's new in AGS 5.4 since version 5.3
@@ -197,7 +197,8 @@ enum AGSDriverExtensionDX12
197197
AGS_DX12_EXTENSION_INTRINSIC_DRAW_INDEX = 1 << 13, ///< Supported in Radeon Software Version 19.12.2 onwards.
198198
AGS_DX12_EXTENSION_INTRINSIC_ATOMIC_U64 = 1 << 14, ///< Supported in Radeon Software Version 19.12.2 onwards.
199199
AGS_DX12_EXTENSION_INTRINSIC_BASE_VERTEX = 1 << 15, ///< Supported in Radeon Software Version 20.2.1 onwards.
200-
AGS_DX12_EXTENSION_INTRINSIC_BASE_INSTANCE = 1 << 16 ///< Supported in Radeon Software Version 20.2.1 onwards.
200+
AGS_DX12_EXTENSION_INTRINSIC_BASE_INSTANCE = 1 << 16, ///< Supported in Radeon Software Version 20.2.1 onwards.
201+
AGS_DX12_EXTENSION_INTRINSIC_GET_WAVE_SIZE = 1 << 17 ///< Supported in Radeon Software Version 20.5.1 onwards.
201202
};
202203

203204
/// The space id for DirectX12 intrinsic support

ags_lib/lib/amd_ags_x64.dll

-108 KB
Binary file not shown.

ags_lib/lib/amd_ags_x64.lib

0 Bytes
Binary file not shown.
25.3 KB
Binary file not shown.
62 KB
Binary file not shown.
24.9 KB
Binary file not shown.

0 commit comments

Comments
 (0)