Skip to content

Commit

Permalink
Update pal from commit d198d6a7
Browse files Browse the repository at this point in the history
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
  • Loading branch information
qiaojbao committed Dec 23, 2024
1 parent b6da370 commit c7fc612
Show file tree
Hide file tree
Showing 223 changed files with 229,588 additions and 253,379 deletions.
1 change: 0 additions & 1 deletion cmake/Modules/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,4 @@ target_sources(pal PRIVATE
CMakeLists.txt
FindDRM.cmake
FindWayland.cmake
FindXCB.cmake
)
60 changes: 0 additions & 60 deletions cmake/Modules/FindXCB.cmake

This file was deleted.

34 changes: 23 additions & 11 deletions inc/core/g_palPipelineAbiMetadata.h
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,13 @@ struct CbConstUsageMetadata
/// Per-hardware stage metadata.
struct HardwareStageMetadata
{
/// The symbol pointing to this pipeline's stage entrypoint.
/// The symbol name pointing to this pipeline's stage entrypoint.
StringViewType entryPointSymbol;
#if PAL_CLIENT_INTERFACE_MAJOR_VERSION < 911
/// Deprecated. The symbol pointing to this pipeline's stage entrypoint.
Abi::PipelineSymbolType entryPoint;
#endif

/// Scratch memory size in bytes.
uint32 scratchMemorySize;
/// size in bytes (per lane/thread) of the stack managed by the compiler backend.
Expand All @@ -112,6 +117,7 @@ struct HardwareStageMetadata
uint32 perfDataBufferSize;
/// Number of VGPRs used.
uint32 vgprCount;

/// Number of SGPRs used.
uint32 sgprCount;
/// If non-zero, indicates the shader was compiled with a directive to instruct the compiler to limit the VGPR usage
Expand Down Expand Up @@ -193,17 +199,23 @@ struct HardwareStageMetadata
{
struct
{
uint64 entryPointSymbol : 1;
#if PAL_CLIENT_INTERFACE_MAJOR_VERSION < 911
uint64 entryPoint : 1;
#else
uint64 placeholder0 : 1;
#endif
uint64 scratchMemorySize : 1;
uint64 backendStackSize : 1;
uint64 frontendStackSize : 1;
uint64 ldsSize : 1;
uint64 perfDataBufferSize : 1;
uint64 vgprCount : 1;
uint64 placeholder1 : 1;
uint64 sgprCount : 1;
uint64 vgprLimit : 1;
uint64 sgprLimit : 1;
uint64 placeholder0 : 1;
uint64 placeholder2 : 1;
uint64 threadgroupDimensions : 1;
uint64 origThreadgroupDimensions : 1;
uint64 cbConstUsage : 1;
Expand Down Expand Up @@ -232,8 +244,8 @@ struct HardwareStageMetadata
uint64 writesDepth : 1;
uint64 usesAppendConsume : 1;
uint64 usesPrimId : 1;
uint64 placeholder1 : 1;
uint64 reserved : 24;
uint64 placeholder3 : 1;
uint64 reserved : 22;
};
uint64 uAll;
} hasEntry;
Expand Down Expand Up @@ -1310,8 +1322,7 @@ struct SpiBarycCntlMetadata
{
/// Whether to use the entire 32b value to determine front-facing.
uint8 frontFaceAllBits : 1;
uint8 placeholder0 : 1;
uint8 reserved : 6;
uint8 reserved : 7;
};
uint8 uAll;
} flags;
Expand All @@ -1322,10 +1333,7 @@ struct SpiBarycCntlMetadata
{
uint8 posFloatLocation : 1;
uint8 frontFaceAllBits : 1;
uint8 placeholder0 : 1;
uint8 placeholder1 : 1;
uint8 placeholder2 : 1;
uint8 reserved : 3;
uint8 reserved : 6;
};
uint8 uAll;
} hasEntry;
Expand Down Expand Up @@ -2161,7 +2169,6 @@ namespace SpiBarycCntlMetadataKey
{
static constexpr char PosFloatLocation[] = ".pos_float_location";
static constexpr char FrontFaceAllBits[] = ".front_face_all_bits";

};

