Skip to content
This repository was archived by the owner on Sep 15, 2025. It is now read-only.

Commit e9782eb

Browse files
committed
Update xgl from commit 957b313a
Update Khronos Vulkan Headers to 1.4.313 Enable VK_EXT_image_2d_view_of_3d Enbale VK_EXT_shader_replicated_composites Expose more Queue by default Set srd stride for resource node Force RDR2 to use APU carveout Enable KHR_Maintenance8 Disable logicOp and Blend for float and srgb formats Add support for switch away from registry Add CsDispatchInterleaveSize setting Backbuffer protection Fix Surge 2 flickers after Alt+Tab Add mesh and task bits to conversion code to fix mesh shaders not working with vk_khr_pipeline_executable_properties Add layer to build acceleration structures on async compute Force compute queue count to 16 Override persistent dispatch if global stacks are used Enable fast path for VK_EXT_device_generated_commands on Phoenix and Hawk Point Enable EnableSwapChainResizing by default Hook EnableEmitSqttFunctionCrc to toggle LLPC RT state config to emit SQTT shader identifier Appopt for gfx12 Zero-initialize BinaryCacheEntry Add app layer for Shadow of the Tomb Raider to modify subpass dependency & resolve hang Fix Ghost Recon Breakpoint Corruption while resizing Implement VK_EXT_opacity_micromap Implement VK_EXT_device_generated_commands Far Cry: Corruption in Water Reflections Implement VK_KHR_shader_relaxed_extended_instruction Fix Kingdom come: Deliverance II- Hang observed after 10mins of gameplay Move override of persistent dispatch, rename option Minor refine for autoclear sync setting name Bump GPURT version to 56 Use a second format YUV range Add missing buffer features to GetExtendedFormatProperties Switch superposition app-profile to before zink app-profile Vulkan 1.4 - Rename entry points and aliases Embed spirv in code object Convert a few simple legacy CmdBarrier calls to CmdReleaseThenAcquire calls Correct setting PsIterSamples Do not add feature flags for unsupported Vulkan formats Remove dependence of debug barriers on HwPipePoint Add/Modify some acquire release barriers Add support for GpurtOptions in non-RT pipelines with RayQuery Support Hawk Point 1 and 2 Enable robust vertex attribute Fix copying DynamicGraphicsShaderInfos from a pipeline library Update PAL Version in XGL 924 Increase the default size of InitialPipelineProfileEntries
1 parent 30aa963 commit e9782eb

File tree

87 files changed

+5472
-1520
lines changed

Some content is hidden

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

87 files changed

+5472
-1520
lines changed

cmake/XglCompileDefinitions.cmake

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,18 @@ macro(xgl_set_compile_definitions)
6060

6161
target_compile_definitions(xgl PRIVATE PAL_BUILD_GFX9=1)
6262

63+
#if VKI_BUILD_HAWK_POINT1
64+
if(VKI_BUILD_HAWK_POINT1)
65+
target_compile_definitions(xgl PRIVATE VKI_BUILD_HAWK_POINT1=1)
66+
endif()
67+
#endif
68+
69+
#if VKI_BUILD_HAWK_POINT2
70+
if(VKI_BUILD_HAWK_POINT2)
71+
target_compile_definitions(xgl PRIVATE VKI_BUILD_HAWK_POINT2=1)
72+
endif()
73+
#endif
74+
6375
#if VKI_BUILD_STRIX_HALO
6476
if(VKI_BUILD_STRIX_HALO)
6577
target_compile_definitions(xgl PRIVATE VKI_BUILD_STRIX_HALO=1)
@@ -83,6 +95,11 @@ macro(xgl_set_compile_definitions)
8395
target_compile_definitions(xgl PRIVATE VKI_RAY_TRACING=1)
8496
target_compile_definitions(xgl PRIVATE GPURT_CLIENT_CONVERT_BUILD_PARAMS=1)
8597
target_compile_definitions(xgl PRIVATE GPURT_CLIENT_API_VULKAN=1)
98+
#if VKI_SUPPORT_HPLOC
99+
if (VKI_SUPPORT_HPLOC)
100+
target_compile_definitions(xgl PRIVATE VKI_SUPPORT_HPLOC=1)
101+
endif()
102+
#endif
86103
endif()
87104
#endif
88105

