# changelog

author: Tomas Kovar <tkov_fedoraproject.org> - 2.147.0.20200528.gitfc576d9
changelog:
  - xgl: Fix Vulkan RGP instruction tracing is not working
  - xgl: Add wavesize tuning option for Doom Eternal for LLPC.
  - xgl: Fix assertion failures with ShaderImageLoadStoreLod tests
  - xgl: Allow building with LLVM_USE_SANITIZER
  - xgl: Don't set threadSafe if useSharedCmdAllocator is false
  - xgl: Turn off command buffer prefetch for local memory
  - xgl: Add setting for cpDmaCmdCopyMemoryMaxBytes
  - xgl: Add back the support for non local externally shared memory
  - xgl: Fix CTS crash with Hybrid Graphics enabled on GFX10
  - xgl: Add requireMrtForNggCulling to VK Panel Setting
  - xgl: Add alignment for Attachments after Framebuffer
  - xgl: Fix unaligned stencil load and store
  - xgl: Add call to pScreen->GetColorCapabilities() back to Linux path in
         vkGetPhysicalDeviceSurfaceFormats()
  - xgl: Enable TMZ feature
  - xgl: Fix CLANG build
  - xgl: Convert existing shader opt app profiles to json
  - xgl: Fix LlpcOptions doesn't work when pipeline cache is enabled
  - xgl: Fix OpAtomicIDecrement and OpAtomicIIncrement for
         shader_image_atomic_int64 extension
  - xgl: Update PAL Interface in Vulkan to 604


  - pal: Allow debug builds without assertions
  - pal: Expand the SharedMetadataInfo structure to accomodate DCC on
         multiple aspect
  - pal: Add forcedShadingRate to replace forceSampleRateShading in
         GraphicsPipelineCreateInfo
  - pal: The max scratch ring size can now scale up based on the GPU's
         local invisible heap size
  - pal: [GpuProfiler] Expand multiple instance config selection beyond
         just "ALL"
  - pal: Resolve cs shaders dcl_literal minor bug
  - pal: Use memcpy to allow unaligned footers
  - pal: [NGG] allow to specify the constant buffer layout via a lookup
         table (LUT)
  - pal: Remove "isNgg == false" from Tess control point for patches. This
         code was added in Gfx9 to handle the annoyance that was Gfx9 NGG
         and should no longer be necessary
  - pal: Support scissor enabled image blit
  - pal: Change maxWavesPerCu (in DynamicComputeShaderInfo and
         DynamicGraphicsShaderInfo) from uint32 to float, so clients are
         able to specify less waves. i.e. less number of waves than number
         of CUs per shader array.
  - pal: Fix interface logger build when the client bump the version to 603
  - pal: Fall back the pipeline upload memory to heap[0] = GpuHeapLocal  
         if there is no invisible heap
  - pal: Fix pointer alignment check
  - pal: Update merged PM4 header output
  - pal: Replace some setting refs with cached settings
  - pal: Replace some gfxip level checks with versions using m_gfxIpLevel
  - pal: [RGA][PAL] Support retrieve isa dissembly per shader function for
         pipeline indirect mode
  - pal: Move isResummarize from internal use to public and rename it to
         resummarizeHiZ, so clients are able to enable it
  - pal: Support float type copy region in
         palCmdBuffer::CmdScaledCopyImage()
  - pal: Remove 'adjacency' from the input assembler info when creating a
         pipeline
  - pal: Batch RemapVirtualMemoryPages when queue is stalled to fix issue
         in some timeline waitBeforeSignal testing cases
  - pal: Allow PAL's cmdAllocator to fall back to the visible heap if
         invisible is full (or doesn't exist at all)
  - pal: Remove workaround for NGG as it is no longer required
  - pal: Add tmzSupportLevel to indicate which queue supports per-command,
         per-submit, or per-queue TMZ based on the queue type
  - pal: Properly align hash structs
  - pal: Bump version number to 257


author: Tomas Kovar <tkov_fedoraproject.org> - 2.149.0.20200624.gitfe996fc
changelog:
  - xgl: Fix Randr lease display is broken: find_package(XCB) is missed in
         cmake
  - xgl: Update PAL Interface in Vulkan to 610
  - xgl: Add a setting to return extra memory requirement via
         GetMemoryRequirements
  - xgl: Add colors to cmake build
  - xgl: Implement multigpu capture replay flag
  - xgl: Fix driver crashes when setting basePipelineHandle to an invalid
         value
  - xgl: Enable -Werror in dependencies if required
  - xgl: Enable vkGetDeviceQueue2
  - xgl: Fix Vulkan's debug_utils markers are not shown without a
         validation layer
  - xgl: [metrohash][cwpack] Clean up dependency
  - xgl: Add VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR in
         supportedCompositeAlpha
  - pal: Handle a case where the CmdAllocator last paging fence can be
         zeroed
  - pal: [cmake] Clean up the cmake override code
  - pal: Improve some of our chip properties logic (physical WGP/CU counts,
         TCP counts)
  - pal: Calculate Scratch ring maxScaledSize based on all availble video
         memory
  - pal: Fix bit count so the union is 32b.
  - pal: [cmake] Fixup installation logic
  - pal: [cmake] Delete python/perl packages code
  - pal: PAL interface bump 595 bug
  - pal: [Vega10/Raven] Update DFSM/POPS related Workaround.
  - pal: Updates settings gen script to correct number of setting hashes
         and regenerates all of the settings files
  - pal: Make CmdCopyImageGraphics faster
  - pal: Fix GpuProfiler memory leak regression
  - pal: Put null backend code behind a compile flag. Enabled by default,
         but can be overriden by client drivers if they do not need or want
         this feature
  - pal: Remove unneeded workaround code
  - pal: Delete secure flag from amdgpu_cs_submit_raw2
  - pal: [GFX9/10] Remove DFSM support.
  - pal: Improve error messages in merge header script
  - pal: [RGP] Provide a function to validate a list of perfCounters given
         a device
  - pal: Bump version number to 260
  - pal: [NGG] Phase 1 - Change the NGG culling constant buffer layout
  - pal: [NGG] Remove some NGG culling constant buffer validation
  - pal: [NGG] Workaround should only be considered when NGG is enabled
  - pal: Use big page and iterate256 alignments from kmd. Part 2: Aligning
         unbound memory
  - pal: [cmake] Fixup PAL options/overrides
  - pal: [NGG] Make templated shaders NGG
  - pal: Don't overwrite timezone to fix GPUOpen-Drivers/AMDVLK#162
  - pal: Bump PAL_MINIMUM_INTERFACE_MAJOR_VERSION up to 500
  - pal: Set presentable flag of image to gpumemory when opened shared gpu
         memory object
  - pal: Add two new cmake files: PalOptions.cmake and PalOverrides.cmake
         for clarity and easier version control
  - pal: Fix a nullptr crash when we set DisableAceCsPartialFlush = false
         and fix some memtracker errors in the GPU profiler
  - pal: [cmake] Message Helper Functions
  - pal: Add compositeAlphaMode to SwapChainProperties so that client can
         get it
  - llpc: Shader Tuning opts for different titles
  - llpc: Add shader_profiles/llpc to llpc feature


author: Tomas Kovar <tkov_fedoraproject.org> - 2.150.0.20200630.git90a6644
changelog:
  - xgl: Add support for extension: VK_GOOGLE_user_type
  - xgl: Disable NGG for GS by default
  - xgl: Performance tuning for Remove Ghost Recon Breakpoint
  - xgl: Update Vulkan headers to 1.2.143
  - xgl: Performance tuning for Zombie Army 4: Dead War
  - xgl: Improve performance of pipeline compiler by using
         PipelineAbiReader instead of Processor
  - pal: [DebugOverlay] Solve a hang/crash when alt-tabbing with graph
         active
  - pal: Change UseDcc panel key name with Gfx prefix
  - pal: Bump version number to 263
  - pal: [cmake] Add new cmake file PalCompileDefinitions.cmake and move
         calls to target_compile_definitions into their own files
  - pal: Fix /analyze warnings
  - pal: Add "Zero-copy" and "Reserve" semantics for ICacheLayer
  - pal: Fix wrong assertions issue
  - pal: Remove GPU CPU Sync from PAL Pipeline Creation in HwlInit
  - pal: Fix mismatching wave sizes in a merged shader by always preferring
         the second stage (primary stage) and falling back to the first
         stage otherwise
  - pal: [cmake] Move some modules from pal/cmake/Modules to pal/cmake
  - pal: Filter redundant SET_BASE packets
  - pal: Clean up other IsGfx10 references
  - pal: Avoid creating a dmaUploadRing in case there is no dma engine
         available


author: Tomas Kovar <tkov_fedoraproject.org> - 2.151.0.20200710.gitc6404f7
changelog:
  - xgl: Redefine m_enabledFeatures in Device
  - xgl: Implementation of extension: VK_EXT_private_data
  - xgl: Update Vulkan headers to 1.2.145
  - xgl: Amend behavior of disableLoopUnrolls tuning option
  - xgl: Performance tuning of LLPC compiler for The Talos Principle in
         ultra mode
  - xgl: Sort extension names as they appear in Khronos spec
  - xgl: Performance tuning for Doom: Eternal
  - xgl: Add support for extension: VK_EXT_extended_dynamic_state
  - pal: Expose RWLockData to the client for Util::RWLock and add a Wait on
         RWLock for Util::ConditionalVariable
  - pal: Move call to StartLateDeviceInit to clients
  - pal: Add setting to override GbAddrConfigOverride input to AddrLib
  - pal: [RPM] Add FP16 GenMips shader.
  - pal: Performance tuning for Mad Max
  - pal: [cmake] Minor style changes
  - pal: [cmake] Fix GPU compile definitions
  - pal: [cmake] Fixup some GPU override code
  - pal: Add GFX9 support to Image Creation Developer Callback
  - pal: [cmake] Fix documentation issue


author: Tomas Kovar <tkov_fedoraproject.org> - 2.152.0.20200722.git080542c
changelog:
  - xgl: Prefer y-coordinate major swizzle modes for 3D color attachments
         on GFX10
  - xgl: Update pNext Looping
  - xgl: Update api version to 1.2.146
  - xgl: Remove unnecessary NGG settings "EnableGsUse"
  - xgl: Move dynamicStatesInternal to vk_pipeline.h and use xgl naming
         conventions
  - xgl: Add ICache adapter
  - xgl: Upate LLPC Interface in Vulkan to 40
  - pal: Support tmz shader ring on GFX6
  - pal: Disable metadata when TMZ enable
  - pal: Fixing shared metadata bug of gfx6
  - pal: Dead code removal - some methods were removed but the declarations
         are still there
  - pal: Change doxygen style comments to non-doxygen
  - pal: Restrict pipelined cache flush optimization to only cases where
         it's definitely legal
  - pal: Bump version number to 264
  - pal: Deferring chunk reuse as default
  - pal: Support tmz shader ring on GFX6
  - pal: Missing dcc state metadata init for InitMaskRam and
         InitMetadataFill
  - pal: Don't disable alpha and color RB+ blend opts individually


author: Tomas Kovar <tkov_fedoraproject.org> - 2.153.0.20200806.git24551b2
changelog:
  - xgl: Improve binding loop efficiency and logic in
         Queue::BindSparseEntry
  - xgl: Follow up implementation for adding Write Multiplane Resource
         Descriptor Support for Combined Image Sampler
  - xgl: DescriptorPool::Init needs to use passed in allocator
  - xgl: Update PAL interface to 613
  - xgl: Enable pipeline cache
  - xgl: Enable sharing metadata of images.
  - xgl: CmdBuffer::Begin() uses a non-const ref. This should be changed to
         use a pointer
  - xgl: Add Write Multiplane Resource Descriptor Support for Combined
         Image Sampler
  - pal: Fix for memory leak in VaMgr Singleton
  - pal: Load all elf sections
  - pal: Missing offset for CmdCloneImageData()
  - pal: CmdBufferLogger: Add dump Viewports
  - pal: Remove Legacy ELF Metadata
  - pal: Improve the implementation of defer-freeing command chunk in
         QueueContext
  - pal: Bump PAL_MINIMUM_INTERFACE_MAJOR_VERSION to 551 update
  - pal: Remove unused enum type Gfx9InitMetaDataFill
  - pal: Add support for DispatchMeshIndirectMutli


author: Tomas Kovar <tkov_fedoraproject.org> - 2.155.0.20200821.git0fad196
changelog:
  - xgl: Process ForceAppProfileEnable before any profiles
  - xgl: Enable extension: VK_EXT_image_robustness
  - xgl: Development of extension: VK_EXT_4444_formats
  - xgl: Fix intermittent crash of Doom Eternal on Navi10
  - xgl: Update api version 1.2.150
  - xgl: Disable sharing for timeline semaphores
  - xgl: Strange Brigade Crashes on Launch
  - xgl: Fixes for sparse unmap before destroy
  - xgl: Fix a defect when determining the last vertex processing stage to
         generate stream-out resource node
  - xgl: CmdBuffer::Create needs to allocate host memory with allocator
         from the command pool
  - xgl: Update PAL Interface in Vulkan to 622
  - xgl: Shader Tuning opts for Ghost Recon Breakpoint
  - xgl: HDR display gamut chromaticity coordinates is wrong
  - pal: Move GpuProfiler granularity setting from PerfCounterConfig to
         general GpuProfilerConfig
  - pal: Allow TC Compatible fast clears to slices of color array resources
  - pal: Delay Residency for Pipeline Memory Until Necessary
  - pal: Bump version number to 266
  - pal: Make CopyDepthStencilImageGraphics faster
  - pal: Add counting elements for IntrusiveList
  - pal: Remove CS fixed user data layout restriction
  - pal: Add allocation of two command chunks for ExecuteIndirect Task+Mesh
         implementation
  - pal: Add settings json files to cmake
  - pal: Fix for crash in GPA tests
  - pal: GPASession: Add a mask to control detailed instruction tracing on
         a per-SE basis
  - pal: Add panel setting for prefer compute path for non-local copies
  - pal: [GFX9/10] Remove a few unneeded members in MSAA State obj
  - pal: Surfaceflinger/swapbuffer performance issue
  - pal: [GFX9/10] Solidify PBB bin size programming
  - pal: Make CmdScaledCopyImage faster
  - pal: [Profiler] Output filename hashes and force-draw-granularity-profiling
  - pal: Initialize pUserDataTable when
         "pComputeState->pipelineState.dirtyFlags.pipelineDirty" is not set
  - pal: Add a setting to disable thread group level preemption for
         pipelines with inter-threadgroup dependencies
  - pal: Expose function ExportKmtHandle() to client driver
  - pal: [Wayland] Vulkan apps fails in Wayland on upstream since Mesa 20.1
  - pal: Update compute user-data validation function to accept any
         ComputeState and UserDataTableState
  - pal: Remove CE RAM user-data update path
  - pal: Allow write_compress_enable in image SRD for more cases
  - pal: The missing msaa state rebind at some internal graphics operation,
         include: CopyDepthStencilImageGraphics() and ResolveImageGraphics()
  - pal: Support SPM chunk v1.3 in PAL
  - pal: Make pipeline initialization take in an AbiReader
  - pal: Change imageRsrcTypeCheck from an enable bit to a disable bit to
         default-on the workaround
  - pal: Allow TC Compatible fast clears to slices of color array resources
  - pal: [Profiler] Add option to allow skipping of data writes for
         non-draw/dispatch cmd-bufs
  - pal: Add TMZ flag in PresentableImageCreateInfo to avoid no swapchain
         created


author: Tomas Kovar <tkov_fedoraproject.org> - 2.157.0.20200912.git7933159
changelog:
  - xgl: Fix the erasing elements from HashSet m_sparseBindMemory
  - xgl: Corruption observed in Detroit: Become Human on RX 5600XT
  - xgl: Update LLPC Interface in Vulkan to 41
  - xgl: Update Khronos Vulkan Headers to v1.2.152
  - xgl: Add override settings for LLPC Tuning
  - xgl: Change heap order for InternalPoolGpuReadOnlyCpuVisible
  - xgl: Correct setting of maxInterpolationOffset
  - xgl: Replace StencilOpsCombiner with draw time validation
  - xgl: Update PAL Interface in Vulkan to 624
  - xgl: Clean-up LLPC interface macros that are unnecessary below version
         40
  - xgl: Add spvDisassembleSpirv check in case spvgen is not loaded in the
         amdllpc
  - xgl: Update pNext Looping
  - xgl: Remove WaveBreak::DrawTime in LLPC interface
  - xgl: Use unsigned to replace uint32_t to keep LLPC style
  - pal: [cmake] Pal should set AMD_SOURCE_DIR
  - pal: Fix CmdUploadRing not being detected correctly.
  - pal: Add Shader Library Support to GpaSession
  - pal: Set initial GfxCmdBufferState barrier tracking flags based on the
         command buffer's support flags.
  - pal: Bump version number to 268
  - pal: Rework Linux IsKeyPressed implementation
  - pal: Move color key related shader code out of ScaledCopy CS/GFX
         pipelines
  - pal: Eliminate invisible copy of trace buffer on APU platforms


author: Tomas Kovar <tkov_fedoraproject.org> - 2.159.0.20200927.git0d3edb1
changelog:
  - xgl: Junk Screen is observed during gameplay on Doom VFR Game on Navi10
  - xgl: Baldur's Gate 3 stops responding after enabling Vsync
  - xgl: Update PAL Interface in Vulkan to 628.2
  - xgl: Flickering corruption visible in shadows in Baldur's Gate 3
  - xgl: [cmake] Update cmake minimum required version to 3.13.4
  - xgl: Add shader read usage for presentable images
  - xgl: Enable extension VK_EXT_robustness2
  - xgl: Sample Locations being overwritten by renderpass
  - pal: Deprecate PAL_CLIENT_INTERFACE_MINOR_VERSION
  - pal: Add Linux Flip Status to PAL Overlay
  - pal: [cmake] Compile definitions PRIVATE/PUBLIC issues
  - pal: [cmake] Use CMAKE_DL_LIBS/FindThreads
  - pal: Make DMA updates the memory with Embedded allocated memory
  - pal: Add support for compute thread group scheduling using
         numThreadGroupsPerCu.
  - pal: [cmake] Reduce public dependencies
  - pal: Allow TC Compatible fast clears to slices of color array resources
  - pal: Bump version number to 271
  - pal: Add shared bo table in Vam manager
  - pal: Scan Converter polygon offset with 16 bit fixed precision
  - pal: Refine amdgpu vam manager codes, preparing to add shared bo table
         in class VamMgr
  - pal: CreateMultiQueue calls exit with Result::Unsupported when various
         PAL layers are enabled
  - pal: Compute buffer fill for sizes > 4GB broken
  - pal: Reduce RMW usage for KEEP_TOGETHER_ENABLE
  - pal: Use PGO in CMake only if enabled
  - pal: Green color corruption flashes and disappears on launching the
         jesse-cube demo


author: Tomas Kovar <tkov_fedoraproject.org> - 2.163.0.20201020.git7ee7a2f
changelog:
  - xgl: Update 3D tiling setting to apply to storage images
  - xgl: CmdPool::Create() should share allocation between xgl and pal
         objects
  - xgl: Add heap override settings and app detects
  - xgl: Update Khronos Vulkan Headers to 1.2.156
  - xgl: Remove unnecessary depth expands/resummarizes
  - xgl: Use local heap for command buffers if heap is > 256 MBs
  - xgl: Disable shared cmd allocator
  - xgl: X-plane new update cause 50% drop in 4K low
  - xgl: Cpu performance optimization
  - xgl: Add support for extension: VK_EXT_shader_image_atomic_int64
  - xgl: Update PAL Interface in Vulkan to 629
  - pal: Allow ShaderWrite/CopyDst usages for compressed depth/stencil
         images on GFX10+
  - pal: Color fast clear needs to examine usage flags to determine if
         clear-to-reg can be supported
  - pal: GFX9/GFX10 Allows ShaderWrite usage for compressed MSAA color
         images
  - pal: Add Util::Rename to rename a file/directory with Posix-ish
         semantics
  - pal: Unspecified workaround disables htile for all d/s image < 8x8
  - pal: [GFX6-10] Trivial cleanup remove some unneeded std:: refs
  - pal: Util::File: Opening "-" gives you stdin or stdout
  - pal: Fix palThread.h to work if palMutex.h not already included
  - pal: Enable CS_PARTIAL_FLUSH events on ACE queues for gfx9+ if the CP
         ucode bug is fixed
  - pal: [cmake] Delete unneccessary files
  - pal: [DbgOverlay] Add Date/Time to VisualConfirm
  - pal: Bump version number to 274
  - pal: [cmake] pal_override helper function
  - pal: Async compute work does not contribute to SPM
  - pal: Allow the command buffer state inheritence feature to work from
         compute to graphics
  - pal: X-plane new update cause 50% drop in 4K low
  - pal: [G-Truc] Add more clamp type
  - pal: Reduce CPU overhead for ValidateDraw
  - pal: Surfaceflinger/swapbuffer performance issue
  - pal: [cmake] Deprecate PAL_ENABLE_LTO
  - pal: Connect panel settings to disable Z Compression and S Compression
  - pal: Cleanup interface for pipeline residency
  - pal: [cmake] Fix multiple GPU support issues
  - pal: Clarify style for testing booleans
  - pal: Improve CopyMemoryCs()
  - pal: Build display dcc by default but disable it by default on Linux
         panel


