Commit Graph

2432 Commits

Author SHA1 Message Date
Tom Hulton-Harrop 6ffc2620e4 Updates to EMFX cameras and better support for character follow behavior (#7676)
* initial wip change to help resolve EMFX camera viewport issue

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* some updates to add/remove camera input API

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* add additional comments and remove some optimize off calls

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* improvements to camera behavior in EMFX editor

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* add some tests for add/remove logic for cameras

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
2022-02-21 09:44:21 +00:00
Chris Galvan 445385e146 Merge pull request #7617 from Bindless-Chicken/fix-assert-resource
Fix missing format parameter in RHI::Resource
2022-02-18 15:17:16 -06:00
Tommy Walton 7de6bc5b23 Add RoundUpToMultiple and DivideAndRoundUp functions to MathUtils.h (#6989)
* Add RoundUpToMultiple and DivideAndRoundUp functions to MathUtils.h

Signed-off-by: Tommy Walton <waltont@amazon.com>

* Rename DivideByMultiple2 back to DivideByMultiple, now that I've confirmed it's not in use in the codebase. RHI::DivideByMultiple can be fully deprecated in favor of AZ::DivideAndRoundUp at a later date, once the deprecation strategy has been finalized.

Signed-off-by: Tommy Walton <waltont@amazon.com>

* Update based on PR feedback

Signed-off-by: Tommy Walton <waltont@amazon.com>

* Switched from std::numeric_limits to AZStd::numeric_limits and updated the header to indicate it works for non-power of two alignments, but that SizeAlignUp is more efficient if the alignment is a power of 2

Signed-off-by: Tommy Walton <waltont@amazon.com>

* Added missing arguments to the assert, and a missing namespace and include that failed to compile on non-unity builds

Signed-off-by: Tommy Walton <waltont@amazon.com>
2022-02-18 12:29:44 -08:00
Guthrie Adams 26c23d9ec0 Fixed non unity compiler issues and reverted a couple of changes
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2022-02-18 10:39:20 -06:00
Guthrie Adams 01786b2966 Atom Tools: Saving tool settings, made inspector configurable, moved to ATF
Changed material editor inspector into generic, configurable, document inspector and moved to atom tools framework
Renamed atom tools framework settings registry utility functions
Added more settings registry utility functions to get, set, and save values and objects
Added saving tool settings to atom tools application

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2022-02-18 00:55:04 -06:00
Luis Sempé 44187d50ee Merge pull request #7730 from aws-lumberyard-dev/scripting/script_events
Fixed Script Event registration going to the incorrect Behavior Context
2022-02-17 16:10:26 -08:00
Alex Peterson aa2ba82cea Fixing LyShine dependency in gem.json (#7728)
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
2022-02-17 14:01:20 -08:00
Jeremy Ong bc2589f3e8 Merge pull request #7529 from yaakuro/yaakuro-development-patch-7
Remove redundant ProgramVariant tag because it got deprecated.
2022-02-17 14:21:19 -07:00
lsemp3d 1ed513d782 Fixed Script Event registration going to the incorrect Behavior Context
Signed-off-by: lsemp3d <58790905+lsemp3d@users.noreply.github.com>
2022-02-17 11:37:20 -08:00
Thomas Poulet a3e33f0c4f Add a debug message to renderdoc cmake like for PIX (#7715)
Signed-off-by: Bindless-Chicken <1039134+Bindless-Chicken@users.noreply.github.com>
2022-02-17 11:07:51 -08:00
Ken Pruiksma e8b7bba0f2 Adding support for blending the terain detail material with the macro material. (#7557)
* Adding support for blending the terain detail material with the macro material. Also includes several bug fixes
- The detail materail manager wasn't querying for default terrain region materials when it initializes, so it was missing some creation events that it would later get destruction events for and explode.
- Change the way the default material weights against other surface weights to avoid some discontinuities
- Fixed an issue where a default material id wouldn't initialize as invalid.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Several improvements and bug fixes
- Adding explicit creation / destruction events for material regions.
- Material regions will no longer try to "hide" when they don't have any materials
- Default detail materials will now only be used in areas where there are no other material assignments
- Fixed a bug where materials might not show up on surfaces when they were assigned to multiple regions or surface tags.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Simplified loop that assigns materials based on surface tags. Slightly simplified shader code regarding detail material id coordinates.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Fixes from PR review

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Making sure region changed doesn't get announced in the case where the old and new regions are both invalid.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
2022-02-17 11:06:24 -06:00
Qing Tao 846e2736a5 [new] ATOM-17253 Using AtomTressFX gem as an example to inject hair passes to main pipeline at run-time (#7661)
* Change AtomTressFX passes to write to exsiting DepthLinear buffer instead of creating a new one as output.

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>

* Added new api in RPI to apply render pipeline changes from FP

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>

* Update AtomTressFX gem to create hair parent pass at runtime

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>

* Change Scene::ApplyRenderPipelineChange() to TryApplyRenderPIpelineChanges().
Have TryApplyRenderPIpelineChanges() called automatically when a render pipeline is added to a Scene.
Re-apply the render pipeline change when RenderPipeline got recreated (Pass hot-reloading support)
Add AddPassBefore() and AddPassAfter() function to RenderPIpeline class.

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>
2022-02-17 08:50:50 -08:00
jromnoa 949ce436bb sets AllowDescriptorHeapCompaction to true instead of false so AR doesn't time out
Signed-off-by: jromnoa <80134229+jromnoa@users.noreply.github.com>
2022-02-16 18:14:40 -08:00
Guthrie Adams 7f16cd1643 Merge pull request #7677 from aws-lumberyard-dev/Atom/guthadam/atom_tools_move_document_reflection_into_classes
Atom Tools: Moving behavior context reflection into respective classes
2022-02-16 13:39:36 -06:00
dmcdiarmid-ly b9fd9a43c6 Merge pull request #7669 from aws-lumberyard-dev/Atom/dmcdiar/LYN-10373
MaterialEditor fix for MSAA state
2022-02-16 11:32:51 -07:00
Guthrie Adams ce754d31e5 Atom Tools: Moving behavior context reflection into respective classes
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2022-02-16 09:19:12 -06:00
Chris Galvan c2d6ba0c69 Merge pull request #7625 from aws-lumberyard-dev/cgalvan/AddSupportForUNORM_SRGB
Added support for several UNORM_SRGB formats
2022-02-16 09:18:34 -06:00
dmcdiarmid-ly e94d832e67 Set MSAA state in MaterialEditor startup
Signed-off-by: dmcdiarmid-ly <63674186+dmcdiarmid-ly@users.noreply.github.com>
2022-02-16 02:12:30 -07:00
Chris Galvan 9a32d433f4 Changed to use the lookup table directly than have a helper method
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2022-02-15 17:29:53 -06:00
Chris Galvan 12d5a304b5 Improved performance of UNORM_SRGB pixel retrieval by switching to a pre-computed lookup table
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2022-02-15 16:47:58 -06:00
moudgils 4bf6b6ba15 Add 3p vulkan validation layer support. (#7540)
* Add 3p vulkan validation layer support. Enabling device validation will automatically load the VkLayer_khronos_validation.dll ensuring that validation checks will work correctly

Signed-off-by: moudgils <47460854+moudgils@users.noreply.github.com>

* Addressed feedback

Signed-off-by: moudgils <47460854+moudgils@users.noreply.github.com>

* Updating the hash to the new 3p package

Signed-off-by: moudgils <47460854+moudgils@users.noreply.github.com>
2022-02-15 10:22:32 -08:00
Guthrie Adams b4f5b892cd Merge pull request #7629 from aws-lumberyard-dev/Atom/guthadam/atom_tools_restore_idle_input_behavior
Atom Tools: Restoring idle behavior for viewport input behavior contoller
2022-02-15 09:46:47 -06:00
Chris Burel 0b317ee0f5 Merge pull request #7566 from aws-lumberyard-dev/fixClangWindowsBuild
Fix clang windows build
2022-02-14 14:20:39 -08:00
Guthrie Adams 3bdb0f5d9b Atom Tools: Restoring idle behavior for viewport input behavior controller
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2022-02-14 15:37:39 -06:00
Guthrie Adams ba43efd3d2 Merge pull request #7613 from aws-lumberyard-dev/Atom/guthadam/centralize_shader_management_console_operations_in_document_class
Atom Tools: Moving shader management console file operations into document class
2022-02-14 12:17:35 -06:00
Chris Galvan 8cf29ebc25 Added support for several UNORM_SRGB formats
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2022-02-14 11:10:58 -06:00
Guthrie Adams ceb61d143c Merge pull request #7618 from aws-lumberyard-dev/Atom/guthadam/move_viewport_input_controller_from_material_editor_to_atf
Atom Tools: Extracted the viewport input controller from ME to ATF
2022-02-14 10:27:20 -06:00
Guthrie Adams 1b366fbad8 Merge pull request #7612 from aws-lumberyard-dev/Atom/guthadam/removing_thumbnail_context_from_thumbnail_system
Removing thumbnail context from thumbnail system
2022-02-14 10:26:28 -06:00
Guthrie Adams 8b54e02041 updating after PR feedback to use existing minimum element vector function
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2022-02-14 08:00:41 -06:00
Guthrie Adams b0fd3d22f1 resolving merge issues
fixing crash on startup because allocator was not available when string was allocated

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2022-02-14 06:19:19 -06:00
Guthrie Adams 2b49b5eefe Moved loading code into separate functions based on source file type
Moved table view code into its own class that will handle modifications to the document

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2022-02-14 05:51:05 -06:00
Guthrie Adams 2b16f6860f Atom Tools: Moving shader management console file operations into document class
Standardizing how document classes are implemented between atom tools.
Moved several functions that were added to allow shader variant lists to be built from a Python script into the tools document class.
Reimplemented the portion of the script that generated a shader variant list from a shader asset into the document class. Opening a shader management console document from a shader asset will automatically generate this shader variant list data inside the document. Description now just opens and saves the documents to a new location.

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2022-02-14 05:49:27 -06:00
Guthrie Adams cd0079c199 Atom Tools: Extracted the viewport input controller from ME to ATF
These viewport controls will be shared with material canvas and other tools that share a similar environment and viewport configurations.
These classes are currently duplicated between the material editor and prototype projects.
This change generalizes some things that are specific to the material editor and moves the system to a common location.
Event buses were removed and replaced with a normal interface.

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2022-02-14 04:49:44 -06:00
Guthrie Adams 9e32c83d30 Merge pull request #7570 from aws-lumberyard-dev/Atom/guthadam/atom_tools_document_and_window_buses_support_multiple_instances
Atom Tools: updated document and windows systems and buses to support multiple instances
2022-02-14 04:12:33 -06:00
Bindless-Chicken 9da156d0a6 Fix missing format parameter in RHI::Resource
Signed-off-by: Bindless-Chicken <1039134+Bindless-Chicken@users.noreply.github.com>
2022-02-14 09:17:53 +00:00
Guthrie Adams 7996591182 Removing thumbnail context from thumbnail system
This work has been on hold for a while. Revisiting removal of thumbnail contexts now while debugging related lockups exiting tools from script. Thumbnail contexts are an unused layer of indirection that makes debugging the system more difficult. All systems were only referencing the default context.

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2022-02-11 21:06:38 -06:00
Chris Galvan b334b1ad98 Merge pull request #7590 from aws-lumberyard-dev/cgalvan/AllowOnlySupportedFormatsForImageGradientStreamingAsset
Only allow streaming image assets with supported pixel formats to be selected for an image gradient
2022-02-11 16:01:28 -06:00
santorac 235613710f Merge pull request #7537 from aws-lumberyard-dev/Atom/santorac/RemixableMaterialTypes4_Layering
Added Support For Factoring-Out Material Property Groups
2022-02-11 12:03:39 -08:00
Chris Galvan 9cd84b6b2d Only allow streaming image assets with supported pixel formats to be selected for an image gradient
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2022-02-11 13:28:21 -06:00
lumberyard-employee-dm d7ee248df5 Range adaptor support (#7388)
* Updated the SFINAE checks in concepts.h and range.h

To use conjunction and disjunction for short-circuiting behavior.

Replaced AZStd::optional implementation with std::optional alias

Added range adaptor support and the following views: ref_view,
owning_view

Added bitwise or(|) overload for chaining range adaptor closures together

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding indirectly invocable concepts.

These concepts are used to determine whether a callable can be invoked
with a dereferenced iterator instance.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Add implementation of range relational function objects

Add implementation of range min max functions which uses the range
relation function objects(ranges::less, ranges::equal_to, etc...)

This is needed to implement ranges::zip_view

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding interface for zip_view which compiles successfully

The implementation for the zip view functions still need to be filled.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding function definitions for zip_view classes.

Adding empty header of subrange.h for the ranges::subrange class

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding additional view implementations.

The following range and view classes have been added: empty_view,
single_view and subrange.

Moved the AZ_NO_UNIQUE_ADDRESS macro to PlatformDef.h to allow other
code to specify the [[no_unique_address]] attribute.

Added additional test for view structures.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding missing includes for non-unity builds

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Workaround for NDK21 clang 9.0.9 compile issue.

The AZStd::ranges::zip_view::iterator::iter_swap friend function is in the
AZStd::ranges namespace, while the customization point object of
`AZStd::ranges::customization_point_object::iter_swap` is in the regular
namespace of `AZStd::ranges` and the inline namespace of
`customization_point`.

This issue is fixed in NDK23, but as Jenkins uses NDK21 at the time, the
entire zip_view implementation has moved to inline namespace of
`zip_view_internal`

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Added iterator algorithm requiremetn concepts

Fixed the ambiguity in the ranges::iter_swap exchange overload to
exclude itself as a candidate if the iterator reference types are
swappable with each other.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding type alias for borrowed_subrange_t

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Fixed convertible to ref_view check in the ranges::all
customization_point

Updated SFINAE detection of whether AZStd::to_address is invocable

Moved the

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Fixed private variable access in ranges::subrange get specialization.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Removing ranges::view constraint from the ranges::views::single
customization_point.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding C++23 range overload for string_view.

It is detailed in the [C++draft strings](https://eel.is/c++draft/strings#lib:basic_string_view,constructor____) section

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding implementations of ranges, find, search, mismatch and equal
functions.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding implementation of ranges split_view along with test.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding const overloads to SceneAPI ProxyPointer container

The Proxy Pointer class operator* and operator-> was unable to be
invoked with a const instance before. Now it returns a const view of the
pointer it contains.
This allows it to be invoked in `AZStd::to_address` as part of an SINAE
context for the contiguous_iterator concept

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Refactored the to_address implementation to better work with SFINAE.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding general non-unity build fixes

This is unrelated to the RangeAdaptor changes.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Allow range algorithms to be used with rvalue ranges

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Workaround MSVC Internal Compiler erroy by removing enable_if
condition in the operator bool of the view_interface class.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Corrected the non_propagating_cache helper class to have public
functions

Fixed the order of creating the perfect forwarding call wrapper for an
outer closure around another closure.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Specialized the borrowed_range and view concepts

For the AZ PathView class, since it is a immutable view around a path.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Removed inline namespace around the zip_view class.

It was needed to workaround a clang 10 or below issue where a friend
function in a namespace and a variable within underneath an inline
namespace within the function namespace would cause an improper symbol
redefinition.

The workaround is to create a placeholder namespace containing the
inline namespace and then bring that placeholder namespace into the
parent scope.

https://bugs.llvm.org/show_bug.cgi?id=37556

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding implementation of the elemetns_view and join_view classes

It is up to date with the standard as of the current draft:
https://eel.is/c++draft/ranges.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Separated definitions of concepts out of concepts.h

This allows the ranges::iter_swap and ranges::swap customization point to be moved
outside of the concepts folder and into the ranges folder.

The concepts.h header previously had to define those objects to avoid
circular dependencies.

Added the work around for ranges::iter_swap and ranges::iter_move
customization_point causing an improper symbol redefinition in clang 10
or below: https://bugs.llvm.org/show_bug.cgi?id=37556

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Alias more std:: names into the AZStd namespace.

Removed our custom implementation of toaddress.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding more range view test.

The join_view and elements_view classes now have UnitTest.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Adding deduction guides for AZStd associative containers

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Moved zip_view::sentinel iterator accessor function to zip_view.inl

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Fixed variable shadowing issues with clang 12+

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
2022-02-11 12:50:12 -06:00
santorac b829c08f75 Fixed build error. Added error message if material type file JSON import fails.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-02-11 10:12:57 -08:00
santorac 49ca8d332e Merge remote-tracking branch 'upstream/development' into Atom/santorac/RemixableMaterialTypes4_Layering
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-02-11 09:37:44 -08:00
santorac b67862a133 Minor updates from code review feedback.
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
2022-02-11 09:37:12 -08:00
moraaar 7150a28ed6 Mesh Component: Add button to the Mesh Asset field to open mesh FBX settings (#7547)
This is an UX improvement for Mesh Component as the user can quickly access FBX settings of the mesh to modify it if they so desire.

Video
https://user-images.githubusercontent.com/27999040/153414278-f7996b9a-8a28-49d4-92a8-daeb9924b148.mp4

Signed-off-by: moraaar moraaar@amazon.com
2022-02-11 09:08:33 +00:00
Guthrie Adams 600ad3fd04 Fixing compiler errors requiring numeric cast
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2022-02-11 02:17:37 -06:00
Guthrie Adams c6ba1ef064 Atom Tools: updated document and windows systems and buses to support multiple instances
• This change is partially to unblock physics tool prototyping. It introduces a tool ID that is passed down into systems and acts as a context for document, window, and other systems and buses.
• The document system component is no longer a component. It is just a system class that can be constructed with a tool ID. Internally, it will connect to its buses and be addressable by tool ID. More than one can be instantiated, each with a unique tool ID.
• These changes are still backward compatible because most of the buses were using broadcast for standalone applications. All of those calls have been updated but not all of the scripts, which should still work as is.
• Got rid of the window factory request bus in favor of just instantiating the main window or any other UI in the application layer.
• Fixed a couple of bugs that were discovered while making these changes.

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2022-02-11 01:37:13 -06:00
dmcdiarmid-ly 257f3cb1ce Merge pull request #7541 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-17288
Application MSAA state
2022-02-10 19:34:30 -07:00
Chris Burel bdac374775 Fix case-insensitive non-portable include paths
Signed-off-by: Chris Burel <burelc@amazon.com>
2022-02-10 15:36:22 -08:00
Chris Burel fc2fc8459b Fix missing return; statement (this is why we use -Wunused-value)
Signed-off-by: Chris Burel <burelc@amazon.com>
2022-02-10 15:36:21 -08:00
Jeremy Ong f709ba07a9 Merge pull request #7545 from aws-lumberyard-dev/Atom/GraphicsDevMode
Introduce Atom/GraphicsDevMode settings registry key
2022-02-10 11:48:44 -07:00