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

Commit cc31c8a

Browse files
committed
Update pal from commit f9a5b5b8
Change some references to CONST Revert partial code of previous change to setup CE preamble for MCBP Add nestedCmdBuffer info to RGD Hook up mall policy Add a setting to control NoGPUAccess Fix a discrepancy concerning the capacity of an `AutoBuffer` when using the implicit conversion operator to `Span`. Minor CPU optimization in compute SH path Minor DepthStencilState command stream optimization Add AllocateCommands as an alternative to Reserve/Commit. Hook up supportsMall Clean up codes of UniversalCmdBuffer, GfxCmdBuffer and ComputeCmdBuffer SDMA code cleanup Added check for imageBarrierCount Mark generated pipeline binary data as `inline` Minor MSAAState command stream optimization Clean up GetCmdStream() Fix ExplicitSync wait for release return value Replace format and swizzle for resolving image Update Address-lib submodule Add PackedRegPairs pack to DepthStencilState Add PackedRegPairs support to MSAAState RS64 path Always use compute engine for image copies with MM formats Fix PAL_INTERFACE_MAJOR_VERSION Retire back compatibility up to version 856 Revert removal of CmdCloneImageData API GetEndSubmitSize() should be in DWORDs not bytes Minor ColorBlendState Optimization Reset CAM filter for SET_CONTEXT_REG_PAIRS packet Remove unexpected assert in Device::SetupWorkarounds() Trivially add Pm4Opt template param to ValidateScissorRects Adjust GFX9 HWL Draw Func templates More Product ID Cleanup Fix a Mesh/Task bug with the PM4Optimizer Break submit batches on PreemptionEnabled Toggle Rework GFX UserData Validation Move drm and Wayland OS headers to 'shared' dir Remove Device ptr deref from CS bind Add GpuProfilerConfig.EnableBarrierComments Fix debug assertion when AutoBuffer's capacity is 0 Fix access violation in new ImageCreateInfo equality operator Fix decorator with 0 sized autobuffer Move Vertex/Instance Offset and DrawIndex Validation Disable PalTrace control of DevDriver overlay Trivial cleanup of BuildNumInstances Minor CPU Optimization in GraphicsPipeline Add PM4Opt template to Pipeline bind Refactor Pipeline Generation python scripts Tighten GFX11 SH bounds Avoid an assert when logging with no image barriers Update DevDriver submodule Tighten GFX11 Context bounds Fix dbgoverlay benchmark Fix wayland present perf drop For Ubertrace, allow client to tell PAL the instrumentation version they support Use generated constants for settings file info Add F32 RegPairs path for GFX Pipeline SH registers Fix gfx9 universal ACE cmd postamble Trivially remove TempSetPm4OptimizerMode Add F32 RegPairs path for GFX Pipeline Context registers Minor tweak existing barrier codes Fix auto buffer assertion in the case of empty barriers Remove GFX115 & STRIX1 Guards Rework PackRegPairs PM4Opt path Fix crash for system memory allocation when out of memory Remove orphaned file, correcting format generator headers Remove private setting no longer needed Fix `&a[0]` AutoBuffer asserts in PGP-related code and relax UFixedToFloat alert Fix PGP PIX filtering support Cache off RegPairs for GFX11 RS64 GfxPipe regs Minor device pointer deref avoidance Update SwWarDetection submodule Pull Scissor Validation out of SWA Class Drop Indexed template Use an RW lock and a list to track pointers to all of the allocated thread local data in Lz4Compressor Enables HIP Wavegroups + Lanesharing within a wavegroup Add a sequencing WaitRegMem to address a race condition in SPM Remove DFWXMemory flag and uses. Drop unused param from MergedChannelFlatFmtInfoTbl Mark DSV Class Final Add IsGfx11 Template Deprecate most if constexpr usage Add ReserveCommandsSized to CmdStream Move DB_Z_INFO validation completely to draw-time Deprecate GFX9 imageVaLocked Add Strix Halo support
1 parent 32f57f3 commit cc31c8a

267 files changed

Lines changed: 15553 additions & 10579 deletions

File tree

Some content is hidden

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

CMakeLists.txt

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,8 @@
2323
#
2424
#######################################################################################################################
2525

26-
if (PAL_CLIENT_INTERFACE_MAJOR_VERSION LESS 828)
27-
cmake_minimum_required(VERSION 3.15...3.21)
28-
else()
29-
cmake_minimum_required(VERSION 3.21)
30-
endif()
26+
cmake_minimum_required(VERSION 3.21)
27+
3128
include(cmake/PalVersionHelper.cmake)
3229

3330
project(PAL LANGUAGES CXX)

