Skip to content

Commit

Permalink
Update pal from commit: dda1674
Browse files Browse the repository at this point in the history
*  Bump version number to 228
*  Update PAL_MINIMUM_INTERFACE_MAJOR_VERSION to 465
*  [Gfx10] Fix programming of mmSPI_SHADER_REQ_CTRL_VS
*  Fix SPM being missing for compute dispatches
*  Add locks around all gpaSession-shared state that timed queue operations touch
*  Move disableAlphaToCoverageDither to flags bitfield
*  Fix signed vs. unsigned mismatches
*  [DbgOverlay] Display peak mem usage in PAL Debug overlay
*  Fix an issue that the setting DisableSyncObject failed to exclude the kernel compatibility/support check when DisableSyncObject is set to true.
*  Fix PAL_ASSERT bug in Pal::Amdgpu::GpuMemory::OpenSharedMemroy
*  Fix LlpcOptions not working with amdPalSettings.cfg file when trying to set multiple options
*  Add new syncobj query interface v2
*  QueueSemaphore: add WaitBeforeSignal support v6
*  Restore pipeline registers state if nested command buffer have a pipeline or set pipelineDirty flag
*  Add support for programing the PA_SC_LINE_STIPPLE register
*  Improve ScaledCopyImage() performance
*  First fix for resolve failures when FMASK disabled
*  Deprecate IDevice::ScpcGraphicsPipelineTuningOptions. We want to move away from having PAL settings that directly control what the compiler does, and move them into the compiler instead
  • Loading branch information
jaxl committed Aug 14, 2019
1 parent 4625172 commit 66e78b9
Show file tree
Hide file tree
Showing 159 changed files with 6,396 additions and 8,630 deletions.
3 changes: 2 additions & 1 deletion cmake/Modules/AmdCmakeHelper.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,8 @@ macro(target_find_headers _target)
foreach(_include_dir IN ITEMS ${${_target}_INCLUDES_DIRS})
file(GLOB_RECURSE _include_files
LIST_DIRECTORIES false
"${_include_dir}/*.h*"
"${_include_dir}/*.h"
"${_include_dir}/*.hpp"
)

list(APPEND ${_target}_INCLUDES ${_include_files})
Expand Down
7 changes: 5 additions & 2 deletions inc/core/pal.h
Original file line number Diff line number Diff line change
Expand Up @@ -581,8 +581,11 @@ struct ExternalResourceOpenInfo
{
struct
{
uint32 ntHandle : 1; ///< The provided hExternalResource is an NT handle instead of a default KMT handle.
uint32 reserved : 31; ///< Reserved for future use.
uint32 ntHandle : 1; ///< The provided hExternalResource is an NT handle instead of a default
/// KMT handle.
uint32 androidHwBufHandle : 1; ///< The provided hExternalResource is android hardware buffer handle
/// instead of fd.
uint32 reserved : 30; ///< Reserved for future use.
};
uint32 u32All; ///< Flags packed as 32-bit uint.
} flags; ///< External resource open flags.
Expand Down
52 changes: 35 additions & 17 deletions inc/core/palCmdBuffer.h
Original file line number Diff line number Diff line change
Expand Up @@ -280,12 +280,8 @@ enum ImageLayoutEngineFlags : uint32
LayoutDmaEngine = 0x4,
LayoutVideoEncodeEngine = 0x8,
LayoutVideoDecodeEngine = 0x10,
#if PAL_CLIENT_INTERFACE_MAJOR_VERSION >= 459
LayoutVideoJpegDecodeEngine = 0x20,
LayoutAllEngines = 0x3F
#else
LayoutAllEngines = 0x1F
#endif
};

/// Bitmask values that can be ORed together to specify previous output usage and upcoming input usages of an image or
Expand Down Expand Up @@ -343,9 +339,7 @@ struct CmdBufferCreateInfo
QueueType queueType; ///< Type of queue commands in this command buffer will target.
/// This defines the set of allowed actions in the command buffer.
EngineType engineType; ///< Type of engine the queue commands will run on.
#if (PAL_CLIENT_INTERFACE_MAJOR_VERSION >= 449)
EngineSubType engineSubType; ///< Sub type of engine the queue commands will run on.
#endif

