Commit Graph

293 Commits

Author SHA1 Message Date
Peter Knepley
a761df772b Fix slate styles not working with SlateBrushAssets
Merging 2686963

//depot/UE4-UT/...

to //depot/UE4/...

#codereview Nick.Atamas

[CL 2686975 by Peter Knepley in Main branch]
2015-09-10 16:22:56 -04:00
Matt Kuhlenschmidt
65e46bcce8 Merging CL 2684004 using UE4_to_UE4-Orion
Implemented a basic slate resource handle for fast access without doing map lookups from Brush -> Rendering resource.  Not hooked up to anything yet

[CL 2686668 by Matt Kuhlenschmidt in Main branch]
2015-09-10 13:50:53 -04:00
Gil Gribb
5baba952a3 UE4 - Fixed malloc churn problem with FHittestGrid::FCachedWidget
[CL 2683195 by Gil Gribb in Main branch]
2015-09-08 12:24:26 -04:00
umerov1999
5eebab6b1e PR #1525: Update SlateDynamicImageBrush.cpp (Contributed by umerov1999)
[CL 2683115 by Matt Kuhlenschmidt in Main branch]
2015-09-08 11:31:52 -04:00
Gil Gribb
baa94463d2 UE4 - Fixed slate vertex and index recycling to not grow each batch to be the size of the largest one.
[CL 2682976 by Gil Gribb in Main branch]
2015-09-08 09:52:18 -04:00
Marc Audy
d25958e352 Use SizeSquared comparisons instead of Size where trivially replaceable
[CL 2681970 by Marc Audy in Main branch]
2015-09-06 12:42:18 -04:00
Matt Kuhlenschmidt
190b803d56 Merged CL 2672323 from Orion
Fix multithreaded rendering crashes due to race conditions in the Slate renderer

[CL 2672334 by Matt Kuhlenschmidt in Main branch]
2015-08-28 11:22:48 -04:00
Michael Noland
105bca4467 Slate: Changed a local reserve in HittestGrid::GetBubblePath to use an inline allocation
[INTEGRATE] Change 2668351 by Michael.Noland@mnoland-T2784-HDepot on 2015/08/25 16:46:43

[CL 2668704 by Michael Noland in Main branch]
2015-08-25 19:44:22 -04:00
Gil Gribb
048abc0de6 UE4 - merged fix for slate creating stats before main starts
[CL 2667507 by Gil Gribb in Main branch]
2015-08-25 10:25:27 -04:00
Michael Noland
37c914d1e7 Slate: Removed an unnecessary pass-by-value in FindPathToWidget
[INTEGRATE] Change 2667195 by Michael.Noland@mnoland-T2784-HDepot on 2015/08/25 02:10:52

[CL 2667197 by Michael Noland in Main branch]
2015-08-25 02:11:58 -04:00
Nick Atamas
312c9b7cea Integrating CL 2655118, 2655170 from UE4-Oriont/... to UE4/...
Now using FPopupMethodReply instead of EPopupMethod to correctly drive throttling.

[CL 2666291 by Nick Atamas in Main branch]
2015-08-24 13:22:04 -04:00
Nick Darnell
0933d8f561 UMG/Slate - Continuing to itterate on performance and improving the invalidation panel. Enhanced the rendering pipeline to allow cached buffers to be passed along with an offset so that we could do a final matrix transform on it if need be. Fixing a rather large memory leak on the invalidation panels never being able to re-use old element lists because they were always being used by the render thread. Adding more stats. The PS4 BeginNamedEvent calls now properly respect the color being passed as an argument and will display it in Razor when in arguement coloring mode. Widgets now know what class created them, in all but shipping. Very useful for logging stat/debugging information in a non-editor build.
[CL 2663649 by Nick Darnell in Main branch]
2015-08-20 19:00:36 -04:00
Matt Kuhlenschmidt
4053e72790 Added a way to globally invalidate all invalidation panels.
This is expensive and should only be used when there is some major change to a resource that could be held onto by the invalidation panels

Merged from Orion CL 2659385