cmake/PalBuildParameters.cmake

Lines changed: 10 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -84,53 +84,28 @@ pal_bp(PAL_BUILD_BRANCH "2420")
8484

8585
if (PAL_BUILD_GFX)
8686
pal_bp(PAL_BUILD_GFX9 ${PAL_BUILD_GFX} MODE "AUTHOR_WARNING")
87-
#if PAL_BUILD_GFX11
8887
# PAL's GFX11 support is part of its GFX9 HWL so you need to enable both to get GFX11.
8988
pal_bp(PAL_BUILD_GFX11 ${PAL_BUILD_GFX} DEPENDS_ON PAL_BUILD_GFX9 MODE "AUTHOR_WARNING")
90-
#endif
9189
endif() # PAL_BUILD_GFX
9290

9391
# If the client wants Gfx9 support, them give them all the neccessary build parameters they need to fill out.
9492
if (PAL_BUILD_GFX9)
9593

96-
#if PAL_BUILD_GFX11
97-
# Clients should directly set PAL_BUILD_GFX11 in their cmakes to request support for these GPUs.
98-
if (PAL_CLIENT_INTERFACE_MAJOR_VERSION LESS 846)
99-
pal_bp( PAL_BUILD_NAVI31 ON MODE "AUTHOR_WARNING"
100-
ASIC_CONFIG
101-
PAL_BUILD_GFX11
102-
)
103-
104-
pal_bp( PAL_BUILD_NAVI32 ON MODE "AUTHOR_WARNING"
105-
ASIC_CONFIG
106-
PAL_BUILD_GFX11
107-
)
108-
109-
pal_bp( PAL_BUILD_NAVI33 ON MODE "AUTHOR_WARNING"
110-
ASIC_CONFIG
111-
PAL_BUILD_GFX11
112-
)
113-
114-
pal_bp( PAL_BUILD_PHOENIX1 ON MODE "AUTHOR_WARNING"
115-
ASIC_CONFIG
116-
PAL_BUILD_GFX11
117-
)
94+
# Clients should directly set PAL_BUILD_GFX9 and PAL_BUILD_GFX11 in their cmakes to request support for these GPUs.
95+
# These used to be pal_bp calls but were simplified to pal_set_or calls to avoid breaking clients that depend on
96+
# the ASIC-specific variables automatically setting PAL_BUILD_GFX11 via ASIC_CONFIG.
97+
if ((PAL_CLIENT_INTERFACE_MAJOR_VERSION LESS 888) AND DEFINED PAL_BUILD_PHOENIX2)
98+
pal_set_or(PAL_BUILD_GFX11 ${PAL_BUILD_PHOENIX2})
11899
endif()
119-
if (PAL_CLIENT_INTERFACE_MAJOR_VERSION LESS 888)
120-
pal_bp( PAL_BUILD_PHOENIX2 ON MODE "AUTHOR_WARNING"
121-
ASIC_CONFIG
122-
PAL_BUILD_GFX11
123-
)
100+
if ((PAL_CLIENT_INTERFACE_MAJOR_VERSION LESS 917) AND DEFINED PAL_BUILD_STRIX1)
101+
pal_set_or(PAL_BUILD_GFX11 ${PAL_BUILD_STRIX1})
124102
endif()
125-
#endif
126103

