Commit Graph

27 Commits

Author SHA1 Message Date
SergeyAMZN 08e020f2b1 Merge pull request #4251 from aws-lumberyard-dev/nvsickle/RevertFrameTimer
Revert "Refresh rate driven rendering tick logic (#3375)"
2021-09-30 14:51:45 +01:00
Chris Burel f5effaabcc Consolidate all xcb functionality into one subdirectory
The Linux platform has multiple windowing systems. Support for xcb is
currently in progress, support for Wayland is planned in the future. The
way the current xcb support is included is by making some file with a
`_xcb` suffix, and placing `#if PAL_TRAIT_LINUX_WINDOW_MANAGER_XCB` around
most of that file's contents.

With this change, all of the code in AzFramework that uses xcb directly is
inside the `Platform/Common/Xcb` subdirectory. It greatly reduces the
amount of code in compile-time `#ifdef` checks for the chosen windowing
system. It also provides a logical place to include O3DE-specific xcb
C++ wrappers and interfaces, without polluting non-xcb related code.

Signed-off-by: Chris Burel <burelc@amazon.com>
2021-09-27 11:44:55 -07:00
nvsickle bcfe3d3878 Revert "Refresh rate driven rendering tick logic (#3375)"
This reverts commit db63dcbcd9.

Signed-off-by: nvsickle <nvsickle@amazon.com>
2021-09-21 16:47:24 -07:00
Chris Burel 3812e60ab6 Add support for keyboard events from xcb (#3971)
Signed-off-by: Chris Burel <burelc@amazon.com>
2021-09-20 09:09:50 -07:00
Nicholas Van Sickle db63dcbcd9 Refresh rate driven rendering tick logic (#3375)
* Implement sync interval and refresh rate API for RenderViewportWidget

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

* Measure actual frame timings in the viewport info overlay.

Takes the median of the sum of (frame end - frame begin) to provide more a more representative view of when frames begin and end.

Note: Until VSync is internally supported by the event loop, this will produce nearly identical frame timings as the frame will spend as much time as needed synchronously waiting on a vblank.

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

* Make frame timing per-pipeline, wire up refresh rate info to ViewportContext

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

* POC: Frame limit pipeline rendering

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

* Switch Editor tick to every 0ms to allow better tick accumulation behavior

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

* Move RPISystemComponent to the tick bus, remove tick accumulation logic

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

* Add `AddToRenderTickAtInterval` to RenderPipeline API

This allows a pipeline to update at a set cadence, instead of rendering every frame or being directly told when to tick.

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

* Make ViewportContext enforce a target framerate

-Adds GetFpsLimit/SetFpsLimit for actively limiting FPS
-Calculates a render tick interval based on vsync and the vps limit and updates the current pipeline

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

* Add r_fps_limit and ed_inactive_viewport_fps_limit cvars

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

* Quick null check from a crash I bumped into

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

* Fix off-by-one on FPS calculation (shouldn't include the not-yet-rendered frame)

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

* Clarify frame time begin initialization

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

* Fix TrackView export.

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

* Address some reviewer feedback, revert RPISystem API change, fix CPU profiler.

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

* Add g_simulation_tick_rate

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

* Address review feedback, make frame limit updates event driven

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

* Remove timestamp update from ComponentApplication::Tick

Signed-off-by: nvsickle <nvsickle@amazon.com>
2021-09-13 17:57:42 -07:00
Esteban Papp 1be95a1e76 Potential Memory Corruption in Release Build (#3559)
* Potential Memory Corruption in Release Build

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

* @lumberyard-employee-dm suggested code

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

* warnings as errors found in VS2022

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

* simplifying some strucutres used and fixing a bug

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

* some unused fixes for VS2022

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

* fix for other platforms

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

* fixes check used in unit tests to be case-insensitive
fixes memory leaks/invalid memory operations in AWSCore tests

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-08-26 15:59:40 -07:00
Esteban Papp 058f6e0f22 PR comments/fixes
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-08-25 14:06:26 -07:00
Esteban Papp eaefc580d6 Code/Editor
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-08-20 17:53:14 -07:00
Esteban Papp 6db7488939 Merge branch 'development' into cmake/SPEC-7484
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Code/Editor/Animation/SkeletonHierarchy.cpp
#	Code/Editor/Animation/SkeletonMapper.cpp
#	Code/Editor/Animation/SkeletonMapperOperator.cpp
#	Code/Editor/LogFile.cpp
#	Code/Editor/ResourceSelectorHost.cpp
#	Code/Editor/SettingsManager.cpp
#	Code/Editor/Util/EditorUtils.cpp
#	Code/Editor/Util/FileUtil.cpp
#	Code/Editor/Util/IXmlHistoryManager.h
#	Code/Editor/Util/ImageTIF.cpp
#	Code/Editor/Util/StringHelpers.cpp
#	Code/Editor/Util/XmlHistoryManager.cpp
#	Code/Editor/Util/XmlHistoryManager.h
2021-08-06 10:08:37 -07:00
hultonha 70ae5c2d40 Editor code: tidy up BOOLs,NULLs and overrides pt1.
Merge pull request #2872 from nemerle/tidy_up_editor_code_a_bit_split1
2021-08-06 09:44:14 +01:00
Esteban Papp e28d04aea6 Merge branch 'development' into cmake/SPEC-7484
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Code/Editor/CryEditDoc.cpp
#	Code/Editor/CryEditDoc.h
#	Code/Legacy/CryCommon/CryArray.h
#	Code/Legacy/CryCommon/CryString.h
#	Code/Legacy/CryCommon/UnicodeBinding.h
#	Code/Legacy/CrySystem/LocalizedStringManager.cpp
#	Gems/LyShine/Code/Source/StringUtfUtils.h
#	Gems/PhysXDebug/Code/Source/SystemComponent.cpp
2021-08-05 20:05:25 -07:00
Nemerle b8bed115f0 Editor code: tidy up BOOLs,NULLs and overrides pt1.
A few 'typedefs' replaced by 'using's
This shouldn't have any functional changes at all, just c++17 modernization
It's a part 1 of a split #2847

Signed-off-by: Nemerle <nemerle5+git@gmail.com>
2021-08-05 16:37:43 +02:00
aaguilea d06ec45aaa changes to the move rotate and scale
Signed-off-by: aaguilea <aaguilea@amazon.com>
2021-08-04 13:05:00 +01:00
Esteban Papp dd3f0b86e0 Merge branch 'development' into cmake/SPEC-7484
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Code/Editor/ToolBox.cpp
2021-08-02 18:45:25 -07:00
Esteban Papp a14b4e478e Code/Editor
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-08-02 17:56:56 -07:00
Esteban Papp f665f572f3 Gems/Atom builds
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-07-30 18:53:50 -07:00
Nicholas Van Sickle 70b3840288 Fix the home key popping up ImGui when it shouldn't. (#2620)
This disables WM_INPUT forwarding to the input system while in game mode and makes ImGui listen to the synthetic keyboard events from the viewport instead - these synthetic events go through Qt's event system, so will only show up when the viewport "sees" a home key press.

Signed-off-by: nvsickle <nvsickle@amazon.com>
2021-07-29 16:30:45 -05:00
Guthrie Adams 7cb2f62d4b Merge pull request #1250 from aws-lumberyard-dev/lawalfua/commonToolsApplication
Addition of a base AzQtToolsApplication class
2021-07-19 13:32:09 -05:00
Steve Pham 38261d0800 Shorten copyright headers by splitting into 2 lines (#2213)
* Updated all copyright headers to split the longer original copyright line into 2 shorter lines

Signed-off-by: Steve Pham <spham@amazon.com>
2021-07-16 15:25:48 -07:00
Dayo Lawal 8f22bff1fb QEditorApplication inheriting from AzQtApplication
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
2021-07-15 12:16:18 -05:00
hultonha 5bdb73b064 Merge pull request #2024 from aws-lumberyard-dev/lyn5017_LockSelection/UnlockAll_bug
Fixed small bug with edit menu
2021-07-13 10:11:52 +01:00
Chris Galvan 2fc1062802 Removed deprecated graphics settings/performance menu options. Updated automated test accordingly.
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2021-07-12 13:42:08 -05:00
aaguilea b07ed7817d Fixed small bug with edit menu
Signed-off-by: aaguilea <aaguilea@amazon.com>
2021-07-09 12:00:11 +01:00
AMZN-Alexandre Corcia Aguilera 4f523e496f Cherry Picking (lyn1751) (#1854)
* Cherry Picking (lyn1751)

Problem with DCO so we need to cherry pick this branch.

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

* Cherry picking #2

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

* Cherry picking 3

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

* Changed variables reverseurls
This was just changing some name variables.

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

* Changes from past PR

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

* changes from past PR and fixed small bug:
Also removed some legacy code from Resources.h

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

* couple of changes from actual PR

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

* fixed copyright issues for AR

Signed-off-by: aaguilea <aaguilea@amazon.com>
2021-07-07 13:28:59 +01:00
Chris Galvan d7574777a8 Resolved merge conflicts
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2021-07-02 12:42:44 -05:00
Steve Pham b4a2edec6a Final update copyright headers to reference license files at the repo root (#1693)
* Final update copyright headers to reference license files at the repo root

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

* Fix copyright validator unit tests to support the stale O3DE header scenario

Signed-off-by: spham <spham@amazon.com>
2021-06-30 19:51:55 -07:00
Esteban Papp e34e36cb35 git mv Code\Sandbox\Editor Code/Editor
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-06-29 13:55:28 -07:00