@@ -99,6 +116,9 @@ macro(xgl_set_compile_definitions)
99116
endif()
100117
#endif
101118

119+
#if VKI_RAY_TRACING
120+
#endif
121+
102122
#if VKI_RAY_TRACING
103123
#endif
104124

cmake/XglOptions.cmake

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,12 @@ macro(xgl_options)
4444
option(VKI_ENABLE_LTO "Build with LTO enabled?" ON)
4545

4646
option(VKI_ENABLE_GCOV "Build with gcov source code coverage?" OFF)
47+
#if VKI_BUILD_HAWK_POINT1
48+
option(VKI_BUILD_HAWK_POINT1 "Build vulkan for HAWK_POINT1" ON)
49+
#endif
50+
#if VKI_BUILD_HAWK_POINT2
51+
option(VKI_BUILD_HAWK_POINT2 "Build vulkan for HAWK_POINT2" ON)
52+
#endif
4753
#if VKI_BUILD_STRIX_HALO
4854
option(VKI_BUILD_STRIX_HALO "Build vulkan for STRIX_HALO" ON)
4955
#endif
@@ -59,10 +65,17 @@ macro(xgl_options)
5965
option(VKI_RAY_TRACING "Build vulkan with RAY_TRACING" ON)
6066
#endif
6167

68+
#if VKI_SUPPORT_HPLOC
69+
option(VKI_SUPPORT_HPLOC "Build vulkan with HPLOC support" ON)
70+
#endif
71+
6272
#if VKI_GPU_DECOMPRESS
6373
option(VKI_GPU_DECOMPRESS "Build vulkan with GPU_DECOMPRESS" ON)
6474
#endif
6575

76+
#if VKI_RAY_TRACING
77+
#endif
78+
6679
option(ICD_BUILD_LLPC "Build LLPC?" ON)
6780

6881
option(VKI_ENABLE_ASSERTIONS "Enable assertions in release builds" OFF)

cmake/XglOverrides.cmake

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,14 @@ macro(xgl_overrides_pal)
103103
set(PAL_BUILD_GFX11 ON CACHE BOOL "${PROJECT_NAME} override." FORCE)
104104
set(PAL_BUILD_PHOENIX2 ON CACHE BOOL "${PROJECT_NAME} override." FORCE)
105105

106+
#if VKI_BUILD_HAWK_POINT1
107+
set(PAL_BUILD_HAWK_POINT1 ${VKI_BUILD_HAWK_POINT1} CACHE BOOL "${PROJECT_NAME} override." FORCE)
108+
#endif
109+
110+
#if VKI_BUILD_HAWK_POINT2
111+
set(PAL_BUILD_HAWK_POINT2 ${VKI_BUILD_HAWK_POINT2} CACHE BOOL "${PROJECT_NAME} override." FORCE)
112+
#endif
113+
106114
#if VKI_BUILD_STRIX_HALO
107115
set(PAL_BUILD_STRIX_HALO ${VKI_BUILD_STRIX_HALO} CACHE BOOL "${PROJECT_NAME} override." FORCE)
108116
#endif
@@ -155,6 +163,14 @@ macro(xgl_overrides_llpc)
155163

156164
set(LLPC_BUILD_GFX11 ON CACHE BOOL "${PROJECT_NAME} override." FORCE)
157165

166+
#if VKI_BUILD_HAWK_POINT1
167+
set(LLPC_BUILD_HAWK_POINT1 ${VKI_BUILD_HAWK_POINT1} CACHE BOOL "${PROJECT_NAME} override." FORCE)
168+
#endif
169+
170+
#if VKI_BUILD_HAWK_POINT2
171+
set(LLPC_BUILD_HAWK_POINT2 ${VKI_BUILD_HAWK_POINT2} CACHE BOOL "${PROJECT_NAME} override." FORCE)
172+
#endif
173+
158174
set(LLPC_BUILD_GFX115 ON CACHE BOOL "${PROJECT_NAME} override." FORCE)
159175
set(LLPC_BUILD_STRIX1 ON CACHE BOOL "${PROJECT_NAME} override." FORCE)
160176

@@ -184,6 +200,9 @@ macro(xgl_overrides_llpc)
184200
set(LLPC_RAY_TRACING ${VKI_RAY_TRACING} CACHE BOOL "${PROJECT_NAME} override." FORCE)
185201
#endif
186202

