The Linux platform has multiple windowing systems. Support for xcb is
currently in progress, support for Wayland is planned in the future. The
way the current xcb support is included is by making some file with a
`_xcb` suffix, and placing `#if PAL_TRAIT_LINUX_WINDOW_MANAGER_XCB` around
most of that file's contents.
With this change, all of the code in AzFramework that uses xcb directly is
inside the `Platform/Common/Xcb` subdirectory. It greatly reduces the
amount of code in compile-time `#ifdef` checks for the chosen windowing
system. It also provides a logical place to include O3DE-specific xcb
C++ wrappers and interfaces, without polluting non-xcb related code.
Signed-off-by: Chris Burel <burelc@amazon.com>
* Primary Support to compact shader visible Cbv/Srv/Uav heap if it fragments enough to run out of descriptor handles
- Split the main heap into two sections - static handles and dynamic handles for descriptor tables
- Add support to data drive number of allowed static handles
- Add support to data drive ability to compact the relevant shader visible heap as there is overhead associated with compaction
- If compaction is enabled we create two shader visible ehaps and ping pong between them since you can not compact an active heap as it needs to stay active for 3 frames atleast
- As part of compaction we copy over the static handles as is but recreate all the dynamic section(i.e descriptaor tables) by tracking all the active SRGs, reallocating the descriptor tables and updating them from the non-shader visible heap
- Enabled 3 fences for cpu/gpu synchronization so that cpu can get 3 frames ahead of gpu
- Use fixed_wstring for commandlist name as a perf optimization
Signed-off-by: moudgils <moudgils@amazon.com>
* - Disable Heap compaction by default
- Disable PSO caching when WARP is enabled
- Misc cleanup
Signed-off-by: moudgils <moudgils@amazon.com>
* Address Feedback
Signed-off-by: moudgils <moudgils@amazon.com>
* Address feedback
Signed-off-by: moudgils <moudgils@amazon.com>
The new FileReader class allows using either a FileIOBase or SystemFile
classes for reading files.
If a non-nullptr FileIOBase is supplied, the FileIOBase is used,
otherwise SystemFile is used.
Updated the SettingsRegistryMergeUtils
`MergeSettingsToRegistry_ConfigFile` function to use the FileReader.
This allows .cfg such as the autoexec.cfg to be read using FileIO,
therefore allowing it to be read from the engine.pak file.
Because the AZ::Console::ExecuteConfigFile uses the
`MergeSettingsToRegistry_ConfigFile` function for merging *.cfg files to
the SettingsRegistry, this allows the AZ::Console to run console
commands from files within pak files thanks to the ArchiveFileIO being
the default FileIOBase instance
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adds the gem repo screen with the UI built but with mocked data and not connected to the o3de scripts
Signed-off-by: nggieber <nggieber@amazon.com>
* Changed name of added to enabled, disabled define, removed unused functions
Signed-off-by: nggieber <nggieber@amazon.com>
* Added Repo Screen Inspector UI
Signed-off-by: nggieber <nggieber@amazon.com>
* Addressed minor PR feedback
Signed-off-by: nggieber <nggieber@amazon.com>
* Add some more minor PR changes
Signed-off-by: nggieber <nggieber@amazon.com>
Fixing a crash related to the small array conversion that made multiple assets crash the actor builder.
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
Fixing the actor behavior to ignore actor asset generation for files that only contain nodes/bones. We're only checking for blend shapes and skins now. In case neither is present in an FBX, we don't export the actor asset.
This makes a plain skeleton a special case where users manually need to add the actor group for the fbx. The most common use case for these are animation files anyway, where we don't want to export actor assets.
Also increased the version number of the actor group so that they are all getting reprocessed and the unneeded actor assets get removed.
Signed-off-by: Benjamin Jillich <jillich@amazon.com>
- Removed all unnecessary includes to Atom CpuProfiler.h
- Added includes to AzCore Profiler.h where necessary
Signed-off-by: AMZN-ScottR 24445312+AMZN-ScottR@users.noreply.github.com
* Add missing 'server' platform identifier for the ShaderBuilder
* Use the current host platform as the fallback platform identifier (and not 'pc')
Signed-off-by: Steve Pham <spham@amazon.com>
* LYN-6793 [iOS] [asset_profile] 4 assets fail to process for iOS
The issue was because the compression of ETC formats took too long.
Replaced all ETC and PVRTC formats with ASTC formats.
Update all pixel operation for formats with single R channel to align the change with R8.
Signed-off-by: Qing Tao <qingtao@amazon.com>
These are immediate dependencies, and include many circular dependencies, largely amongst the Atom gems, as indicated by cmake
Signed-off-by: AMZN-alexpete <26804013+AMZN-alexpete@users.noreply.github.com>