namespace PaScShaderControlMetadataKey
Expand Down Expand Up @@ -2439,13 +2446,18 @@ namespace PsInputSemanticMetadataKey

namespace HardwareStageMetadataKey
{
static constexpr char EntryPointSymbol[] = ".entry_point_symbol";
#if PAL_CLIENT_INTERFACE_MAJOR_VERSION < 911
static constexpr char EntryPoint[] = ".entry_point";
#endif

static constexpr char ScratchMemorySize[] = ".scratch_memory_size";
static constexpr char BackendStackSize[] = ".backend_stack_size";
static constexpr char FrontendStackSize[] = ".frontend_stack_size";
static constexpr char LdsSize[] = ".lds_size";
static constexpr char PerfDataBufferSize[] = ".perf_data_buffer_size";
static constexpr char VgprCount[] = ".vgpr_count";

static constexpr char SgprCount[] = ".sgpr_count";
static constexpr char VgprLimit[] = ".vgpr_limit";
static constexpr char SgprLimit[] = ".sgpr_limit";
Expand Down
9 changes: 9 additions & 0 deletions inc/core/g_palPipelineAbiMetadataImpl.h
Original file line number Diff line number Diff line change
Expand Up @@ -1092,12 +1092,21 @@ inline Result DeserializeHardwareStageMetadata(
{
switch (HashString(key))
{
case HashLiteralString(HardwareStageMetadataKey::EntryPointSymbol):
PAL_ASSERT(pMetadata->hasEntry.entryPointSymbol == 0);
result = pReader->UnpackNext(&pMetadata->entryPointSymbol);
pMetadata->hasEntry.entryPointSymbol = (result == Result::Success);;
break;

#if PAL_CLIENT_INTERFACE_MAJOR_VERSION < 911
case HashLiteralString(HardwareStageMetadataKey::EntryPoint):
PAL_ASSERT(pMetadata->hasEntry.entryPoint == 0);
result = DeserializeEnum(pReader, &pMetadata->entryPoint);
pMetadata->hasEntry.entryPoint = (result == Result::Success);;
break;

#endif

case HashLiteralString(HardwareStageMetadataKey::ScratchMemorySize):
PAL_ASSERT(pMetadata->hasEntry.scratchMemorySize == 0);
result = pReader->UnpackNext(&pMetadata->scratchMemorySize);
Expand Down
2 changes: 2 additions & 0 deletions inc/core/palCmdBuffer.h
Original file line number Diff line number Diff line change
Expand Up @@ -3938,6 +3938,7 @@ class ICmdBuffer : public IDestroyable
const Rect* pRects,
uint32 flags) = 0;

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

/// Resolves multiple regions of a multisampled image to a single-sampled image.
///
Expand Down
8 changes: 6 additions & 2 deletions inc/core/palDevice.h
Original file line number Diff line number Diff line change
Expand Up @@ -1247,8 +1247,10 @@ struct DeviceProperties

/// Set if images created on this device support being created with corner sampling.
uint32 supportsCornerSampling : 1;
/// Placeholder, do not use.

/// Load Bearing placeholder, do not touch.
uint32 placeholder0 : 1;

/// Reserved for future use.
uint32 reserved : 29;
};
Expand Down Expand Up @@ -1434,7 +1436,9 @@ struct DeviceProperties
uint64 supportBFloat16 : 1; ///< HW supports bf16 instructions.
uint64 supportFloat8 : 1; ///< HW supports float 8-bit instructions.
uint64 supportInt4 : 1; ///< HW supports integer 4-bit instructions.
uint64 reserved : 62; ///< Reserved for future use.
uint64 placeholder13 : 1;
uint64 placeholder14 : 1;
uint64 reserved : 60; ///< Reserved for future use.
};
uint64 u64All[2]; ///< Flags packed as 32-bit uint.
} flags; ///< Device IP property flags.
Expand Down
7 changes: 5 additions & 2 deletions inc/core/palImage.h
Original file line number Diff line number Diff line change
Expand Up @@ -593,16 +593,19 @@ struct SubresLayout
Extent3d blockSize; ///< Size of a tile block in texels - micro tile for 1D tiling and macro tile for 2D tiling.
Offset3d mipTailCoord; ///< coords of the subresource within the mip tail

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

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