203+
#if VKI_RAY_TRACING
204+
#endif
205+
187206
endmacro()
188207

189208
macro(xgl_overrides)

cmake/XglVersions.cmake

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ include_guard()
3030
# This will become the value of PAL_CLIENT_INTERFACE_MAJOR_VERSION. It describes the version of the PAL interface
3131
# that the ICD supports. PAL uses this value to enable backwards-compatibility for older interface versions.
3232
# It must be updated on each PAL promotion after handling all of the interface changes described in palLib.h.
33-
set(VKI_PAL_CLIENT_MAJOR_VERSION "917")
33+
set(VKI_PAL_CLIENT_MAJOR_VERSION "924")
3434

3535
# This will become the value of GPUOPEN_CLIENT_INTERFACE_MAJOR_VERSION.
3636
# It describes the interface version of the gpuopen shared module (part of PAL) that the ICD supports.
@@ -39,9 +39,9 @@ set(VKI_GPUOPEN_CLIENT_MAJOR_VERSION "42")
3939
#if VKI_RAY_TRACING
4040
# This will become the value of GPURT_CLIENT_INTERFACE_MAJOR_VERSION if VKI_RAY_TRACING=1.
4141
# It describes the interface version of the GpuRT shared module that the ICD supports.
42-
set(VKI_GPURT_CLIENT_MAJOR_VERSION "54")
42+
set(VKI_GPURT_CLIENT_MAJOR_VERSION "56")
4343
#endif
4444

4545
# This will become the value of LLPC_CLIENT_INTERFACE_MAJOR_VERSION if ICD_BUILD_LLPC=1.
4646
# It describes the version of the interface version of LLPC that the ICD supports.
47-
set(VKI_LLPC_CLIENT_MAJOR_VERSION "75")
47+
set(VKI_LLPC_CLIENT_MAJOR_VERSION "76")

icd/CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ target_sources(xgl PRIVATE
157157
api/appopt/barrier_filter_layer.cpp
158158
api/appopt/strange_brigade_layer.cpp
159159
api/appopt/baldurs_gate3_layer.cpp
160+
api/appopt/shadow_of_the_tomb_raider_layer.cpp
160161
api/appopt/g_shader_profile.cpp
161162
api/render_state_cache.cpp
162163
api/renderpass/renderpass_builder.cpp
@@ -177,6 +178,7 @@ if (VKI_RAY_TRACING)
177178
api/vk_deferred_operation.cpp
178179
api/appopt/bvh_batch_layer.cpp
179180
api/appopt/split_raytracing_layer.cpp
181+
api/appopt/acceleration_structure_async_layer.cpp
180182
)
181183
endif()
182184
#endif
@@ -283,7 +285,7 @@ add_custom_command(
283285
-s settings/settings.h
284286
--namespaces vk
285287
--settings-struct-name RuntimeSettings
286-
--include-headers pal.h palImage.h
288+
--include-headers pal.h palImage.h palDevice.h
287289
DEPENDS ${VKI_GEN_SETTINGS_FILES} ${VKI_SETTINGS_DIR}/settings_xgl.json
288290
COMMENT "Generating Vulkan settings code from settings_xgl.json"
289291
)

