Skip to content

Commit c7fc612

Browse files
committed
Update pal from commit d198d6a7
Add missing isPhoenix2 in NdDevice.cpp Fix autoBuffer zombie state on alloc failure Optionally treat Execute Indirect as single draw Sync cache allocation and entry insertion Fix race condition in RemoveOldestFilesOfDirUntilSize() [UseDccForImage] Fix DCC settings conflict when modifier is used TraceSession allow multiple TraceSource instances Remove CmdClearBufferView and CmdClearImageView Fix PWS acquire point mapping table Allow changing assert/print modes from a settings file Fix disableCommandBufferPreemption [MemoryReport] Fix env AMDPAL_NO_LEAK_REPORT not working as expected Update address-lib submodule Init m_settings.enableHardAssert by Util::IsAssertCategoryEnabled() Cleanup dead setting Fix the miniscule memory overhead in pm4CmdBuffer PerfExperiment SPM Test Mode Support Clean up fix copy dst metadata related codes Unlimited chaining by default Update rdf submodule Fix IF version check Make sure zwp_linux_dmabuf_v1 interface being used with compatible version Add mutex to protect hash table in TrackingCacheLayer Safe guards for invalid TS spill table address Fix frame trace controller timing issue Expose unpadded extents of image subresources to clients Implement incrementing constant Fix the header location of drm.h Fix Timeout is not correctly set in no timeout waitIdle case Correct usage of __builtin_assume_aligned Fix capture/replay behavior for DescriptorTable memory Optimize acquire release event barrier path Fix float rounding on copy dst extent in scaled copy path Fix color MSAA copy with stale FMask content [Modifier] handle client passed DisplayDCC setting Fix race conditions in AddEntryToCache Handle MM12 formats during CmdCopyImage With RDP in crash analysis mode observed that test samples does not show the overlay Change ABI metadata .entry_point enum to .entry_point_symbol string Update DevDriver submodule Adjust RemoveOldestFilesOfDirUntilSize() logic Restructure gpuProfilerQueue and add Mutex Unify split barrier path codes Fix CTS_1.4 32Bit full CTS test crash StringTableSource changes, allow acquiring >1 table Ids at once, allow empty string table source RGP trace of Vulkan compute example fails to load when using RenderOpTraceController Fix time clock type using issue Implement Dri3/X Explicit Sync support Split amdgpu header modifications away from upstream Remove SubresLayout::defaultGfxLayout Clean up CmdResolveImage() Clean up OptimizeStageMask and OptimizeAccessMask related codes Handle UserMarkerOpHistory numOps == 0 properly
1 parent b6da370 commit c7fc612

File tree

223 files changed

+229588
-253379
lines changed

Some content is hidden

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

223 files changed

+229588
-253379
lines changed

cmake/Modules/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,4 @@ target_sources(pal PRIVATE
2727
CMakeLists.txt
2828
FindDRM.cmake
2929
FindWayland.cmake
30-
FindXCB.cmake
3130
)

cmake/Modules/FindXCB.cmake

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