127-
#if PAL_BUILD_STRIX1
128-
pal_bp( PAL_BUILD_STRIX1 OFF MODE "AUTHOR_WARNING"
104+
#if PAL_BUILD_STRIX_HALO
105+
pal_bp( PAL_BUILD_STRIX_HALO OFF MODE "AUTHOR_WARNING"
129106
ASIC_CONFIG
130107
PAL_BUILD_GFX11
131-
PAL_BUILD_GFX115
132-
PAL_BUILD_STRIX
133-
CHIP_HDR_STRIX1
108+
CHIP_HDR_STRIX_HALO
134109
)
135110
#endif
136111

cmake/PalCompileDefinitions.cmake

Lines changed: 8 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -46,48 +46,21 @@ function(pal_compile_definitions_gpu TARGET)
4646

4747
# PAL GFXx BUILD Defines
4848
target_compile_definitions(${TARGET} PUBLIC PAL_BUILD_GFX9=$<BOOL:${PAL_BUILD_GFX9}>)
49-
#if PAL_BUILD_GFX11
5049
target_compile_definitions(${TARGET} INTERFACE PAL_BUILD_GFX11=$<BOOL:${PAL_BUILD_GFX11}>)
51-
#endif
52-
#if PAL_BUILD_GFX115
53-
target_compile_definitions(${TARGET} PUBLIC PAL_BUILD_GFX115=$<BOOL:${PAL_BUILD_GFX115}>)
54-
#endif
5550

5651
# PAL no longer references these defines and our clients must remove their references when upgrading.
57-
if (PAL_CLIENT_INTERFACE_MAJOR_VERSION LESS 845)
58-
target_compile_definitions(${TARGET} INTERFACE PAL_BUILD_GFX10=$<BOOL:${PAL_BUILD_GFX9}>)
59-
target_compile_definitions(${TARGET} INTERFACE PAL_BUILD_GFX103=$<BOOL:${PAL_BUILD_GFX9}>)
60-
target_compile_definitions(${TARGET} INTERFACE PAL_BUILD_NAVI12=$<BOOL:${PAL_BUILD_GFX9}>)
61-
target_compile_definitions(${TARGET} INTERFACE PAL_BUILD_NAVI14=$<BOOL:${PAL_BUILD_GFX9}>)
62-
target_compile_definitions(${TARGET} INTERFACE PAL_BUILD_NAVI2X=$<BOOL:${PAL_BUILD_GFX9}>)
63-
target_compile_definitions(${TARGET} INTERFACE PAL_BUILD_NAVI21=$<BOOL:${PAL_BUILD_GFX9}>)
64-
target_compile_definitions(${TARGET} INTERFACE PAL_BUILD_NAVI22=$<BOOL:${PAL_BUILD_GFX9}>)
65-
target_compile_definitions(${TARGET} INTERFACE PAL_BUILD_NAVI23=$<BOOL:${PAL_BUILD_GFX9}>)
66-
target_compile_definitions(${TARGET} INTERFACE PAL_BUILD_NAVI24=$<BOOL:${PAL_BUILD_GFX9}>)
67-
target_compile_definitions(${TARGET} INTERFACE PAL_BUILD_REMBRANDT=$<BOOL:${PAL_BUILD_GFX9}>)
68-
target_compile_definitions(${TARGET} INTERFACE PAL_BUILD_RAPHAEL=$<BOOL:${PAL_BUILD_GFX9}>)
69-
target_compile_definitions(${TARGET} INTERFACE PAL_BUILD_MENDOCINO=$<BOOL:${PAL_BUILD_GFX9}>)
70-
endif()
71-
if (PAL_CLIENT_INTERFACE_MAJOR_VERSION LESS 846)
72-
target_compile_definitions(${TARGET} INTERFACE PAL_BUILD_NAVI3X=$<BOOL:${PAL_BUILD_GFX9}>)
73-
target_compile_definitions(${TARGET} INTERFACE PAL_BUILD_NAVI31=$<BOOL:${PAL_BUILD_GFX9}>)
74-
target_compile_definitions(${TARGET} INTERFACE PAL_BUILD_NAVI32=$<BOOL:${PAL_BUILD_GFX9}>)
75-
target_compile_definitions(${TARGET} INTERFACE PAL_BUILD_NAVI33=$<BOOL:${PAL_BUILD_GFX9}>)
76-
target_compile_definitions(${TARGET} INTERFACE PAL_BUILD_PHOENIX=$<BOOL:${PAL_BUILD_GFX9}>)
77-
target_compile_definitions(${TARGET} INTERFACE PAL_BUILD_PHOENIX1=$<BOOL:${PAL_BUILD_GFX9}>)
78-
endif()
7952
if (PAL_CLIENT_INTERFACE_MAJOR_VERSION LESS 888)
8053
target_compile_definitions(${TARGET} INTERFACE PAL_BUILD_PHOENIX2=$<BOOL:${PAL_BUILD_GFX9}>)
8154
endif()
55+
if (PAL_CLIENT_INTERFACE_MAJOR_VERSION LESS 917)
56+
target_compile_definitions(${TARGET} INTERFACE PAL_BUILD_GFX115=$<BOOL:${PAL_BUILD_GFX9}>)
57+
target_compile_definitions(${TARGET} INTERFACE PAL_BUILD_STRIX=$<BOOL:${PAL_BUILD_GFX9}>)
58+
target_compile_definitions(${TARGET} INTERFACE PAL_BUILD_STRIX1=$<BOOL:${PAL_BUILD_GFX9}>)
59+
endif()
8260

83-
#if PAL_BUILD_STRIX
84-
# Define for ASIC Family and is not associated with a CHIP_HDR
85-
target_compile_definitions(${TARGET} PUBLIC PAL_BUILD_STRIX=$<BOOL:${PAL_BUILD_STRIX}>)
86-
#endif
87-
88-
#if PAL_BUILD_STRIX1
89-
target_compile_definitions(${TARGET} PUBLIC PAL_BUILD_STRIX1=$<BOOL:${PAL_BUILD_STRIX1}>)
90-
target_compile_definitions(${TARGET} PRIVATE CHIP_HDR_STRIX1=$<BOOL:${CHIP_HDR_STRIX1}>)
61+
#if PAL_BUILD_STRIX_HALO
62+
target_compile_definitions(${TARGET} PUBLIC PAL_BUILD_STRIX_HALO=$<BOOL:${PAL_BUILD_STRIX_HALO}>)
63+
target_compile_definitions(${TARGET} PRIVATE CHIP_HDR_STRIX_HALO=$<BOOL:${CHIP_HDR_STRIX_HALO}>)
9164
#endif
9265

9366
endif()

cmake/PalOverrides.cmake

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,7 @@ set(AMD_SOURCE_DIR ${GLOBAL_ROOT_SRC_DIR})
3939

4040
if(PAL_BUILD_GFX9)
4141
set(ADDR_GFX10_BUILD ON)
42-
#if ADDR_GFX11_BUILD
4342
set(ADDR_GFX11_BUILD ON)
44-
#endif
4543

4644
# These ASICs don't have build macros, they're always present if this HWL is enabled.
4745
set(ADDR_NAVI12_BUILD ON)
@@ -59,6 +57,8 @@ if(PAL_BUILD_GFX9)
5957
set(ADDR_PHOENIX_BUILD ON)
6058
set(ADDR_PHOENIX1_BUILD ON)
6159
set(ADDR_PHOENIX2_BUILD ON)
60+
set(ADDR_STRIX_BUILD ON)
61+
set(ADDR_STRIX1_BUILD ON)
6262

6363
set(PAL_SWD_BUILD_GFX11 ON)
6464
set(PAL_SWD_BUILD_NAVI3X ON)
@@ -68,12 +68,13 @@ if(PAL_BUILD_GFX9)
6868
set(PAL_SWD_BUILD_PHX ON)
6969
set(PAL_SWD_BUILD_PHX1 ON)
7070
set(PAL_SWD_BUILD_PHX2 ON)
71+
set(PAL_SWD_BUILD_STRIX ON)
72+
set(PAL_SWD_BUILD_STRIX1 ON)
7173

72-
#if PAL_BUILD_STRIX1
73-
set(PAL_SWD_BUILD_STRIX1 ${PAL_BUILD_STRIX1})
74-
pal_set_or(ADDR_STRIX_BUILD ${PAL_BUILD_STRIX1})
75-
pal_set_or(ADDR_STRIX1_BUILD ${PAL_BUILD_STRIX1})
76-
pal_set_or(PAL_SWD_BUILD_STRIX ${PAL_BUILD_STRIX1})
74+
#if PAL_BUILD_STRIX_HALO
75+
set(PAL_SWD_BUILD_STRIX_HALO ${PAL_BUILD_STRIX_HALO})
76+
pal_set_or(ADDR_STRIX_HALO_BUILD ${PAL_BUILD_STRIX_HALO})
77+
pal_set_or(VPE_BUILD_1_1 ${PAL_BUILD_STRIX_HALO})
7778
#endif
7879

7980
endif() # PAL_BUILD_GFX9

inc/core/pal.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -148,17 +148,19 @@ enum QueueTypeSupport : uint32
148148
};
149149