icd/Loader/LunarG/Lnx/amd-icd.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
"file_format_version": "1.0.0",
33
"ICD": {
44
"library_path": "@AMDVLK_INSTALL_PATH@/amdvlk@[email protected]",
5-
"api_version": "1.4.308"
5+
"api_version": "1.4.313"
66
},
77
"layer": {
88
"name": "VK_LAYER_AMD_switchable_graphics_@ISABITS@",
99
"type": "GLOBAL",
1010
"library_path": "@AMDVLK_INSTALL_PATH@/amdvlk@[email protected]",
11-
"api_version": "1.4.308",
11+
"api_version": "1.4.313",
1212
"implementation_version": "1",
1313
"description": "AMD switchable graphics layer",
1414
"functions": {

icd/api/app_profile.cpp

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -577,6 +577,12 @@ constexpr AppProfilePatternEntry AppNameStarfield
577577
"starfield.exe"
578578
};
579579

580+
constexpr AppProfilePatternEntry AppNameStillWakesTheDeep
581+
{
582+
PatternAppNameLower,
583+
"stillwakesthedeep.exe"
584+
};
585+
580586
constexpr AppProfilePatternEntry AppNameTf2Win64
581587
{
582588
PatternAppNameLower,
@@ -1493,27 +1499,27 @@ AppProfilePattern AppPatternTable[] =
14931499
},
14941500

14951501
{
1496-
AppProfile::DxvkHaloInfiniteLauncher,
1502+
AppProfile::HaloInfinite,
14971503
{
14981504
AppNameHaloInfinite,
1499-
AppEngineDXVK,
1505+
AppEngineVKD3D,
15001506
PatternEnd
15011507
}
15021508
},
15031509

15041510
{
1505-
AppProfile::HaloInfinite,
1511+
AppProfile::Starfield,
15061512
{
1507-
AppNameHaloInfinite,
1513+
AppNameStarfield,
15081514
AppEngineVKD3D,
15091515
PatternEnd
15101516
}
15111517
},
15121518

15131519
{
1514-
AppProfile::Starfield,
1520+
AppProfile::StillWakesTheDeep,
15151521
{
1516-
AppNameStarfield,
1522+
AppNameStillWakesTheDeep,
15171523
AppEngineVKD3D,
15181524
PatternEnd
15191525
}
@@ -1653,17 +1659,17 @@ AppProfilePattern AppPatternTable[] =
16531659
},
16541660

16551661
{
1656-
AppProfile::Zink,
1662+
AppProfile::Superposition,
16571663
{
1664+
AppNameSuperposition,
16581665
AppEngineZink,
16591666
PatternEnd
16601667
}
16611668
},
16621669

16631670
{
1664-
AppProfile::Superposition,
1671+
AppProfile::Zink,
16651672
{
1666-
AppNameSuperposition,
16671673
AppEngineZink,
16681674
PatternEnd
16691675
}

icd/api/app_shader_optimizer.cpp

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -619,6 +619,49 @@ bool ShaderOptimizer::OverrideReverseWorkgroupOrder(
619619
}
620620
#endif
621621

622+
// =====================================================================================================================
623+
CsDispatchInterleaveSize ShaderOptimizer::OverrideDispatchInterleaveSize(
624+
ShaderStage shaderStage,
625+
const PipelineOptimizerKey& pipelineKey
626+
) const
627+
{
628+
CsDispatchInterleaveSize interleaveSize = CsDispatchInterleaveSizeDefault;
629+
630+
for (uint32_t entry = 0; entry < m_appProfile.entryCount; ++entry)
631+
{
632+
const PipelineProfileEntry& profileEntry = m_appProfile.pEntries[entry];
633+
634+
if (GetFirstMatchingShader(profileEntry.pattern, InvalidShaderIndex, pipelineKey) != InvalidShaderIndex)
635+
{
636+
const auto& shaders = profileEntry.action.shaders;
637+
638+
if (shaders[shaderStage].shaderCreate.apply.dispatchInterleaveSize)
639+
{
640+
interleaveSize = shaders[shaderStage].shaderCreate.tuningOptions.dispatchInterleaveSize;
641+
break;
642+
}
643+
}
644+
}
645+
646+
for (uint32_t entry = 0; entry < m_tuningProfile.entryCount; ++entry)
647+
{
648+
const PipelineProfileEntry& profileEntry = m_tuningProfile.pEntries[entry];
649+
650+
if (GetFirstMatchingShader(profileEntry.pattern, InvalidShaderIndex, pipelineKey) != InvalidShaderIndex)
651+
{
652+
const auto& shaders = profileEntry.action.shaders;
653+
654+
if (shaders[shaderStage].shaderCreate.apply.dispatchInterleaveSize)
655+
{
656+
interleaveSize = shaders[shaderStage].shaderCreate.tuningOptions.dispatchInterleaveSize;
657+
break;
658+
}
659+
}
660+
}
661+
662+
return interleaveSize;
663+
}
664+
622665
// =====================================================================================================================
623666
void ShaderOptimizer::OverrideGraphicsPipelineCreateInfo(
624667
const PipelineOptimizerKey& pipelineKey,
@@ -1341,6 +1384,7 @@ void ShaderOptimizer::BuildAppProfile()
13411384
{
13421385
BuildAppProfileLlpc();
13431386
}
1387+
VK_ASSERT(m_appProfile.entryCount < m_appProfile.entryCapacity);
13441388
}
13451389
}
13461390

0 commit comments

Comments
 (0)