inc/core/g_palPipelineAbiMetadata.h

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,13 @@ struct CbConstUsageMetadata
9898
/// Per-hardware stage metadata.
9999
struct HardwareStageMetadata
100100
{
101-
/// The symbol pointing to this pipeline's stage entrypoint.
101+
/// The symbol name pointing to this pipeline's stage entrypoint.
102+
StringViewType entryPointSymbol;
103+
#if PAL_CLIENT_INTERFACE_MAJOR_VERSION < 911
104+
/// Deprecated. The symbol pointing to this pipeline's stage entrypoint.
102105
Abi::PipelineSymbolType entryPoint;
106+
#endif
107+
103108
/// Scratch memory size in bytes.
104109
uint32 scratchMemorySize;
105110
/// size in bytes (per lane/thread) of the stack managed by the compiler backend.
@@ -112,6 +117,7 @@ struct HardwareStageMetadata
112117
uint32 perfDataBufferSize;
113118
/// Number of VGPRs used.
114119
uint32 vgprCount;
120+
115121
/// Number of SGPRs used.
116122
uint32 sgprCount;
117123
/// If non-zero, indicates the shader was compiled with a directive to instruct the compiler to limit the VGPR usage
@@ -193,17 +199,23 @@ struct HardwareStageMetadata
193199
{
194200
struct
195201
{
202+
uint64 entryPointSymbol : 1;
203+
#if PAL_CLIENT_INTERFACE_MAJOR_VERSION < 911
196204
uint64 entryPoint : 1;
205+
#else
206+
uint64 placeholder0 : 1;
207+
#endif
197208
uint64 scratchMemorySize : 1;
198209
uint64 backendStackSize : 1;
199210
uint64 frontendStackSize : 1;
200211
uint64 ldsSize : 1;
201212
uint64 perfDataBufferSize : 1;
202213
uint64 vgprCount : 1;
214+
uint64 placeholder1 : 1;
203215
uint64 sgprCount : 1;
204216
uint64 vgprLimit : 1;
205217
uint64 sgprLimit : 1;
206-
uint64 placeholder0 : 1;
218+
uint64 placeholder2 : 1;
207219
uint64 threadgroupDimensions : 1;
208220
uint64 origThreadgroupDimensions : 1;
209221
uint64 cbConstUsage : 1;
@@ -232,8 +244,8 @@ struct HardwareStageMetadata
232244
uint64 writesDepth : 1;
233245
uint64 usesAppendConsume : 1;
234246
uint64 usesPrimId : 1;
235-
uint64 placeholder1 : 1;
236-
uint64 reserved : 24;
247+
uint64 placeholder3 : 1;
248+
uint64 reserved : 22;
237249
};
238250
uint64 uAll;
239251
} hasEntry;
@@ -1310,8 +1322,7 @@ struct SpiBarycCntlMetadata
13101322
{
13111323
/// Whether to use the entire 32b value to determine front-facing.
13121324
uint8 frontFaceAllBits : 1;
1313-
uint8 placeholder0 : 1;
1314-
uint8 reserved : 6;
1325+
uint8 reserved : 7;
13151326
};
13161327
uint8 uAll;
13171328
} flags;
@@ -1322,10 +1333,7 @@ struct SpiBarycCntlMetadata
13221333
{
13231334
uint8 posFloatLocation : 1;
13241335
uint8 frontFaceAllBits : 1;
1325-
uint8 placeholder0 : 1;
1326-
uint8 placeholder1 : 1;
1327-
uint8 placeholder2 : 1;
1328-
uint8 reserved : 3;
1336+
uint8 reserved : 6;
13291337
};
13301338
uint8 uAll;
13311339
} hasEntry;
@@ -2161,7 +2169,6 @@ namespace SpiBarycCntlMetadataKey
21612169
{
21622170
static constexpr char PosFloatLocation[] = ".pos_float_location";
21632171
static constexpr char FrontFaceAllBits[] = ".front_face_all_bits";
2164-
21652172
};
21662173

21672174
namespace PaScShaderControlMetadataKey
@@ -2439,13 +2446,18 @@ namespace PsInputSemanticMetadataKey
24392446