150150
// Many command buffers break down into multiple command streams targeting internal sub-engines. For example, Universal
151-
// command buffers build a primary stream (DE) but may also build a second stream for the constant engine (CE).
151+
// command buffers build a primary stream (DE) but may also build a second stream for async compute engine (ACE).
152152
enum class SubEngineType : uint32
153153
{
154-
Primary = 0, // Subqueue that is the queue itself, rather than an ancilliary queue.
154+
Primary = 0, // Subqueue that is the queue itself, rather than an ancillary queue.
155155
#if PAL_CLIENT_INTERFACE_MAJOR_VERSION >= 914
156156
AsyncCompute = 1, // Auxiliary ACE subqueue, together with a primary subqueue forms a "ganged" submit.
157+
ConstantEngine = 2, // CP constant update engine that runs in parallel with draw engine.
158+
// Internal usage only.
157159
#else
158160
ConstantEngine = 1, // CP constant update engine that runs in parallel with draw engine.
159161
AsyncCompute = 2, // Auxiliary ACE subqueue, together with a primary subqueue forms a "ganged" submit.
160162
Pup = 3, // Subqueue that is the queue itself but for PUP-style packets, rather than an
161-
// ancillaiary queue
163+
// ancillary queue
162164
#endif
163165
Count,
164166
};

0 commit comments

Comments
 (0)