Commit Graph

213 Commits

Author SHA1 Message Date
carlitosan 4e0399b283 Merge pull request #3309 from aws-lumberyard-dev/carlitosan/development
JSON serialization of SC Editor Assets
2021-08-24 11:45:18 -07:00
Esteban Papp 9c7b55a31d Merge branch 'development' into cmake/linux_fix_warn_unused
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Gems/Atom/RHI/Code/Include/Atom/RHI.Reflect/Bits.h
#	Gems/Atom/RHI/Code/Include/Atom/RHI/IndexBufferView.h
#	Gems/Atom/Tools/MaterialEditor/Code/Source/Window/MaterialEditorWindow.cpp
#	Gems/Atom/Tools/ShaderManagementConsole/Code/Source/Window/ShaderManagementConsoleWindow.cpp
2021-08-24 10:43:48 -07:00
Esteban Papp a901a41b3a Merge branch 'development' into cmake/remove_align_macros
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-08-24 08:27:07 -07:00
Esteban Papp 07ea4edbc2 Fixes for Mac/iOS
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-08-23 17:51:13 -07:00
chcurran 794c22c02e merge latest
Signed-off-by: chcurran <82187351+carlitosan@users.noreply.github.com>
2021-08-23 16:02:58 -07:00
Jacob Hilliard 246621fda5 Visualizer: finish deserialization of captures (#3293)
* Visualizer: Initial capture loading support

Signed-off-by: Jacob Hilliard <jhlliar@amazon.com>

* Visualizer: Deserialize thread id

Signed-off-by: Jacob Hilliard <jhlliar@amazon.com>

* Visualizer: Quality of life improvements throughout

- Decrease row size for more information onscreen
- Remove fudge factors in drawing logic
- Add comments to deserialization logic
- Fix Editor text scaling bug
- Early out for data culling to avoid erase_if call

Signed-off-by: Jacob Hilliard <jhlliar@amazon.com>
2021-08-23 13:14:00 -07:00
Esteban Papp 53dfb1a39e remove unnecessary ALIGN macros
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-08-20 20:36:11 -07:00
Esteban Papp b96b99363c Merge branch 'development' into cmake/linux_fix_warn_unused
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-08-20 14:51:35 -07:00
moudgils b2b6886338 Fixes asserts related to buffer allocation using null rhi (#3367)
Fixes GPU crashes when releasing Indirect draw and query related dx12 objects
Fixes imgui profiler related to viewing buffer allocations

Signed-off-by: moudgils <moudgils@amazon.com>
2021-08-20 13:31:35 -07:00
Esteban Papp cf6c7c4d8d some unused fixes
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-08-19 18:26:43 -07:00
Esteban Papp a97bccbf38 some fixes
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-08-19 14:01:50 -07:00
Esteban Papp 61f7fe5dc5 Merge branch 'development' into cmake/AddressSanitizer
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-08-19 12:25:41 -07:00
Esteban Papp 68b04fa6c1 Merge branch 'development' into cmake/AddressSanitizer
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Code/Legacy/CryCommon/LegacyAllocator.h
2021-08-19 11:44:28 -07:00
Esteban Papp 2521ad2301 Merge branch 'development' into cmake/SPEC-2513_w4244
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Gems/Atom/RHI/DX12/Code/Source/RHI/Device.cpp
2021-08-19 10:12:22 -07:00
jiaweig 6766d10d1b ATOM-13883 [RHI][Core] - Moving RHI init settings to the new settings registry system (#3086)
* Moved PlatformLimits to setreg. Removed Device PostInit. Some clean up.

Signed-off-by: jiaweig <jiaweig@amazon.com>

* Move setreg loading the PlatformLimitsDescriptor super class.

Signed-off-by: jiaweig <jiaweig@amazon.com>

* Apply same implementation for fake device used in unit tests

Signed-off-by: jiaweig <jiaweig@amazon.com>

* Add implementation for Null renderer. Swap order for register RHI interface in initialization.

Signed-off-by: jiaweig <jiaweig@amazon.com>

* Move back setreg from PlatfromLimitsDescriptor to Device, due to Linux dependency issue.

Signed-off-by: jiaweig <jiaweig@amazon.com>

* Changed the function to take in RHI backend name

Signed-off-by: jiaweig <jiaweig@amazon.com>
2021-08-19 10:08:10 -07:00
Esteban Papp f8e99cd7dd Merge branch 'development' into cmake/SPEC-2513_w4244
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Code/Editor/CryEditDoc.cpp
#	Code/Framework/AzToolsFramework/AzToolsFramework/Input/QtEventToAzInputManager.cpp
#	Gems/Atom/Feature/Common/Code/Source/PostProcessing/BlendColorGradingLutsPass.cpp
#	Gems/PhysXDebug/Code/Source/SystemComponent.cpp
2021-08-19 08:53:41 -07:00
Jeremy Ong df9b4d4a2f Deprecate profiler categories based on global enum
(to be supplanted by registered budgets in the future)

Signed-off-by: Jeremy Ong <jcong@amazon.com>
2021-08-18 17:33:09 -06:00
Esteban Papp dd80a3ebae Linux and non-unity build fixes
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-08-18 11:09:14 -07:00
Esteban Papp 1d7f690e06 missing header includes
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-08-17 18:02:49 -07:00
chcurran de9e991ccc merge development
Signed-off-by: chcurran <82187351+carlitosan@users.noreply.github.com>
2021-08-17 15:37:30 -07:00
chcurran 88121f3bb4 move JsonUtils to AzCore
Signed-off-by: chcurran <82187351+carlitosan@users.noreply.github.com>
2021-08-17 14:06:24 -07:00
Esteban Papp 036114a5a7 Merge branch 'development' into cmake/SPEC-2513_w4244
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Code/Framework/AzToolsFramework/AzToolsFramework/Input/QtEventToAzInputManager.cpp
2021-08-17 12:10:46 -07:00
Jacob Hilliard e865ad5d23 Profiler: implement loading from saved captures (#3026)
* Profiler: implement loading from saved capture
Adds functionality for finding a saved capture on disk and then
deserializing it using rapidjson's built-in buffered stream reader. This
does require use of raw file pointers since saved captures can be
hundreds of megabytes.
Actually showing the data in the visualizer is TODO.
* Profiler: use heap buffer over stack buffer
* Profiler: move deserialization logic to ImGuiCpuProfiler

Signed-off-by: Jacob Hilliard <jhlliar@amazon.com>
2021-08-17 11:33:13 -07:00
pappeste dcab2751de Atom
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-08-16 16:39:57 -07:00
pappeste 38fd7f0013 fixing Atom
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-08-16 16:03:36 -07:00
Jacob Hilliard e2b4d8e502 Profiler: Runtime region name support (#2924)
* Profiler: add support for runtime region names
* Profiler: fix group name collisions
* Profiler: use set of GroupRegionNames
* Profiler: add comments + named constant

Signed-off-by: Jacob Hilliard <jhlliar@amazon.com>
2021-08-16 10:13:24 -07:00
chcurran 5044204839 Move JsonUtils.h for support of SC serialization
Signed-off-by: chcurran <82187351+carlitosan@users.noreply.github.com>
2021-08-13 21:53:20 -07:00
moudgils c2b8542bbd Support for refresh rate and sync interval (#2989)
* Add support for querying the refresh rate and sync interval
2021-08-12 12:07:46 -07:00
dmcdiarmid-ly e10e62b399 Merge pull request #2863 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-15995
Add callback mechanism for GPU resource release
2021-08-11 13:05:27 -07:00
antonmic 193fa3c918 Merge pull request #2584 from aws-lumberyard-dev/Atom/antonmic/SrgDebugImprovements
Shader resource group debug improvements
2021-08-11 10:37:36 -07:00
dmcdiar ccc4f27129 Changed check for latest garbage to a for loop.
Signed-off-by: dmcdiar <dmcdiar@amazon.com>
2021-08-10 21:09:55 -07:00
Jeremy Ong cfa6e259f3 Hide RenderDoc integration behind LY_RENDERDOC_ENABLED option
Signed-off-by: Jeremy Ong <jcong@amazon.com>
2021-08-10 17:27:45 -06:00
dmcdiar 327477cace Merge branch 'development' into Atom/dmcdiar/ATOM-15995 2021-08-10 11:51:04 -07:00
Jacob Hilliard 7c5120b72f [ATOM-16021] Initial continuous capture support (#2624)
* Profiler: Implement continuous capture internals

Signed-off-by: Jacob Hilliard <jhlliar@amazon.com>

* Profiler: extend ProfileCaptureSystemComponent

Implements dumping of saved CPU profiling data to a local file, blocking
call.

Signed-off-by: Jacob Hilliard <jhlliar@amazon.com>

* Profiler: Working IO thread for serialization

Signed-off-by: Jacob Hilliard <jhlliar@amazon.com>

* Profiler: switch to AZ::JobFunction for IO

Signed-off-by: Jacob Hilliard <jhlliar@amazon.com>

* Profiler: move to a ring buffer for storage

Signed-off-by: Jacob Hilliard <jhlliar@amazon.com>

* Profiler: switch back to IO thread

Signed-off-by: Jacob Hilliard <jhlliar@amazon.com>

* Profiler: add TODO

Signed-off-by: Jacob Hilliard <jhlliar@amazon.com>

* Profiler: correct thread safety issues

Signed-off-by: Jacob Hilliard <jhlliar@amazon.com>
2021-08-10 09:57:04 -07:00
SJ 44b053df58 [Mac] Building and running game projects from an SDK (#2943)
* 1. Initial support for loading dylibs outside the bundle.
2. Child processes inherit parent's environment if no environment is explicitly specified(should change to append the parent's environment even if environment variables are explicitly specified).
3. Update some time functions to use system uptime instead of wall clock time when computing elapsed time. This fixes false timeouts when the OS goes to sleep.
4. Increase wait times for AssetBuilders and some Atom tools to connect to the AssetProcessor. This is needed because GateKeeper slows down first time bootup which results in asset processing failures.
With this change we'll be able to run Editor and AssetProcessor from an install on Mac and we will also be able to build and run projects using the installed engine as an SDK.

Signed-off-by: amzn-sj <srikkant@amazon.com>

* 1. Remove debug messages.
2. Fix license
3. Pass parent's environment variables to child processes by default(on Mac).

Signed-off-by: amzn-sj <srikkant@amazon.com>

* 1. Add more detailed comments.2. Use a custom ly_copy for Mac and leave the default as is.

Signed-off-by: amzn-sj <srikkant@amazon.com>

* Address some feedback from review

Signed-off-by: amzn-sj <srikkant@amazon.com>
2021-08-10 10:10:37 -05:00
antonmic 8d7d560d9d Merge branch 'dev' into Atom/antonmic/SrgDebugImprovements 2021-08-09 23:47:40 -07:00
antonmic 64cff38f82 Addressing PR feedback and fixed a small issue with the draw item count display
Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>
2021-08-08 16:46:42 -07:00
dmcdiar c979ab0338 Keep the mutex locked while processing pending notifies.
Signed-off-by: dmcdiar <dmcdiar@amazon.com>
2021-08-04 18:26:43 -07:00
dmcdiar a972cf6c96 Merge branch 'development' into Atom/dmcdiar/ATOM-15995 2021-08-04 16:58:16 -07:00
Esteban Papp b33a4db332 Merge branch 'development' into cmake/SPEC-2513_w4267 2021-08-02 18:03:04 -07:00
Jeremy Ong af0d757556 Remove CMake status message when not compiling with RenderDoc
Signed-off-by: Jeremy Ong <jcong@amazon.com>
2021-08-02 09:50:24 -06:00
Jeremy Ong 06cef942a9 PALify RenderDoc module name
Signed-off-by: Jeremy Ong <jcong@amazon.com>
2021-07-31 18:30:49 -06:00
Jeremy Ong f9303a2eaa Add runtime RenderDoc support for Windows dx12/vulkan via --enableRenderDoc option
- RenderDoc is disabled when building the monolithic build
- The installation path is inferred on Windows, but may be overridden on
  Windows/Linux via the ATOM_RENDERDOC_PATH environment variable
- Linux support may work, but I have no means to test it
- Android support shouldn't be difficult to add, but requires a
  renderdoc_android.cmake file that understands how the RenderDoc
  package is distributed as part of the Android toolchain

Signed-off-by: Jeremy Ong <jcong@amazon.com>
2021-07-31 17:53:38 -06:00
Steve Pham b46a80be2c Fix for Linux/Vulkan/Editor crash on startup
* Temporary fix for Linux/Vulkan/XCB where the swap chain is not ready to present until the resize is complete
* Fix invalid GUID from LinuxXcbConnectionManager

Signed-off-by: spham-amzn <spham@amazon.com>
2021-07-31 08:42:02 -07:00
Jacob Hilliard 4d618ea619 Profiling: Add more instrumentation
Adds new instrumentation macros throughout the codebase, using the
visualizer to find where current instrumentation is lacking using the
shadowed sponza sample + editor. Some notes from exploring:

- We spend ~5ms in CullingScene: BeginCulling
- PipelineStateCache: Compact usually 1ms
- CompileImageBarriers takes most of the time in CompileResourceBarriers

Signed-off-by: Jacob Hilliard <jhlliar@amazon.com>
2021-07-29 16:04:54 -07:00
antonmic d693ee5dd3 merging latest
Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>
2021-07-28 17:17:49 -07:00
antonmic 72f808876c Improvements to pass statistics and SRG debugability
Signed-off-by: antonmic <56370189+antonmic@users.noreply.github.com>
2021-07-28 16:35:51 -07:00
pappeste 97f9ac870d Atom
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-07-27 19:29:20 -07:00
dmcdiar 9358428beb Added object release queue notification to the RHI Device and ObjectCollector.
Signed-off-by: dmcdiar <dmcdiar@amazon.com>
2021-07-25 22:39:22 -07:00
Jacob Hilliard 5c0b6bf50f [GHI #2165] GPU Buffer/Image memory visualizer (#2242)
* GPU Memory: basic tree view of pools + heaps
* GPU Memory: pie charts of overall heap usage
* GPU Memory: Implement tabular view
* GPU Memory: final cleanup
* GPU Memory: use AZ_ENUM macro for string conversion

Signed-off-by: Jacob Hilliard <jhlliar@amazon.com>
2021-07-20 13:41:33 -07:00