union
{
Expand Down Expand Up @@ -1208,7 +1202,14 @@ struct InputAssemblyStateParams
/// @see ICmdBuffer::CmdSetTriangleRasterState
struct TriangleRasterStateParams
{
FillMode fillMode; ///< Specifies whether triangles should be rendered solid or wireframe.
union
{
#if PAL_CLIENT_INTERFACE_MAJOR_VERSION < 524
FillMode fillMode; ///< Specifies whether triangles should be rendered solid or wireframe.
#endif
FillMode frontFillMode; ///< Specifies whether front-facing triangles should be rendered solid or wireframe.
};
FillMode backFillMode; ///< Specifies whether back-facing triangles should be rendered solid or wireframe.
CullMode cullMode; ///< Specifies which, if any, triangles should be culled based on whether they are
/// front or back facing.
FaceOrientation frontFace; ///< Specifies the vertex winding that results in a front-facing triangle.
Expand All @@ -1235,6 +1236,14 @@ struct PointLineRasterStateParams
float pointSizeMax; ///< Maximum width of a point primitive in pixels.
};

/// Specifies parameters for controlling line stippling.
/// @see ICmdBuffer::CmdSetLineStippleState
struct LineStippleStateParams
{
uint16 lineStippleValue; ///< Line stipple bit pattern.
uint32 lineStippleScale; ///< Line stipple repeat factor.
};

/// Specifies paramters for setting up depth bias. Depth Bias is used to ensure a primitive can properly be displayed
/// (without Z fighting) in front (or behind) of the previously rendered co-planar primitive. This is useful for decal
/// or shadow rendering.
Expand Down Expand Up @@ -1394,6 +1403,9 @@ struct ViewportParams
float vertDiscardRatio; ///< The ratio between guardband discard rect height and viewport height.
float horzClipRatio; ///< The ratio between guardband clip rect width and viewport width.
float vertClipRatio; ///< The ratio between guardband clip rect height and viewport height.
#if PAL_CLIENT_INTERFACE_MAJOR_VERSION >= 524
DepthRange depthRange; ///< Specifies the target range of Z values
#endif
};

/// Specifies the parameters for specifing the scissor rectangle.
Expand Down Expand Up @@ -1876,6 +1888,12 @@ class ICmdBuffer : public IDestroyable
virtual void CmdSetPointLineRasterState(
const PointLineRasterStateParams& params) = 0;

/// Sets parameters controlling line stippling.
///
/// @param [in] params Parameters to set the line stipple state.
virtual void CmdSetLineStippleState(
const LineStippleStateParams& params) = 0;

/// Sets depth bias parameters.
///
/// Depth bias is used to ensure a primitive can properly be displayed (without Z fighting) in front (or behind)
Expand Down Expand Up @@ -2065,16 +2083,6 @@ class ICmdBuffer : public IDestroyable
instanceCount);
}

#if (PAL_CLIENT_INTERFACE_MAJOR_VERSION < 453)
PAL_INLINE void CmdDrawOpaque(
gpusize streamOutFilledSizeVa,
uint32 streamOutOffset,
uint32 stride)
{
CmdDrawOpaque(streamOutFilledSizeVa, streamOutOffset, stride, 0, 1);
}
#endif

/// Issues an instanced, indexed draw call using the command buffer's currently bound graphics state. Results in
/// instanceCount * indexCount vertices being processed.
///
Expand Down Expand Up @@ -3491,6 +3499,16 @@ class ICmdBuffer : public IDestroyable
/// @param [in] mask The mask to control which view instances are enabled.
virtual void CmdSetViewInstanceMask(uint32 mask) = 0;

/// Get used size of all chunks in bytes for given CmdAllocType. For CommandDataAlloc with multi-queue scheme, the
/// size reported will be the sum of all command streams associated with the command buffer. It's legal to call
/// this function while in the command building state.
///
/// @param [in] type Allocation type for ICmdAllocator
///
/// @returns Used allocation data size in bytes for provided CmdAllocType.
virtual uint32 GetUsedSize(
CmdAllocType type) const = 0;

/// Returns the value of the associated arbitrary client data pointer.
/// Can be used to associate arbitrary data with a particular PAL object.
///
Expand Down
Loading

0 comments on commit 66e78b9

Please sign in to comment.