SwizzledFormat planeFormat; ///< Swizzled format for plane. Planar resource like D32-S8
/// will have different swizzled format per plane.
Expand Down
6 changes: 6 additions & 0 deletions inc/core/palIndirectCmdGenerator.h
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,12 @@ struct IndirectParam
{
uint32 bufferId; ///< Vertex bufer slot ID to set.
} vertexData; ///< Additional information about a 'BindVertexData' indirect command parameter.

struct
{
bool constantDrawIndex; ///< If set, does not increment the Draw Index per draw.
} drawData; ///< Additional information about 'Draw', 'DrawIndexed' and 'DispatchMesh'
/// indirect command parameters.
};
};

Expand Down
7 changes: 1 addition & 6 deletions inc/core/palLib.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
#endif
///
/// @ingroup LibInit
#define PAL_INTERFACE_MAJOR_VERSION 909
#define PAL_INTERFACE_MAJOR_VERSION 912

#if PAL_CLIENT_INTERFACE_MAJOR_VERSION < 831
/// Minor interface version. Note that the interface version is distinct from the PAL version itself, which is returned
Expand Down Expand Up @@ -247,12 +247,7 @@ struct GpuInfo
enum class ClientApi : uint32
{
Pal = 0,
Dx9 = 1,
Dx12 = 3,
Vulkan = 4,
OpenCl = 7,
Hip = 8,
Amf = 9,
};

/// Specifies properties for @ref IPlatform creation. Input structure to Pal::CreatePlatform().
Expand Down
2 changes: 1 addition & 1 deletion inc/core/palPipeline.h
Original file line number Diff line number Diff line change
Expand Up @@ -812,7 +812,7 @@ class IPipeline : public IDestroyable
virtual void SetStackSizeInBytes(
uint32 stackSizeInBytes) = 0;

/// Retrieve the stack sizes managed by compiler, including the frontend stack and the frontend stack.
/// Retrieve the stack sizes managed by compiler, including the frontend stack and the backend stack.
///
/// @param [out] pSizes To be filled with both the frontend stack size and the backend stack size, in bytes.
///
Expand Down
2 changes: 1 addition & 1 deletion inc/core/palPipelineAbi.h
Original file line number Diff line number Diff line change
Expand Up @@ -839,7 +839,7 @@ enum class ZOrder : uint8
{

constexpr uint32 PipelineMetadataMajorVersion = 3; ///< Pipeline Metadata Major Version
constexpr uint32 PipelineMetadataMinorVersion = 5; ///< Pipeline Metadata Minor Version
constexpr uint32 PipelineMetadataMinorVersion = 6; ///< Pipeline Metadata Minor Version

constexpr uint32 PipelineMetadataBase = 0x10000000; ///< Deprecated - Pipeline Metadata base value to be OR'd with the
/// PipelineMetadataEntry value when saving to ELF.
Expand Down
4 changes: 2 additions & 2 deletions inc/core/palScreen.h
Original file line number Diff line number Diff line change
Expand Up @@ -87,15 +87,15 @@ enum ScreenColorSpace : uint32
TfPq2084 = 0x00004, ///< HDR10 Media Profile, SMPTE ST 2084 (CEA - 861.3)
TfLinear0_1 = 0x00008, ///< Linear 0.0 -> 1.0
TfLinear0_125 = 0x00010, ///< Linear 0.0 -> 125
TfDolbyVision = 0x00020, ///< Propriety Dolby Vision transform
TfDolbyVision = 0x00020, ///< Propriety DolbyVision transform
TfGamma22 = 0x00040, ///< Gamma 2.2 (almost the same as sRGB transform)
TfHlg = 0x00080, ///< Hybrid Log Gamma (BBC \ NHK Ref)

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

0 comments on commit c7fc612

Please sign in to comment.