[CL 2659740 by Matt Kuhlenschmidt in Main branch]
2015-08-18 15:15:01 -04:00
Nick Darnell
6688b23a22 Slate - Updating the standalone D3D and OpenGL Slate renderers to do a similar sRGB packing in the vertex buffer color, as well as a sRGB standards compliant transform in the pixel shader instead of the pow(color, 2.2) gamma conversion it was previously performing. Since Photoshop does not display in the Mac's native gamma space of 2.2, and instead sticks to the sRGB standard, I've made it so the standalone OpenGL renderer also uses the sRGB standard. Probably going to do the same in the RHI version as it doesn't make a ton of sense to vary it across platforms for Mac when Photoshop doesn't vary.
#codereview justin.sargent
#pandacake

[CL 2657733 by Nick Darnell in Main branch]
2015-08-17 09:40:01 -04:00
Nick Darnell
3669cd22f7 UMG/Slate - Re-enabling border drawing.
[CL 2656329 by Nick Darnell in Main branch]
2015-08-14 13:33:42 -04:00
Nick Darnell
7bdd756bcb Build fix for real this time.
[CL 2656179 by Nick Darnell in Main branch]
2015-08-14 11:19:09 -04:00
Nick Darnell
b42a7c327c Build error fix.
[CL 2656156 by Nick Darnell in Main branch]
2015-08-14 11:01:33 -04:00
Nick Darnell
f7a425e477 UMG / Slate - Now reporting cached materials and textures to prevent garbage collection of cached resources. Additionally moving the resource proxy creation to inside of the Make* functions in order to have a better stack trace when a junk GC'ed resource is accessed.
[CL 2656118 by Nick Darnell in Main branch]
2015-08-14 10:40:05 -04:00
Nick Darnell
d480d098c7 UMG / Slate - Some cleanup in a few classes.
[CL 2656106 by Nick Darnell in Main branch]
2015-08-14 10:36:03 -04:00
Nick Darnell
8607146449 UMG/Slate - The invalidation panel can now cache a GPU Buffer for a set of drawable elements, this avoids needing to go through the element batcher which can be very expensive on large UI set. Currently only supported on the RHI Renderer. This change required we introduce a sort of logical layering system into the rendering stack for Slate, so that volatile elements that could expand to be N long, could be sorted relative to their parent in terms of layer id, but without knowing that ahead of time, it became impossible to properly sort child elements that came after the volatile set. The logical layering avoids that by allowing us to sort each logical group independently, and as we traverse the tree only sort along each branch.
[CL 2655144 by Nick Darnell in Main branch]
2015-08-13 16:03:06 -04:00
Nick Darnell
2b3b3b19de UMG / Slate - There are now several low level flags on widgets to help reduce calls to virtual functions that are not implemented, bCanEverTick, bCanEverFocus, bCanHaveChildren, possibly more in the future.
[CL 2655142 by Nick Darnell in Main branch]
2015-08-13 16:02:46 -04:00
Bob Tellez
0960cb8b73 [AUTOMERGE]
#UE4 Using Reset instead of Empty to clear vert batch lists since the number of elements in the list isnt necessarily the max

#codereview Matt.Kuhlenschmidt

--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2644284 by Bob.Tellez on 2015/08/04 18:59:06.

[CL 2644285 by Bob Tellez in Main branch]
2015-08-04 18:59:24 -04:00
Justin Sargent
4b461a5d42 Exposed the ability to customize the keyboard focus brush used by default by all SWidgets.
Merging using UE4-To-UE4-LauncherDev

[CL 2632875 by Justin Sargent in Main branch]
2015-07-24 17:32:35 -04:00
Jamie Dale
17caf2d389 Removed SLATE_TEXT_ATTRIBUTE and SLATE_TEXT_ARGUMENT
They were deprecated in 4.8, and have been removed for the 4.10 release.

#codereview Matt.Kuhlenschmidt

[CL 2629139 by Jamie Dale in Main branch]
2015-07-22 13:08:01 -04:00
John Barrett
562d137362 Optimized Slate font caching code and refactored related classes.
- Check whether a character exists within a font set before attempting to load it, and replace with substitute character if not, to minimize FreeType API calls and excessive caching
- Added ability to customize font fallback level; normally if a character does not exist in a font, a localization fallback font set is checked, and then a last resort font set, which can potentially be expensive
- Optimized font texture atlas, to store empty/filled slots in linked lists, instead of in a single binary tree with expensive searches, and stopped tracking empty slots smaller than 2x2 pixels
- Optimized some unnecessary calls to FreeType API

[CL 2629056 by John Barrett in Main branch]
2015-07-22 12:12:02 -04:00