Tags: o3de/o3de
Tags
(Release Day Only)( Merge stabiliation to main 26.05 (26050, v 2.6.0) (… …#19783) * Add missing AZ_MONOLITHIC checks for using static vs shared AZ_BUDGET macros for Atom RHI (#19169) Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com> * Fix Clang20 compile errors (#19163) Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Re-enable deprecated-this-capture warning (#19165) Signed-off-by: Markus Prettner <markus.prettner@outlook.com> * Fixes in Python script to properly support custom splash screens and icons in Android builds. (#19161) Signed-off-by: VladimirLagutin <vlagutin@tech-round.com> * Add option to invert mouse wheel zoom direction (#19170) Signed-off-by: kiotk <213088872+kiotk@users.noreply.github.com> * Change Atom_Feature_Common.Public target to shared library (#19166) Signed-off-by: Markus Prettner <markus.prettner@outlook.com> * Enhance gem setup and restricted path handling in CMake and manifest scripts (#19080) Signed-off-by: colinb <colinb@accesspointmg.com> * GHA AR 3P Dev Bucket (#19172) * Add dev and prod 3p package urls to build environment variables Signed-off-by: Mike Chang <changml@amazon.com> * Introduce Alternate Frame Rendering capability to the engine (#19060) * Alternate Frame Rendering Signed-off-by: Martin Winter <martin.winter@huawei.com> Co-authored-by: Martin Winter <martin.winter@huawei.com> Co-authored-by: Joerg H. Mueller <joerg.mueller@huawei.com> * Fix android license for AR (#19178) * Add auto-accept step Signed-off-by: Mike Chang <changml@amazon.com> * Remove Clang -fno-relaxed-template-template-args compile option (#19177) Signed-off-by: Markus Prettner <markus.prettner@outlook.com> * Add an option in lod importer to automatically generate missing lods to the model builder component. (#18711) * Add an option in lod importer to automatically generate missing lods to the model builder component using meshoptimizer. Signed-off-by: Ross Charles C. <10781734+rossbridger@users.noreply.github.com> * Link meshoptimizer with Meshlet gem. Signed-off-by: Ross Charles C. <10781734+rossbridger@users.noreply.github.com> * Add meshoptimizer license file. Signed-off-by: Ross Charles C. <10781734+rossbridger@users.noreply.github.com> --------- Signed-off-by: Ross Charles C. <10781734+rossbridger@users.noreply.github.com> * Remove AZ_FORCE_CPU_GPU_INSYNC macro from public Atom RHI header (#19179) Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Remove default constructor from AZ::RHI::GeometryView (#19176) Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Fix call to single-device function in multi-device RayTracingTlas::GetTlasInstancesBuffer() (#19175) Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Fixes blendshapes ("morph targets") not working (#19151) Fixes https://github.com/o3de/o3de/issues/19058 It turns out that the blend shape data was getting the number of vertices from the mesh by dividing the position buffer by 3 (3 floats per vertex), but the position buffer was being aligned to some larger multiple of 16 bytes. Instead, I get the number of vertices by using the m_numVertices value. Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Update 3P version and SHA256 hash for DirectXShaderCompilerDxc-1.8.2505.1 (#19180) Signed-off-by: GitHub <noreply@github.com> Co-authored-by: nick-l-o3de <nick-l-o3de@users.noreply.github.com> * Limit user's pitch input in GotoPositionDialog (#19174) Signed-off-by: kiotk <213088872+kiotk@users.noreply.github.com> * Add a field in MotionRangeRule that allows playback speed to be adjusted. (#19173) Signed-off-by: Ross Charles C. <10781734+rossbridger@users.noreply.github.com> * Fixes Many issues with Assetprocessor Dependencies (#19182) * Database bug was causing "Get Source by Job Id" to return empty results. This caused the initial population of "all known jobs" to fail for any jobs that did not produce assets. Its okay for a job to not produce assets. Things can still depend on that job, and the job can rerun later when some dependency is met to produce assets. This caused certain types of files, like material types, and Shader variant lists not never compile in the right order, leading to errors. * Several Atom systems were issuing asserts when their assets were missing but not ensuring that the assets were compiled before doing so. these calls have changed into calls which ensure the asset is compiled if possible, before they try to get it and assert if missing. * Jobs with missing source dependencies were not actually tracking when those dependencies actually appear, and were thus always executing at the very end, even if asked for the AP to prioritize them. This can happen with generated files, like material type files, which all fbx and materials can depend on, leading to a situation where all fbx files process last. * Jobs that were cancelled were considered failed, but jobs only cancel when they are replaced by a new job to do the same thing with more information. Becuase the jobs were considered failed, the asset processor would tell the connected game engine or editor that the job failed, which was causing certain Atom systems that were blocking on their asset to be compiled to assert even thoough the asset was actually still going to be compiled later. * When a job is cancelled because it is replaced by a fresh job, it was not copying the priority or escalation from the old job. This caused critical assets to move to the bottom of the list. * Common jobs are jobs that emit new assets and thus new jobs. Those jobs need to be prioritized to run with a high priority so that other jobs can reorder depending on the results. * It was possible to get into a deadlock if a builder asked to sync- compile an asset. This is because the builder is part of the asset processor itself, and its not good for them to block waiting for any reason. Added a config entry for allowing such blocking sync requests, and set it to false by default in builders. With all of these changes, AP now builds all assets with no failures appearing in the middle of the compilation. You can now start the editor while your cache is empty and load a level like sponza immediately, without waiting for ALL the assets to process, and expect no errors. (You will instead see placeholder assets until they are replaced by the real assets, which escalate to the top of the list automatically). Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Fix assert in CViewManager constructor due to improper usage of Aabb::SetMin/SetMax (#19189) Signed-off-by: Markus Prettner <markus.prettner@outlook.com> * Fix compile error due to unused variable in release build (#19188) Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Filter out abstract classes when enumerating derived classes in ReflectionAdapter. (#19181) Signed-off-by: Ross Charles C. <10781734+rossbridger@users.noreply.github.com> * Clang19 and higher Linux build issue fix. (#19197) Signed-off-by: Joerg H. Mueller <joerg.mueller@huawei.com> * Remove any structs from disabled extensions in pNext chain in Vulkan (#19190) * Remove any structs from disabled extensions in pNext chain in Vulkan. Fixes #18433. Signed-off-by: Joerg H. Mueller <joerg.mueller@huawei.com> * Some improvements. Signed-off-by: Joerg H. Mueller <joerg.mueller@huawei.com> * PR comments and compile fixes. Signed-off-by: Joerg H. Mueller <joerg.mueller@huawei.com> --------- Signed-off-by: Joerg H. Mueller <joerg.mueller@huawei.com> * fix-editor-go-to-position v2 (#19185) Signed-off-by: kiotk <213088872+kiotk@users.noreply.github.com> * Fixes release only clang compiler error due to unused variable in xcb: (#19200) ``` XcbNativeWindow.cpp:545:34: error: variable 'error' set but not used [-Werror,-Wunused-but-set-variable] 545 | if (xcb_generic_error_t* error = xcb_request_check(m_xcbConnection, cookie)) | ^ ``` This is due to the AZ_Error macro being a no-op in release monolithic builds. Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Removes the spam during configure related to "restricted" (#19204) * Removes the spam during configure related to "restricted" Note that it changes the messages to have VERBOSE status, which means you can still see them if you configure with VERBOSE message level. Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Missed this one Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> --------- Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * EmotionFX: Ability for SimpleMotionComponent & AnimGraphComponent to exist on same entity (#19192) * EmotionFX: Ability for SimpleMotionComponent & AnimGraphComponent to exist on same entity Signed-off-by: Ross Charles C. <10781734+rossbridger@users.noreply.github.com> * Fix test error. Signed-off-by: Ross Charles C. <10781734+rossbridger@users.noreply.github.com> --------- Signed-off-by: Ross Charles C. <10781734+rossbridger@users.noreply.github.com> * Limit commandListCount to estimatedItemCount in FrameGraphExecuter (#19207) Signed-off-by: Martin Sattlecker <martin.sattlecker@huawei.com> Co-authored-by: Pascal Stadlbauer <pascal.stadlbauer@huawei.com> * Check devicemask during BufferMap and Unmap (#19210) Signed-off-by: Martin Sattlecker <martin.sattlecker@huawei.com> Co-authored-by: Wolfgang Tatzgern <wolfgang.tatzgern@tugraz.at> * Make GetBufferView/GetImageView functions const (#19211) Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Fix order of two Vulkan OptionalDeviceExtensionNames entries (#19215) Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Fix crash after resuming Android build (#19186) * Fixes in Python script to properly support custom splash screens and icons in Android builds. Signed-off-by: VladimirLagutin <vlagutin@tech-round.com> * Fix crash after resuming an Android buil Signed-off-by: VladimirLagutin <vlagutin@tech-round.com> * Remving extr Tabs Signed-off-by: VladimirLagutin <vlagutin@tech-round.com> --------- Signed-off-by: VladimirLagutin <vlagutin@tech-round.com> * Set emissive.enabled material property for emissive materials (#19206) Signed-off-by: Markus Prettner <markus.prettner@outlook.com> * Updates miniaudio to latest (#19195) * Updates miniaudio to latest 1. Adds a function to 3rdparty.cmake to handle 3rd party fetchcontent libraries, following DRY principle 2. Updates miniaudio to latest stable release. 3. Ensures that the vorbis decoder plugin is initialized and present Note that miniaudio used to be a header-only library and used stb's "Single header file" vorbis to provide ogg/vorbis support. The latest miniaudio is a real full static library and header, and uses the real vorbis and ogg. While miniaudio doesn't force you to invoke cmake `install` commands, vorbis and ogg do, so we had to set the EXCLUDE_FROM_ALL property for them, which prevents their `install` commands from executing. This also prevents them from being added to the dependency tree at all, so `add_dependencies` had to be invoked. Other than that, this is a pretty standard 3rd party fetchcontent situation, and should serve as a model for how to do others like this. Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Disable warnings in 3rd Party external vorbisenc Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> --------- Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Add operator[] for vector and matrix types. (#19228) Signed-off-by: Ross Charles C. <10781734+rossbridger@users.noreply.github.com> * Find Python in $USERPROFILE (#19230) Signed-off-by: Gaël Écorchard <gael@km-robotics.cz> * Fixes crashes and ASAN errors in AzCore benchmarks (#19209) * Fixes crashes and ASAN errors in AzCore benchmarks I was trying to benchmark the streamer stuff to compare it for the new PR that improves it, and found these benchmarks to be horribly broken and full of memory problems. AFter these fixes, you can run the benchmarks in debug or profile, ASAN or not ASAN, and it will run to the end. Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Removes unnecessary init of task executor. Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> --------- Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Update 3P version and SHA256 hash for DirectXShaderCompilerDxc-1.8.2505.1 (#19241) Signed-off-by: GitHub <noreply@github.com> Co-authored-by: amzn-changml <amzn-changml@users.noreply.github.com> * Update CTEST_OPTIONS to exclude o3de_export_project (#19243) Signed-off-by: Mike Chang <changml@amazon.com> * Move MeshInfo and MaterialInfo from the RayTracingFeatureProcessor to self-contained parts of the MeshFeatureProcessor Signed-off-by: Karl Haubenwallner <karl.haubenwallner@huawei.com> * added some comments Signed-off-by: Karl Haubenwallner <karl.haubenwallner@huawei.com> * Add asserts and modify some comments Signed-off-by: Karl Haubenwallner <karl.haubenwallner@huawei.com> * use InstanceID instead of InstanceIndex Signed-off-by: Karl Haubenwallner <karl.haubenwallner@huawei.com> * fix a crash on android Signed-off-by: Karl Haubenwallner <karl.haubenwallner@huawei.com> * made the interface for raytraced procedural geometry a bit more flexible Signed-off-by: Karl Haubenwallner <karl.haubenwallner@huawei.com> * BufferViewIndexAndOffset: Optionally create a StreamBufferView when none is provided Signed-off-by: Karl Haubenwallner <karl.haubenwallner@huawei.com> * add missing include Signed-off-by: Karl Haubenwallner <karl.haubenwallner@huawei.com> * allow specifying a mip-level for the fallbackPBR - textures Signed-off-by: Karl Haubenwallner <karl.haubenwallner@huawei.com> * accept a const RHI::Buffer argument Signed-off-by: Karl Haubenwallner <karl.haubenwallner@huawei.com> * remove unneccesary meshinfo-helpers from raytracingfeatureprocessor Signed-off-by: Karl Haubenwallner <karl.haubenwallner@huawei.com> * use the irradiancecolor - opacity for the surface opacity for the FallbackPBR Signed-off-by: Karl Haubenwallner <karl.haubenwallner@huawei.com> * Remove not implemented function declarations in Atom gem (#19223) Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * add ModelDataInstance::GetProductModelAsset() for animated meshes (#19240) Signed-off-by: Karl Haubenwallner <karl.haubenwallner@huawei.com> * Use setup-gradle to ensure that Github Actions uses the right version of Gradle (#19242) * Use setup-gradle to ensure that the version of gradle we use is always the one we specify. Gradle 9.0.0 has issues with O3DE - the NDK must be newer than the one we use in order to work with Gradle 9. However, the newer NDK has other compile issues with O3DE. Until we fix them, we can set the version of gradle to this specific version using the setup-gradle action. Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Update .github/workflows/android-build.yml Co-authored-by: Mike Chang <changml@amazon.com> Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> --------- Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> Co-authored-by: Mike Chang <changml@amazon.com> * Make BufferViewIndexAndOffset/IndexBufferViewIndexAndOffset creation arguments const (#19245) Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Fix crash when accessing unbound textures in materials (#19233) Signed-off-by: Karl Haubenwallner <karl.haubenwallner@huawei.com> * Fix AssetProcessor getting stuck with assets still pending (#19220) Assets that depend on other assets that never appear, either becuase the dependency is cyclic, or becuase they are simply missing, were stuck at the end, and never started, would wait for their dependencies forever. This unblocks them by processing them anyway, even though they are missing their dependencies. This allows the individual builder for those assets to react appropriately, for example, showing errors and so on, listing problems, instead of not even trying. Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Introduce OpenParticleSystem (#19213) * Contribute OpenParticleSystem. (no lfs binary files) Signed-off-by: Li Hongshan <lihongshan@huawei.com> * Typo fix so that the particle materials can be built Signed-off-by: Li Hongshan <lihongshan@huawei.com> * Enable particle gems in the engine and AutomatedTesting project. Signed-off-by: Li Hongshan <lihongshan@huawei.com> * Resolve review comments Signed-off-by: Li Hongshan <lihongshan@huawei.com> * Fix tab, CRC, copyright info, unicode issues. Signed-off-by: Li Hongshan <lihongshan@huawei.com> * Untrack editor icon from lfs. Signed-off-by: Li Hongshan <lihongshan@huawei.com> * Fix unused parameter compile error Signed-off-by: Li Hongshan <lihongshan@huawei.com> * further fix tab and copyright issue Signed-off-by: Li Hongshan <lihongshan@huawei.com> * Fix some review comments Signed-off-by: Li Hongshan <lihongshan@huawei.com> * Fix particle asset building issue and icon Signed-off-by: Li Hongshan <lihongshan@huawei.com> * Replace example mesh particle's texture, add small pngs into git rather than lfs. Signed-off-by: Li Hongshan <lihongshan@huawei.com> * Pick PAL fixes from nick-l-o3de Signed-off-by: Li Hongshan <lihongshan@huawei.com> * Convert .ico file to prevent error RC2175 Signed-off-by: Li Hongshan <lihongshan@huawei.com> * fix release build error Signed-off-by: Li Hongshan <lihongshan@huawei.com> * Add preview statement in particle gem. Signed-off-by: Li Hongshan <lihongshan@huawei.com> * Remove SpawnRotationObsolete Signed-off-by: Li Hongshan <lihongshan@huawei.com> * Fix jenkins linux build Signed-off-by: Li Hongshan <lihongshan@huawei.com> * Fix particle in game launcher. Signed-off-by: Li Hongshan <lihongshan@huawei.com> * Some icon maybe unused Signed-off-by: Li Hongshan <lihongshan@huawei.com> * Try fixing android compiling issue temporarily by removing neon types. Signed-off-by: Li Hongshan <lihongshan@huawei.com> --------- Signed-off-by: Li Hongshan <lihongshan@huawei.com> * RenderPass: Drop early-out for passes without attachments (#19196) After #18237 we are no longer able to use render passes without output attachments (i.e. raster passes that only write to sideband buffers) following an assert inside `GetRenderAttachmentConfiguration()`. This was supposedly explicitly supported before and seems to be caused by an unneeded early-out when an empty attachment configuration was supposed to be built inside `BuildRenderAttachmentConfiguration()`. Signed-off-by: Marijn Suijten <marijn@traverseresearch.nl> * Ensure MeshInfoManager::m_meshInfoBuffer is updated when at least one update callback returns true (#19249) Signed-off-by: Markus Prettner <markus.prettner@outlook.com> * Decouple AssImp from Scene API (#18931) * decouple SDKWrapper and SceneSystem from AssImp decouple SceneBuilder from AssImp ensure all contexts are built using context provider * use AbstractFactory pattern to deliver family of classes specific for chosen Importer * use existing AssImp Importer as a default one if no specializations available Signed-off-by: Mateusz Żak <mateusz.zak@robotec.ai> * add missing includes Signed-off-by: Mateusz Żak <mateusz.zak@robotec.ai> * add comments and fix existing issues * comment the code * adjust the default UpAxis and FrontAxis * expose provide service offered by SceneBuilderSystemComponent Signed-off-by: Mateusz Żak <mateusz.zak@robotec.ai> * fix component registration (use SceneCore::SceneSystemComponent) * also solve duplicated unique_ptr bug Signed-off-by: Mateusz Żak <mateusz.zak@robotec.ai> * fix crash in AssetImporterWindow * ImportContextRegistryComponent needs to be registered with AssetImportRequest tag to be available in scene settings context Signed-off-by: Mateusz Żak <mateusz.zak@robotec.ai> * revert some unnecessary changes according to review Signed-off-by: Mateusz Żak <mateusz.zak@robotec.ai> * revert all changes to coordinate system Signed-off-by: Mateusz Żak <mateusz.zak@robotec.ai> * mark unused parameter Signed-off-by: Mateusz Żak <mateusz.zak@robotec.ai> * add necessary headers Signed-off-by: Mateusz Żak <mateusz.zak@robotec.ai> --------- Signed-off-by: Mateusz Żak <mateusz.zak@robotec.ai> * Update Meshlets gem against the latest Atom API (#19222) * Update meshoptimizer to 0.25 * Updates Meshlets gem against latest Atom API. * Fix build error on clang. * Fix windows release build unused variable compile error. * Remove ASV example as it does not belong to the main repo. Signed-off-by: Ross Charles C. <10781734+rossbridger@users.noreply.github.com> * Remove no longer necessary const_cast expressions in Atom (#19251) Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Replace OpenParticleSystem SimuCore math with AzCore math (#19248) * Converts the math in OpenParticleSystem to use AzCore math types Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> --------- Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Fix Prefabs with a long Path force expands Inspector window (#18886) (#19254) Signed-off-by: hex <hex.cpp@gmail.com> * Merge from stabilization25100 to development (1) (#19229) * Fixes cloth simulation rendering. (#19183) Cloth was entirely broken and caused crazy artifacting. This fixes it. Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * When patching a 3rd party library, this (#19184) adds a check to see if it can find `git` and if it cannot, tells the user that it cannot, instead of failing mysteriously. (This was encountered by a user who had git installed on MSYS command line, but not in their actual windows PATH). Example of the error that appears now: ``` -- RecastNavigation Gem uses https://github.com/recastnavigation/recastnavigation.git commit 5a870d4 (License: Zlib) MSBuild version 17.14.14+a129329f1 for .NET Framework Performing update step for 'recastnavigation-populate' -- Already at requested ref: 5a870d427e47abd4a8e4ce58a95582ec049434d5 Performing patch step for 'recastnavigation-populate' -- Could NOT find Git (missing: GIT_EXECUTABLE) CMake Error at C:/o3de-worktrees/stab/cmake/PatchIfNotAlreadyPatched.cmake:34 (message): Git executable not found. Please make sure `git` is in your PATH ``` Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> --------- Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Fixes a missing target for compiling from install (#19234) The miniaudio target was missing a dependnecy on vorbisenc - this causes it not to build it, despite it wanting to deploy / copy it. Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Remove Linux exclusion from repolishing style on property change (#19258) Signed-off-by: Kacper Dąbrowski <kacper.dabrowski@robotec.ai> * Replaces name fields of assets in Particle with Asset References (#19255) * Replaces name fields of assets in Particle with Asset References The product file data (as in, the compiled asset) was always using asset references (`AZ::Data::Asset<Material> etc`) but the source json files were using string path names. This made it much more expensive at compile time and validation time, for example, if you assign "Sphere.azmodel" it was previously trying to make sure that "sphere.fbx" was compiled,by replacing the extension "azmodel" with "fbx". However, its possible that "sphere.azmodel" came from "sphere.obj", or "sphere.usd", or any other model format. It's also possible that "sphere.azmodel" came from a model that was not named "sphere" at all, for example, if you had a model named "shapes.fbx", that contained a cube, and a sphere. This change makes it so that the source files also use Asset References, which means that the Asset Processor can directly validate that the asset exists, and that it is of the correct type, and does not need to do any guessing based on file names. It also replaces the custom asset control with the standard AZ Framework asset picker and control, as well as uses the tools busses to convert from the old "name" format to the new "asset reference" format, so all old assets still function as before. In order to convert them, I needed to make 2 changes to the core, the first is there was simply a bug where the API to look up Asset products by the source file name was not actually filling out the entire response structure, leaving the file name empty. The second is a convenience function to do a best guess conversion of a file name to an asset reference, by doing a series of lookups from the fastest most reliable to the slowest "Guess". Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Fixes code review comments, adds explanaion of ParticleArchive Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> --------- Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Fix monolithic builds trying to build dummy O3DE Launcher app (#19259) The O3DE.GameLauncher target is a sort of universal empty application script-only-mode uses to launch the game. Because script-only mode cannot use a compiler or linker, it cannot use monolithic mode. It makes no sense to generate these targets in monolithic mode, as they would be missing all the gems that they depend on. Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Add basic support for CLAS (Cluster-level acceleration structure) in Vulkan (#19218) * Add VK_NV_cluster_acceleration_structure extension to glad vulkan header Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Implement basic vulkan RHI support for CLAS Signed-off-by: Chen Yi <chenyi164@huawei.com> * Add function to query RHI Buffer and BufferView device address Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Add indirect ray tracing structs for CLAS Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Add CLAS to DeviceFeatures Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Miscellaneous fixes for the CLAS RHI implementation Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Fix scratch buffer being too small for Cluster-BLAS build Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Dont allocate srcInfosArrayBuffer in RHI implementation Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Clean up RayTracingClusterBlas class Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Add placeholder implementation for DX12 Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Implement basic RPI support for CLAS Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Support for access of cluster ID of CLAS in shader (only for SPIR-V) Signed-off-by: Chen Yi <chenyi164@huawei.com> * Optimize barriers between CLAS and cluster-BLAS build Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Add option to use separate geometry buffer per cluster Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Add remaining missing RHI stubs and comments Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Enable usage of non-skinned cluster meshes Signed-off-by: Chen Yi <chenyi164@huawei.com> * Remove unused RayTracingSubMeshBufferFlags enum Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Fix code review comments Signed-off-by: Markus Prettner <markus.prettner@huawei.com> --------- Signed-off-by: Markus Prettner <markus.prettner@huawei.com> Signed-off-by: Chen Yi <chenyi164@huawei.com> Co-authored-by: Chen Yi <chenyi164@huawei.com> * Fixes the "Jobs dependency" error on Jenkins. (#19264) ``` Jobs can only depend on the "common" platform or other jobs for the same platform. This is a code error, not a problem with the assets - please modify the builder to emit job` dependencies correctly. Source Job: (platform "server", job Key: "Particle Builder") Depends on: (platform "pc", job Key: "Material Builder", source file: "SourceFileDependency UUID: ... ``` The job item being constructed was being reused in the loop and thus the vector of deps would be filled with multiple copies of the same job item. Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Change the way particles are created, opened and other changes. (#19266) Signed-off-by: Yaakuro <y1@codeposer.net> * Cherry-pick Lyshine cyclic inclusion fixes from QT6 branch (#19265) * Cherry pick lyshine include changes from qt6 branch Signed-off-by: guillaume-haerinck <guillaume.haerinck@outlook.com> * Add ifdefs for moc generation else qt5 fails Signed-off-by: guillaume-haerinck <guillaume.haerinck@outlook.com> * Fix casing in qtoolbar includes Signed-off-by: guillaume-haerinck <guillaume.haerinck@outlook.com> * Fix linux build Signed-off-by: guillaume-haerinck <guillaume.haerinck@outlook.com> * Fix ndebug declaration Signed-off-by: guillaume-haerinck <guillaume.haerinck@outlook.com> --------- Signed-off-by: guillaume-haerinck <guillaume.haerinck@outlook.com> * Set initial position in hinge articulation within limits; Add IsRootArticulation to bus (#19227) (#19263) Signed-off-by: Jan Hanca <jan.hanca@robotec.ai> * Fixed error C3791: 'this' cannot be explicitly captured (#19280) * Fixed error C3791: 'this' cannot be explicitly captured when the default capture mode is by copy (=) * Fixed error C4855: implicit capture of 'this' via '[=]' is deprecated in '/std:c++20' ------ Signed-off-by: Luis Sempé <58790905+lsemp3d@users.noreply.github.com> * Remove erroneously added auto-generated sources file (#19285) Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Cherry-pic `need-sync:to-development` changes from `stabilization` to `development` (#19277) * Cherry-pick from `stabilization` - clang 18 compile fix Fixes a compile issue specific to clang 18 (#19247) * Fixes a compile issue specific to clang 18 There is an issue with clang 18 where it does not compile correctly when using conditional explicit. This bug was fixed above clang 19, but affects clang 18 including versions of the android NDK. This switches off the use of that feature specifically for clang 18. --------- Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Cherry-pick from stabilization - cmake to 3.24.x (#19268) * Updates the engine to require CMake >= 3.24 Updates the WIX installer script and build script to include that version of CMake downloaded from the kitware official site. Makes the WIX post-installation steps non-failing. They still run, but if they fail, they do not cause the installer to rollback. Updates the license scanner to work when licenses live in multiple different drives on windows. relpath in python throws an exception if you specify paths on different drives. This is often the case with the 3rd party libraries (`%USERPROFILE%`) and the build `D:/workspace` or something. --------- Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> --------- Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Moved editor preferences to edit menu RFC #19139 (#19143) * Moved editor preferences to edit menu RFC #19139 * Updated test to match new menu structure * Fixed failing test * Disabled the failing tests for now --------- Signed-off-by: Luis Sempé <58790905+lsemp3d@users.noreply.github.com> * Do not hide mouse cursor when debugger is present (#19278) Signed-off-by: Yaakuro <y1@codeposer.net> * Trigger template reload on new procprefab (#19283) * Make "ReloadTemplateFromFile" a public function in PrefabLoaderInterface Signed-off-by: Mateusz Wasilewski <mateusz.wasilewski@robotec.ai> * Trigger template reload on new procprefab Signed-off-by: Mateusz Wasilewski <mateusz.wasilewski@robotec.ai> --------- Signed-off-by: Mateusz Wasilewski <mateusz.wasilewski@robotec.ai> * Cherry pick more changes from qt6 branch (#19282) * Remove unused AutoRCC and autoMoc * Remove deprecated foreach macro * Remove deprecated setMargins for setContentMargins * Replace qrexexp by qregularexpression * Adapt faulty LuaIDE RegEx code * Fix the failing unit test * Replace one last regex with wildcard --------- Signed-off-by: guillaume-haerinck <guillaume.haerinck@outlook.com> * Fixed mesh asset assignemnt (#19287) Signed-off-by: Norbert Prokopiuk <norbert.prokopiuk@robotec.ai> * Pin compiler dependancies for AR (#19276) * Add pinned compiler dependancies for each platform Signed-off-by: Mike Chang <changml@amazon.com> * Modify MSVC toolset and clang environment discovery Signed-off-by: Mike Chang <changml@amazon.com> * Change cmake version and remove cc and ccx exports Signed-off-by: Mike Chang <changml@amazon.com> * Change AR run title Signed-off-by: Mike Chang <changml@amazon.com> * Add cmake extra options for clang Signed-off-by: Mike Chang <changml@amazon.com> * Add MSVC configurations for Android Asset Signed-off-by: Mike Chang <changml@amazon.com> * Update CMake version to 3.24 in workflows Signed-off-by: Mike Chang <changml@amazon.com> * Add selector and toolset for CMake versions under 3.25 Signed-off-by: Mike Chang <changml@amazon.com> * Fix cmake version detection method Signed-off-by: Mike Chang <changml@amazon.com> * Remove CMP0141 policy to ensure compatibility with CMake <3.25 Signed-off-by: Mike Chang <changml@amazon.com> --------- Signed-off-by: Mike Chang <changml@amazon.com> * Cherry-pick from `stabilization/25100` to `development` (splash screen and ciso646) (#19290) * Adds a dummy ciso646 temporarily to satisfy the really old physx packages (#19275) This adds a new target called `ciso646-include` which other targets can depend on in order to satisfy old code that looks for `<ciso646>`. We need to phase this out, but in order to do so, we'd have to figure out how to rebuild and patch Physx4, Physx5, and NVCloth, all of which currently depend on this. This gives us time to figure out what the actual plan is. Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Add new splashscreen for 25.10.0 (#19286) Signed-off-by: Mike Chang <changml@amazon.com> --------- Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> Signed-off-by: Mike Chang <changml@amazon.com> Co-authored-by: Mike Chang <changml@amazon.com> * Cherry pick more changes from QT6 branch (#19291) * Clean QT include style * EMFX Move file and fix includes * AssetBrowser thumbnail use std shared ptr instead of qt ptr * Move paintable image moc class from cpp to .h * Fix various includes and file declarations * Fix build nonunity * Final qt includes cleanup * Fix unity linux build * Undo changes which requires more thoughts Signed-off-by: guillaume-haerinck <guillaume.haerinck@outlook.com> * Fix registration of wrong type for AZ::s64 in Qt (#19300) Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Fix unused variable warning in Clang release build (#19299) Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Fix crash when enabling ray tracing for Debug-OBB shapes (#19298) Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * New Component Creation GUI for O3DE Projects (#19203) - Improve widget styling on Debian - Renamed to ClassWizard.py and moved to ClassCreationWizard/ - Added support for non-GUI mode Ensure lowercase namespace in *_files.cmake Signed-off-by: kiotk <213088872+kiotk@users.noreply.github.com> * Integrate Component Creation GUI into O3DE Editor (#19225) - Removes previous platform-specific code - Replaces QProcess with AzToolsFramework::EditorPythonRunnerRequestBus to launch ClassWizard.py from within the Editor Signed-off-by: kiotk <213088872+kiotk@users.noreply.github.com> * Deferred Fullscreen Draw Items (#19231) Signed-off-by: Karl Haubenwallner <karl.haubenwallner@huawei.com> * Unify fast math across all platforms (#19303) * Fixes inconsistent fast math settings across all platforms. * Fast math is off by default, but is supported to switch on * Fast math compile options that are platform independent have been added when fast math is switched on. * Extra CMake variables have been added which allow individual target to turn off fast math if necessary (for 3rd Party) This is commit 1 of 2 - this first commit is all the cmake changes. Commit 2 will be the changes to code to use the new compile options, as well as fix any warnings. Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Fast math support - part 2 - fixes to cpp and h code Turning fast math off enables detection of type casting values from double to float accidentally, and will issue a precision warning. This fixes those warnings (by fixing the actual code, not by disabling the warning) Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> --------- Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Qt6 cherrypick (#19304) * QVariant type checks Signed-off-by: guillaume-haerinck <guillaume.haerinck@outlook.com> * Remove smart ptr from gui type fwd Signed-off-by: guillaume-haerinck <guillaume.haerinck@outlook.com> * Adapt wrongly declared ui files Signed-off-by: guillaume-haerinck <guillaume.haerinck@outlook.com> * Fix ieditorimpl includes Signed-off-by: guillaume-haerinck <guillaume.haerinck@outlook.com> * Fix qt pointer take() not supported anymore Signed-off-by: guillaume-haerinck <guillaume.haerinck@outlook.com> * Remove unused dialog with moc file in .cpp Signed-off-by: guillaume-haerinck <guillaume.haerinck@outlook.com> * Fix qmeta declaration for color picker Signed-off-by: guillaume-haerinck <guillaume.haerinck@outlook.com> * Fix compilation Signed-off-by: guillaume-haerinck <guillaume.haerinck@outlook.com> * Fix linux build Signed-off-by: guillaume-haerinck <guillaume.haerinck@outlook.com> * Fix fwd ui files Signed-off-by: guillaume-haerinck <guillaume.haerinck@outlook.com> * Fix leftover fwd Signed-off-by: guillaume-haerinck <guillaume.haerinck@outlook.com> --------- Signed-off-by: guillaume-haerinck <guillaume.haerinck@outlook.com> * Adds additional unit tests for AZStd::copy_backward (#19284) * Adds additional unit tests for AZStd::copy_backward One github actions machine failed one time with this test, in a way I can't figure out. So I've added 4 additional tests which will clarify what the situation is if it happens again. Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Moves the check for UB out of the platform specific block. The check for the UB needs to be right when it makes the decision to use a memcpy / memmove operation, which is when the memory is contiguous, and the iterators are compatible. Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> --------- Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * File and folder changes (#19301) Signed-off-by: Yaakuro <y1@codeposer.net> * Feature: Additional Tonemapping Operators (#19312) * Initial AGX Tonemapping Implementation * Use more robust AGX log2 and sigmoid * Implement Golden and Punchy AgX transforms * Implement Khronos PBR Neutral tonemapper * Improve Reinhard tonemapping with luminance-based implementation * Improved AgX tonemapping sigmoid approximation * Fully remove old reinhard code * DCO Remediation Commit for Gary M <garymcwr@gmail.com> I, Gary M <garymcwr@gmail.com>, hereby add my Signed-off-by to this commit: ce5d9a1657f62a0bbeccf2b37b41954750bc6cce I, Gary M <garymcwr@gmail.com>, hereby add my Signed-off-by to this commit: f450b8d2876cf6cddb88546805ade8bc161e4393 I, Gary M <garymcwr@gmail.com>, hereby add my Signed-off-by to this commit: 36817a89cd607ef2791cfbb1ee07c1a163dce5c9 I, Gary M <garymcwr@gmail.com>, hereby add my Signed-off-by to this commit: 5e5d2280dea7e62e22585ab8bf782c034fd88958 I, Gary M <garymcwr@gmail.com>, hereby add my Signed-off-by to this commit: 9f29ecadbf269ce97242accac40776ebf3a30c40 I, Gary M <garymcwr@gmail.com>, hereby add my Signed-off-by to this commit: bdf391ca096b12074f0dcdaae56b9128c5cb222d I, Gary M <garymcwr@gmail.com>, hereby add my Signed-off-by to this commit: a5b1c02030f4988539a260c4bdc2d5406fc7b016 Signed-off-by: Gary M <garymcwr@gmail.com> * Add reference link to Khronos Pbr Neutral Signed-off-by: Gary M <garymcwr@gmail.com> * Split Reinhard implementations Signed-off-by: Gary M <garymcwr@gmail.com> --------- Signed-off-by: Gary M <garymcwr@gmail.com> * Fail shader build job if azsl preprocessing fails (#19315) Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Updates OpenMesh to pull from O3DE's mirror. (#19316) Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Expose API for accessing underlying data vectors in SceneAPI GraphData classes. (#19297) Refactor MeshData/BlendShapeData class and remove the use of "control point". Signed-off-by: Ross Charles C. <10781734+rossbridger@users.noreply.github.com> * Add Windows platform tab with Graphics API and validation settings (#19262) Signed-off-by: kiotk <213088872+kiotk@users.noreply.github.com> * Fix compile warning on MeshOptimizerComponentTests (#19323) Signed-off-by: André L. Alvares <andrluiz.alvares.alvares84@gmail.com> * Updates the android project generator for latest (#19318) This updates the o3de `android-generate` and `androic-configure` commands to handle the latest versions of JDK, Gradle, NDK, and the Android Gradle Plugin. It also corrects the assignment syntax of various settings in the gradle file, to use the `=` operator instead of a space, which is deprecated syntax. Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Fixed ScriptCanvasApplication shutdown and reopen (#19317) * Fixed ScriptCanvasApplication shutdown and reopen Signed-off-by: Luis Sempé <58790905+lsemp3d@users.noreply.github.com> * Removed earlier testing code Signed-off-by: Luis Sempé <58790905+lsemp3d@users.noreply.github.com> * Removed commented out code Signed-off-by: Luis Sempé <58790905+lsemp3d@users.noreply.github.com> * Missing platform files Signed-off-by: Luis Sempé <58790905+lsemp3d@users.noreply.github.com> --------- Signed-off-by: Luis Sempé <58790905+lsemp3d@users.noreply.github.com> * Fix the arguments passed into startDetached for ffmpeg (#19324) Signed-off-by: Gary M <garymcwr@gmail.com> * Replace particles custom jobsystem by O3DE jobsystem (#19320) Signed-off-by: Yaakuro <y1@codeposer.net> * Streamer throughput optimizations (supersedes #9632) (#19156) * The Windows Storage Drive in AZ::IO::Streamer now more aggressively queues async read requests. This reduced the gap between reads from an initial batch when no other reads are running. This yielded around 2% performance gain. (5-10Mib/s on a SATA SSD.) Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com> * Resolve AZ::IO::Streamer's RequestPath upon construction. Resolving relative paths and aliases to absolute paths is now done when a RequestPath is constructed instead of using lazy initialization. Practically this means that AZ::IO::Streamer rarely has to resolve paths and the code calling into Streamer will instead resolve the path. Overall this shaved off about 5 to 10 microseconds and reduced the gap between the drive read speed and the overall read speed with Streamer by 1-2Mib/s (on a SATA SSD). Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com> * Completion callbacks for external requests to AZ::IO::Streamer are now ran in a TaskGraph. When finalizing requests all the external requests are being queued on a task graph for later execution. This has the added benefit that long running callbacks no longer negatively impact AZ::IO::Streamer. The downside is that cheap callbacks, those that would be faster than creating and queuing a task, are now going to be more expensive. On average though this is still a net gain. Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com> * A default callback is no longer set on AZ::IO::Streamer requests. This prevents tasks being created for external requests that don't have a callback and instead the request and any dependencies can immediately be processed. This also slightly improved performance for internal requests. Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com> * AZ::IO::Streamer now issues read requests through the task system. Issuing read request with the OS was taking up the majority of the read time (when no files needed to be opened). By moving the actual call to the OS to the task system the scheduler can work on the next request in the meantime and allows issuing read requests to the OS to overlap. In the test scenario this marginally improved the read speed of the drive, but closed gap between the overall throughput of Streamer and the drive to less than 1%. While the test scenario didn't provide a significant improvement, speeds running in developer mode (--cl_streamerDevMode=true) have more than quadrupled. It should be noted that in test case the same few files get repeatedly read from the disk, which means in dev mode the Windows file cache is mostly used, but this doesn't translate to similar performance in real world scenarios as files are not frequently loaded within a time frame that the file cache would be beneficial (especially with the Asset Manager's aggressive caching of assets). It also doesn't perfectly demonstrates the ability of NVMe drives as the read request calls to the OS are much longer than normal due to copying from the cache. It does however show a significant improvement in handling fast reads, demonstrating a better chance of Streamer keeping up with faster driver. Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com> * Fixed the AZ::IO::Streamer unit tests that were broken due to the recent optimizations. Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com> * Addressed PR feedback for AZ::IO::Streamer throughput optimizations. Changes mostly include code cleanup that makes the code easier to read and adhere to code standards. A few changes are going to have a very minor positive impact on performance as well. Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com> * Fixed a compile error on Android due to std::atomic not conforming to the standard. (value_type is missing.) Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com> * Added a missing Task Executor to a unit test to prevent it from crashing. Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com> * Fixed more tests that needed a TaskExecutor now that Streaming uses tasks. Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com> * Added TaskGraph to the tests that were missing it. AZ::IO::Streamer now uses TaskGraph so any tests that explicitly sets up AZ::IO::Streamer now first has to setup a TaskExecutor or a TaskGraphSystemComponent. Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com> * Fixed a race condition within AZ::IO::Streamer. In rare cases it's possible for a read request to complete before the task thread issuing the request has had a change to update the processing states. In these cases FinalizeReads would not close out the read because it finds the request still waiting to be started. Eventually the task thread does set the processing status, but the scheduler thread won't be woken up. If this was the last read in a chain this can cause a deadlock waiting for the read to complete. This fix sets the state earlier but clears the OVERLAPPED structure so FinalizeReads doesn't complete requests that haven't been issued with the OS yet. Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com> * Updated Streaming throughput optimizations to compile with TaskGraph updates. A graphi label is now supplied to each TaskGraph local variable. Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> * Fixed System Component dependencies between Streamer and TaskGraph systems. The StreamerComponent would create an `AZ:IO::Streamer` instance during its activate function, which constructs an `AZ::IO::StreamerContext`. The StreamerContext constructor calls `AZ::TaskExecutor::GetInstance()` which returns an lvalue reference to the TaskExecutor. However the TaskExecutor isn't created unless the TaskGraphSystemComponent has been created. The StreamerComponent had the "TaskExecutorService" set as a dependent service, but it really is a **required** service. Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> * Fix the error introduced from rebasing. Signed-off-by: Ross Charles C. <10781734+rossbridger@users.noreply.github.com> * Fix the bug in LRU algorithm that causes buffer overflow. Signed-off-by: Ross Charles C. <10781734+rossbridger@users.noreply.github.com> * Fix benchmark test error. Signed-off-by: Ross Charles C. <10781734+rossbridger@users.noreply.github.com> --------- Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com> Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> Signed-off-by: Ross Charles C. <10781734+rossbridger@users.noreply.github.com> Co-authored-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com> Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> * Fixes a bug where particles would discard mesh or skeleton mesh info (#19328) This bug arose from the conversion of assets to use the real asset system. Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Fix OpenParticleSystem module not found for packaged builds. (#19338) Signed-off-by: Yaakuro <y1@codeposer.net> * Fix first column not expanding. (#19336) Signed-off-by: Yaakuro <y1@codeposer.net> * Fix deviceIndex for DiffuseProbeGridVisualizationPreparePass (#19341) Scopes of passes now get deviceIndex 0 when the pass has an invalid deviceIndex Signed-off-by: Martin Sattlecker <martin.sattlecker@huawei.com> * Improve some atom error messages (#19344) Signed-off-by: Martin Sattlecker <martin.sattlecker@huawei.com> * Small fixes and editor improvements (#19342) Signed-off-by: Yaakuro <y1@codeposer.net> * Made the ScriptCanvasApplication toggleable with a cmake setting (#19356) * Made the ScriptCanvasApplication toggleable with a cmake setting * PR feedback --------- Signed-off-by: Luis Sempé <58790905+lsemp3d@users.noreply.github.com> * No longer require `git` to build and run in installer (#19355) The v-hacd library had 2 different files that were intended to be used, one for the code version of the engine which downloaded v-hacd from github, using git, and one for the installer version of the engine which noted the copyright information and the fact that it was being used, but didn't need to actually download it since its entire contents were subsumed inside the physx gem dlls and were not public api. Its also only used by the tools (editor, etc) and not the standalone game runtime, so it isn't necessary to have it available in the installer build. The original problem is caused by the use of the cmake `ly_add_external_target_path` function, which appears to make sure that the files in that location are copied to the installer. Instead, in this case, we want different files in the installer than in the code version, so instead of using that macro, we add the directory to the module path directly, and then use `ly_install` to copy the other cmake file (that does not use git) to the installer. Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Suppress the following cmake warning for 3P Library open-mesh (#19337) * Suppress the following cmake warning for 3P Library open-mesh CMake Warning (dev) at build/linux/_deps/openmesh-src/cmake-library/VCI/VCICompiler.cmake:98 (set): implicitly converting 'STRINGLIST' to 'STRING' type. Call Stack (most recent call first): build/linux/_deps/openmesh-src/cmake-library/VCI/VCICommon.cmake:103 (include) build/linux/_deps/openmesh-src/CMakeLists.txt:44 (include) This warning is for project developers. Use -Wno-dev to suppress it Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com> * Update to store the previous suppression value, and restore after FetchContent for OpenMesh is complete Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com> --------- Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com> * Replace math aliases with types of O3DE directly. (#19360) Signed-off-by: Yaakuro <y1@codeposer.net> * InterlockedIncrement and InterlockedDecrement signatures (#19359) Arch-Linux, Clang 21.1.5, treats the return of const volatile as error/warning. const volatile is _deprecated Builds and runs without it. Not sure if it breaks something else long term. Signed-off-by: mythrz <44119535+mythrz@users.noreply.github.com> * Fix depth image preview (#19367) Signed-off-by: Martin Sattlecker <martin.sattlecker@huawei.com> * Fix #19348 Script Canvas Application: Keyboard shortcuts do not work (#19364) Signed-off-by: LafLaurine <laurine.lafontaine@outlook.fr> * Remove Interlocked functions and mutex from LinuxSpecific.h (#19369) Removed InterlockedIncrement and InterlockedDecrement functions and associated mutex. These functions are not used and can be removed. Compiles and builds without it. Tried to remove Linux64Specific.h, but it breaks to many things, LinuxSpecific.h, Linux64Specific.h and consequently other platforms need to be rewritten! Signed-off-by: mythrz <44119535+mythrz@users.noreply.github.com> * Remove OpenGL widget usage in EMFX. (#19366) Signed-off-by: Yaakuro <y1@codeposer.net> * Remove unused member variable m_pDefaultButton (#19370) Not used, breaks build when warnings are treated as errors Signed-off-by: mythrz <44119535+mythrz@users.noreply.github.com> * BugFix PropertyHandlerDirectory didn't work in the game project (#19375) Signed-off-by: Anatoliy <anatoliymakeyev@gmail.com> * Fix compilation under Visual Studio 2026 (#19371) Signed-off-by: guillaume-haerinck <guillaume.haerinck@outlook.com> * Fix reflection issues (#19376) Signed-off-by: Yaakuro <y1@codeposer.net> * Fixes Diffuse Probe Grid indirect lighting shaders (RTXGI) (#19388) Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * BuxFix activate in gamemode SurfaceDataColliderComponent (#19340) * BuxFix activate in gamemode SurfaceDataColliderComponent Signed-off-by: Anatoliy <anatoliymakeyev@gmail.com> * Replaced OnTick with OnPhysicsEnabled. Signed-off-by: Anatoliy <anatoliymakeyev@gmail.com> * Test was invalid and now it updated. Signed-off-by: Anatoliy <anatoliymakeyev@gmail.com> * Moved OnPhysicsEnabled from the MockPhysicsWorldBusProvider constructor to ActivateEntity. Signed-off-by: Anatoliy <anatoliymakeyev@gmail.com> * Removed unnecessary change. Signed-off-by: Anatoliy <anatoliymakeyev@gmail.com> * Fixed PhysXColliderSurfaceTagEmitter_E2E_Editor failed Signed-off-by: Anatoliy <anatoliymakeyev@gmail.com> * Rolled it back and fixed the bug using OnCompositionChanged. Will the test successfully? Signed-off-by: Anatoliy <anatoliymakeyev@gmail.com> --------- Signed-off-by: Anatoliy <anatoliymakeyev@gmail.com> * Fix build error when building intermediate shader assets on Windows. (#19393) Backslash (\) is used by Windows as path separator but also used by unicode for escape sequences. After PR #19315, shader include path expressed in Windows style is treated as error. This PR fixes the errors by converting the path to unix style. Signed-off-by: Ross Charles C. <10781734+rossbridger@users.noreply.github.com> * Adds debug render for emissive and irradiance color (#19387) This adds 2 new preview render modes to the existing ray trace debug component: Emissive Color, irradiance color. Emissive color is fetched from the material's emissive color property, with the texture being taken into account if present. irradiance color is fetched from the materia's irradiance color property, and does not take any texture into account (since there is no texture for this property). Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Fix FFont::DrawScreenAlignedText3d #18562 (#19414) Signed-off-by: Jan Hanca <jan.hanca@robotec.ai> * Add missing override in AzCore/RTTI/BehaviorContext.h (#19389) Signed-off-by: kiotk <213088872+kiotk@users.noreply.github.com> * Adds missing assets to the default seed lists for asset bundling. (#19418) This includes fixing missing diffuse probe grid assets, as well as missing scene and view srgs for Atom. Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Allows you to save default paths into assetbundler (#19419) the previous version of assetbundler does not actually save paths you specify in the GUI, since the intention there was that the gui is for constructing rule files that have blanks for you to fill in later, from the command line. This change makes it so that the gui actually saves those paths into the asset files, if you want. This would allow a smaller (1 user) team to use the gui to assemble bundles, while still allowing power users to use the command line with custom paths to substitute. You don't have to use this feature - you can just leave those fields blank as usual. But if you do fill them in, they will be saved into the rules file, which allows you to run assetbundlerbatch and fill in the `default` token (`$`) for those paths to just use the ones from the file. Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Make SceneGraph::Find function const (#19421) Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Fix C++23 compile errors Signed-off-by: EnterTheArcane <96613937+EnterTheArcane@users.noreply.github.com> * Add missing 'typename' prior to dependent type name for 'aligned_storage' Signed-off-by: EnterTheArcane <96613937+EnterTheArcane@users.noreply.github.com> * Fix incorrect flag check in Assimp scene importing Signed-off-by: Markus Prettner <markus.prettner@huawei.com> * Remove GeometryUtil.h/cpp as they are not used by any other code. (#19438) Signed-off-by: Ross Charles C. <10781734+rossbridger@users.noreply.github.com> * Add Unlit material type to Atom Gem (#19427) * Add Unlit material type to Atom Gem * DCO Remediation Commit for Atmosaero <41229804+Atmosaero@users.noreply.github.com> I, Atmosaero <41229804+Atmosaero@users.noreply.github.com>, hereby add my Signed-off-by to this commit: 2a069d0db9a2e2be21b626059bc036eb4cda10f5 Signed-off-by: Atmosaero <41229804+Atmosaero@users.noreply.github.com> --------- Signed-off-by: Atmosaero <41229804+Atmosaero@users.noreply.github.com> * Extend the Look At component's capabilities (#19441) * Extend the Look At component's capabilities - Add a strength parameter that determines how quickly the rotation approaches the target, and therefore also how much it resists the change in rotation. - Add options to disable rotating about X, Y, and/or Z (pitch, roll, and yaw). - Add a bool that enables or disables the component. - Add getters for each of the previously existing attributes and add both getters and setters for the new ones. Signed-off-by: Eric Kuzmenko <eric.n.kuzmenko@gmail.com> * Look At: Make the strength application framerate independent, normalized to 30FPS - Add initial values to LookAtComponent's member variables. - Wrap flow control blocks with curly braces. Signed-off-by: Eric Kuzmenko <eric.n.kuzmenko@gmail.com> * Look At: Add the option to get the Look At transform which can be calculated without applying it Signed-off-by: Eric Kuzmenko <eric.n.kuzmenko@gmail.com> * EditorLookAtComponent: Wrap flow control blocks in curly brackets Signed-off-by: Eric Kuzmenko <eric.n.kuzmenko@gmail.com> * LookAtComponent: Broadcast OnEnabledChanged when it actually changes in the setter Signed-off-by: Eric Kuzmenko <eric.n.kuzmenko@gmail.com> * Look At: Add the option to either disable the component entirely or to calculate the Look At transform but not apply it - Bring back the "Gameplay" category in LookAt.names Signed-off-by: Eric Kuzmenko <eric.n.kuzmenko@gmail.com> * LookAt: Make normalizedFrameRate a constexpr Signed-off-by: Eric Kuzmenko <eric.n.kuzmenko@gmail.com> --------- Signed-off-by: Eric Kuzmenko <eric.n.kuzmenko@gmail.com> * Fix (again) assimp importer root transform when processing pure FBX animation. (#19440) This was previously fixed but reintroduced by #18931. Signed-off-by: Ross Charles C. <10781734+rossbridger@users.noreply.github.com> * Meshlets: fix 64->32 narrowing when building IndexBufferView size (#19437) Clang on macOS (Xcode 26.x) treats -Wshorten-64-to-32 as an error. Meshlets was computing the index buffer byte size as a uint64_t and implicitly narrowing to the IndexBufferView size parameter (uint32_t), breaking Meshlets.Static. Compute the byte size in 64-bit, assert it fits in 32-bit, and pass it via an explicit numeric cast to avoid silent truncation. Credit: @EnterTheArcane for modification https://github.com/o3de/o3de/pull/19437#issuecomment-3666347387 Signed-off-by: Simon Balarabe <development@simonbalarabe.com> * Fix unit test compilation on msvc latest (#19444) Signed-off-by: guillaume-haerinck <guillaume.haerinck@outlook.com> * Fixes VS Version detection in project manager (#19450) * Fixes VS Version detection in project manager. Visual studio was previously being disallowed in the project manager if the version was greater than the known working version. This changes it so that it only blocks building if the version is less than the original known working version (vs17, aka vs2022+) and issues a warning, but does not block, if the version is greater than the last known version (VS2026). Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Update the messages and detection Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Update the code structure to keep versions near each other Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> --------- Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Fixes several crashes in OpenParticleSystem (#19433) * Fixes several crashes in OpenParticleSystem 1. Depending on random memory allocation, it was possible for the particle data pool to choose an alignment that was not SIMD aligned. This would lead to mystery crashes on some runs and not others. Fixed by adding a custom allocator to its vector, which allocates always at least 16 byte aligned memory. 2. Particle inheritance events were not spawning enough slots when they triggered. This could lead to out of bounds memory access. Fixed by spawning enough slots, as well as properly calculating the slot to use when fetching inherited params. 3. Particle builder now works without the material present. If the material is available, it will do additional checks, but if not, it will still work. This avoids a situation in First Time Usage where all the assets are still building, so the materials are not yet available. If the material becomes available later, it will reprocess the particle asset, which will cause it to emit the warning as appropriate. 4. All particles have been resaved in the new format. Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Removes the particle layout files. They are not ncessary, they just control how the gui of the Particle Editor looks for those particles, ie, where the panels are in the graph view. Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> --------- Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com> * Adjust PrefabDomUtils to distinguish TransformComponent and GradientEditorTransformComponent. (#19422) * Adjust PrefabDomUtils to distinguish TransformComponent and GradientEditorTransformComponent. Signed-off-by: Michał Pełka <michal.pelka@robotec.ai> * Approach using AZStd::set Signed-off-by: Michał Pełka <michal.p…
PreviousNext