Sitelet https://github.com/o3de/o3de/tags
Skip to content

Tags: o3de/o3de

Tags

2605.0

Toggle 2605.0's commit message

Partially verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
We cannot verify signatures from co-authors, and some of the co-authors attributed to this commit require their commits to be signed.
(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…

2510.2

Toggle 2510.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #19518 from nick-l-o3de/merging_pointrelease_25102…

…_to_main

Merge 25.10.2 to `main` - Release 25.10.2

2510.1

Toggle 2510.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #19424 from nick-l-o3de/merging-point-release-2510…

…1-to-main

Merging point release 25101 to main

2510.0

Toggle 2510.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #19288 from nick-l-o3de/merging_stabilization_2510…

…0_to_main

Merge `stabilization/25100` into `main`
Release 2510.0

2505.1

Toggle 2505.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #19138 from nick-l-o3de/update_main_to_25051

Update `main` to 25.05.1

2505.0

Toggle 2505.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #18971 from nick-l-o3de/merge_from_stabilization_t…

…o_main_25050

(For release day) Official release merge from `stabilization/25050` to `main`

2409.2

Toggle 2409.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #18700 from nick-l-o3de/merge_point_release_24092_…

…to_main

Merge `point-release/24092` to `main` for release

2409.1

Toggle 2409.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #18440 from nick-l-o3de/merging_o3de_pointrelease_…

…24091_to_main

Merging o3de pointrelease 24091 to main

2409.0

Toggle 2409.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #18359 from nick-l-o3de/merge_stabilization_2409_t…

…o_main

Stabilization to Main for 24.09.0

2310.3

Toggle 2310.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
23.10.3 Point Release (#17852)

23.10.3 Point Release

Signed-off-by: Nicholas Lawson <70027408+nick-l-o3de@users.noreply.github.com>