24402447
namespace HardwareStageMetadataKey
24412448
{
2449+
static constexpr char EntryPointSymbol[] = ".entry_point_symbol";
2450+
#if PAL_CLIENT_INTERFACE_MAJOR_VERSION < 911
24422451
static constexpr char EntryPoint[] = ".entry_point";
2452+
#endif
2453+
24432454
static constexpr char ScratchMemorySize[] = ".scratch_memory_size";
24442455
static constexpr char BackendStackSize[] = ".backend_stack_size";
24452456
static constexpr char FrontendStackSize[] = ".frontend_stack_size";
24462457
static constexpr char LdsSize[] = ".lds_size";
24472458
static constexpr char PerfDataBufferSize[] = ".perf_data_buffer_size";
24482459
static constexpr char VgprCount[] = ".vgpr_count";
2460+
24492461
static constexpr char SgprCount[] = ".sgpr_count";
24502462
static constexpr char VgprLimit[] = ".vgpr_limit";
24512463
static constexpr char SgprLimit[] = ".sgpr_limit";

inc/core/g_palPipelineAbiMetadataImpl.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1092,12 +1092,21 @@ inline Result DeserializeHardwareStageMetadata(
10921092
{
10931093
switch (HashString(key))
10941094
{
1095+
case HashLiteralString(HardwareStageMetadataKey::EntryPointSymbol):
1096+
PAL_ASSERT(pMetadata->hasEntry.entryPointSymbol == 0);
1097+
result = pReader->UnpackNext(&pMetadata->entryPointSymbol);
1098+
pMetadata->hasEntry.entryPointSymbol = (result == Result::Success);;
1099+
break;
1100+
1101+
#if PAL_CLIENT_INTERFACE_MAJOR_VERSION < 911
10951102
case HashLiteralString(HardwareStageMetadataKey::EntryPoint):
10961103
PAL_ASSERT(pMetadata->hasEntry.entryPoint == 0);
10971104
result = DeserializeEnum(pReader, &pMetadata->entryPoint);
10981105
pMetadata->hasEntry.entryPoint = (result == Result::Success);;
10991106
break;
11001107

1108+
#endif
1109+
11011110
case HashLiteralString(HardwareStageMetadataKey::ScratchMemorySize):
11021111
PAL_ASSERT(pMetadata->hasEntry.scratchMemorySize == 0);
11031112
result = pReader->UnpackNext(&pMetadata->scratchMemorySize);

inc/core/palCmdBuffer.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3938,6 +3938,7 @@ class ICmdBuffer : public IDestroyable
39383938
const Rect* pRects,
39393939
uint32 flags) = 0;
39403940

3941+
#if PAL_CLIENT_INTERFACE_MAJOR_VERSION < 910
39413942
/// Clears a range of GPU memory to the specified clear color using the specified buffer view SRD.
39423943
///
39433944
/// The maximum clear range is determined by the view; if any Ranges are specified they must fit within the view's
@@ -3988,6 +3989,7 @@ class ICmdBuffer : public IDestroyable
39883989
const void* pImageViewSrd,
39893990
uint32 rectCount = 0,
39903991
const Rect* pRects = nullptr) = 0;
3992+
#endif
39913993

39923994
/// Resolves multiple regions of a multisampled image to a single-sampled image.
39933995
///

inc/core/palDevice.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1247,8 +1247,10 @@ struct DeviceProperties
12471247

12481248
/// Set if images created on this device support being created with corner sampling.
12491249
uint32 supportsCornerSampling : 1;
1250-
/// Placeholder, do not use.
1250+
1251+
/// Load Bearing placeholder, do not touch.
12511252
uint32 placeholder0 : 1;
1253+
12521254
/// Reserved for future use.
12531255
uint32 reserved : 29;
12541256
};
@@ -1434,7 +1436,9 @@ struct DeviceProperties
14341436
uint64 supportBFloat16 : 1; ///< HW supports bf16 instructions.
14351437
uint64 supportFloat8 : 1; ///< HW supports float 8-bit instructions.
14361438
uint64 supportInt4 : 1; ///< HW supports integer 4-bit instructions.
1437-
uint64 reserved : 62; ///< Reserved for future use.
1439+
uint64 placeholder13 : 1;
1440+
uint64 placeholder14 : 1;
1441+
uint64 reserved : 60; ///< Reserved for future use.
14381442
};
14391443
uint64 u64All[2]; ///< Flags packed as 32-bit uint.
14401444
} flags; ///< Device IP property flags.

inc/core/palImage.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -593,16 +593,19 @@ struct SubresLayout
593593
Extent3d blockSize; ///< Size of a tile block in texels - micro tile for 1D tiling and macro tile for 2D tiling.
594594
Offset3d mipTailCoord; ///< coords of the subresource within the mip tail
595595

596-
/// Extent of the subresource in texels, including all internal padding for this subresource.
597-
Extent3d paddedExtent;
596+
Extent3d extentTexels; ///< Unpadded extent of the subresource in texels.
597+
Extent3d extentElements; ///< Unpadded extent of the subresource in elements.
598+
Extent3d paddedExtent; ///< Extent of the subresource in elements, including all internal padding for this subresource.
598599

600+
#if PAL_CLIENT_INTERFACE_MAJOR_VERSION < 912
599601
/// Reports supported engines and usages for this subresource while it can remain in its optimal compression state.
600602
/// Clients using CmdRelease()/CmdAcquire() without complete knowledge of the application's next usage during
601603
/// CmdRelease() or its previous usage at CmdAcquire() can treat this layout as a performant target for an
602604
/// intermediate state that will avoid unnecessary decompressions.
603605
///
604606
/// This value is only valid if supportSplitReleaseAcquire is set in @ref DeviceProperties.
605607
ImageLayout defaultGfxLayout;
608+
#endif
606609

607610
SwizzledFormat planeFormat; ///< Swizzled format for plane. Planar resource like D32-S8
608611
/// will have different swizzled format per plane.

inc/core/palIndirectCmdGenerator.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,12 @@ struct IndirectParam
114114
{
115115
uint32 bufferId; ///< Vertex bufer slot ID to set.
116116
} vertexData; ///< Additional information about a 'BindVertexData' indirect command parameter.
117+
118+
struct
119+
{
120+
bool constantDrawIndex; ///< If set, does not increment the Draw Index per draw.
121+
} drawData; ///< Additional information about 'Draw', 'DrawIndexed' and 'DispatchMesh'
122+
/// indirect command parameters.
117123
};
118124
};
119125

inc/core/palLib.h

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
#endif
4848
///
4949
/// @ingroup LibInit
50-
#define PAL_INTERFACE_MAJOR_VERSION 909
50+
#define PAL_INTERFACE_MAJOR_VERSION 912
5151

5252
#if PAL_CLIENT_INTERFACE_MAJOR_VERSION < 831
5353
/// Minor interface version. Note that the interface version is distinct from the PAL version itself, which is returned
@@ -247,12 +247,7 @@ struct GpuInfo
247247
enum class ClientApi : uint32
248248
{
249249
Pal = 0,
250-
Dx9 = 1,
251-
Dx12 = 3,
252250
Vulkan = 4,
253-
OpenCl = 7,
254-
Hip = 8,
255-
Amf = 9,
256251
};
257252

258253
/// Specifies properties for @ref IPlatform creation. Input structure to Pal::CreatePlatform().

inc/core/palPipeline.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -812,7 +812,7 @@ class IPipeline : public IDestroyable
812812
virtual void SetStackSizeInBytes(
813813
uint32 stackSizeInBytes) = 0;
814814

815-
/// Retrieve the stack sizes managed by compiler, including the frontend stack and the frontend stack.
815+
/// Retrieve the stack sizes managed by compiler, including the frontend stack and the backend stack.
816816
///
817817
/// @param [out] pSizes To be filled with both the frontend stack size and the backend stack size, in bytes.
818818
///

inc/core/palPipelineAbi.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -839,7 +839,7 @@ enum class ZOrder : uint8
839839
{
840840

841841
constexpr uint32 PipelineMetadataMajorVersion = 3; ///< Pipeline Metadata Major Version
842-
constexpr uint32 PipelineMetadataMinorVersion = 5; ///< Pipeline Metadata Minor Version
842+
constexpr uint32 PipelineMetadataMinorVersion = 6; ///< Pipeline Metadata Minor Version
843843

844844
constexpr uint32 PipelineMetadataBase = 0x10000000; ///< Deprecated - Pipeline Metadata base value to be OR'd with the
845845
/// PipelineMetadataEntry value when saving to ELF.

inc/core/palScreen.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,15 +87,15 @@ enum ScreenColorSpace : uint32
8787
TfPq2084 = 0x00004, ///< HDR10 Media Profile, SMPTE ST 2084 (CEA - 861.3)
8888
TfLinear0_1 = 0x00008, ///< Linear 0.0 -> 1.0
8989
TfLinear0_125 = 0x00010, ///< Linear 0.0 -> 125
90-
TfDolbyVision = 0x00020, ///< Propriety Dolby Vision transform
90+
TfDolbyVision = 0x00020, ///< Propriety DolbyVision transform
9191
TfGamma22 = 0x00040, ///< Gamma 2.2 (almost the same as sRGB transform)
9292
TfHlg = 0x00080, ///< Hybrid Log Gamma (BBC \ NHK Ref)
9393

9494
/// Color space flags - defines the domain of the input signal.
9595
CsSrgb = 0x001000, ///< SDR standard: sRGB non-linear format (IEC 61966-2-1:1999)
9696
CsBt709 = 0x002000, ///< SDR standard: BT.709 standard (HDTV)
9797
CsBt2020 = 0x004000, ///< HDR standard: BT.2020 standard (UHDTV)
98-
CsDolbyVision = 0x008000, ///< HDR standard: Propriety Dolby Vision
98+
CsDolbyVision = 0x008000, ///< HDR standard: Propriety DolbyVision
9999
CsAdobe = 0x010000, ///< HDR standard: Adobe
100100
CsDciP3 = 0x020000, ///< HDR standard: DCI-P3 film industry standard
101101
CsScrgb = 0x040000, ///< HDR standard: scRGB non-linear format (Microsoft)

0 commit comments

Comments
 (0)