Files
UnrealEngineUWP/Engine/Source/Runtime/OpenGLDrv/Private/Windows/OpenGLWindows.cpp

1025 lines
28 KiB
C++
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
/*=============================================================================
OpenGLWindowsLoader.cpp: Manual loading of OpenGL functions from DLL.
=============================================================================*/
#include "OpenGLDrvPrivate.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "Misc/ScopeLock.h"
/*------------------------------------------------------------------------------
OpenGL function pointers.
------------------------------------------------------------------------------*/
#define DEFINE_GL_ENTRYPOINTS(Type,Func) Type Func = NULL;
ENUM_GL_ENTRYPOINTS_ALL(DEFINE_GL_ENTRYPOINTS);
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3807299) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3528776 by Yannick.Lange Allow thumbnails to be captured from a viewport always. #jira UE-45392 Change 3564359 by Yannick.Lange Back out part of changelist 3528776: Revert allowing thumbnails to be captured from a viewport to fix UE-47827 & UE-47785. #jira UE-47785, UE-47827 Change 3740671 by Matt.Kuhlenschmidt Make the font editor canvas respect dpi scale Change 3740810 by Josh.Engebretson PR #4138: Log GenerateProjectFiles to file when using UVS (Contributed by projectgheist) #jira UE-51358 Change 3740939 by Cody.Albert Fixing some #ifdefs that should be #ifs Change 3741089 by Alexis.Matte Make sure bImportBoneTracks is set to true when importing into level #jira UE-51999 Change 3741101 by Alexis.Matte Fix the import material search #jira UE-51857 Change 3741690 by Jamie.Dale Guard against an invalid index in SLocalizationCommandletExecutor::Tick #jira UE-52067 Change 3741710 by Jamie.Dale Made a static variable also const Change 3741724 by Michael.Dupuis Added missing shader cache Change 3742037 by Lauren.Ridge Details panels can now "own" a color picker so a different details panel refreshing doesn't close it. Also fixed refreshing state of the graph after changing texture or color parameter values Change 3742250 by Matt.Kuhlenschmidt PR #4185: Output Log Filter tooltip shows %s instead of category. (Contributed by LordNed) Change 3742308 by Lauren.Ridge Adding axis input to the material editor's viewport client Change 3742380 by Matt.Kuhlenschmidt USD importer improvements - USD now stores source file information for reimports - Fixed bug where no geometry would be imported if an exporter had set a time code even without animated data - Prevent a crash if a mesh doesnt have enough valid data to be imported Change 3742536 by Matt.Kuhlenschmidt Remove usd wrapper test project Change 3743564 by Alexis.Matte Fix skeletal mesh screen size auto set value when importing a LOD #test none #jira UE-52100 Change 3743582 by Lauren.Ridge Fixing non-desktop compiles Change 3743598 by Lauren.Ridge Fixing shadowed variable by renaming the global color picker weak ptr variable. Change 3743636 by Lauren.Ridge Creating a new parameter immediately allows naming Change 3743855 by Michael.Dupuis Added missing shader from cache Change 3744277 by Lauren.Ridge Don't show empty Global group if it only contained the material layer param. Change 3744330 by Lauren.Ridge Clarifying "no parameter" text Change 3744529 by Lauren.Ridge Making Save to Child and Save To Sibling buttons work for material layer params, show on material layer param panel Change 3744668 by Chris.Bunner Added shared layer input collection asset, a list of float/texture redirectors that allow setting globally in a material graph then retrieving within layer/blend graphs. Added output for number of unique shaders generated by a particular material instance. Show instruction counts when working on a material layer. Relaxed restrictions on material layers, base MA input is now optional. #jira UETOOL-1271, UETOOL-1278, UETOOL-1279 Change 3744669 by Chris.Bunner Added automated test for material layers, layer/blend instances and shared inputs. Change 3744754 by Laz.Matech Adding localization data to QAGame for the Realtime Preview localization test. #jira none Change 3744860 by Michael.Dupuis #jira UE-52049 : Do not update random stream in most case, only when adding new instances, or filling from built data Change 3744965 by Chris.Bunner Rebuilt lighting in automated test map and updated reflection capture screenshot. Change 3746015 by Michael.Dupuis #jira UE-52090: Added missing shader for forward rendering Change 3746038 by Michael.Dupuis #jira UE-51494: Make sure index is valid for this instance as instances from template and instance could mismatch due to in level changes Change 3746076 by Michael.Dupuis Removed unused code Change 3746998 by Tim.Gautier QAGame: - Renamed UMG_RealtimePreview > UMG_InEditorPreview - Moved UMG_InEditorPreview into UMG > Localization, setting up for future Localization tests Change 3747206 by Arciel.Rekman Linux: make UI scale more coarse to prevent unnecessary scaling (UE-52086). - Monitors whose physical dimensions fall in range of 80-110 DPI should still have scale=1.0. (Edigrating CL 3740942 from Release-4.18 to Dev-Editor) Change 3747211 by Arciel.Rekman Make failure to launch SCW more apparent to the user (UE-47263). - Fixes frequent crash on Linux. (Merging 3747070 from Release-4.18 to Dev-Editor) Change 3747726 by Tim.Gautier QAGame: Resubmitting updated Loc files Change 3747872 by Tim.Gautier QAGame: Resubmitting compiled Loc assets Change 3748118 by Lauren.Ridge Adding help text to the material layers preview tab Change 3748398 by Lauren.Ridge Fixing tooltips for the material layer read-only preview Change 3748565 by Arciel.Rekman Linux: fix RHIs settings being wrong when removed via project properties (UE-51203). - This was a deeper issue with config system than just Linux RHIs. - This is a better fix than one submitted to 4.18 branch in CL 3747086. Change 3749441 by Matt.Kuhlenschmidt PR #4201: Fix a typo in a comment. (Contributed by dneelyep) Change 3749442 by Matt.Kuhlenschmidt PR #4195: Incorrect specifier used for FText::Format (Contributed by projectgheist) Change 3749496 by Matt.Kuhlenschmidt Fix static analysis Change 3749805 by Lauren.Ridge Fixing reset to default on MaterialLayerParam in base material Change 3749838 by Lauren.Ridge Also correctly resetting names and layer states Change 3750442 by Mieszko.Zielinski Added a safety check which addresses the crash #UE4 Note that this is a temp fix. A proper fix is making sure ConvexShapeIndices doesn't contain any duplicates and will be inplemented in Dev-Framework. #jira UE-52123 Change 3752266 by Arciel.Rekman OpenGL: remove PLATFORM_WINDOWS exceptions. - Discrepancy in behavior between Windows and Linux OpenGL is unhelpful for bug reproducibility. - VAB bug should have been fixed long ago (on both platforms). Change 3752929 by Arciel.Rekman Linux: avoid crashing on unknown drivers. - See https://answers.unrealengine.com/questions/724100/crashes-on-startup-after-first-run.html - Checks in IsDeviceIntel() and such fail if the drivers were not detected. Change 3753254 by Michael.Dupuis Added missing shader for shader cache Change 3753426 by Michael.Dupuis #jira UE-5751: Added the possibility to change material instance exposed params at runtime using a MID for texture, vector and scalar for 1 component or all components Change 3753440 by Alexis.Matte Fix fbx scene importer morph target import crash #jira UE-52255 Change 3753457 by Michael.Dupuis build fix Change 3753700 by Chris.Bunner Make GetSharedInput preview fallback always available in editor as this should handle previews, thumbnails and other editor-only cases. Refactor to remove duplicate code in material translator. Material layer expressions are required for client load, fixes cooked builds using layer instances in the base material layer stack. Change 3754760 by Chris.Bunner Tidying up EngineTest/ShaderModels map. Change 3754765 by Arciel.Rekman Avoid placing tooltip windows under the cursor (UE-12288). - Fixes inability to use some corners of the screen on Linux (the tooltips there aren't click-through). Change 3754788 by Matt.Kuhlenschmidt Fix details panel crash after compiling blueprints that have edit conditon properties Change 3754933 by Christina.TempelaarL Fixed typo in heightLerp (transistion->transition). #jira UE-46736 Change 3754946 by Cody.Albert Update loading movie code to properly calculate delta time when throttled at 60fps Change 3755059 by Jamie.Dale Fixed game preview language not updating in realtime while PIE was enabled #jira UE-52209 Change 3755130 by Jamie.Dale Fixed game preview language not updating from native when switching between preview languages #jira UE-52348 Change 3755664 by Michael.Dupuis Fixed compile warning Change 3755714 by Yannick.Lange Always allow capturing thumbnails from viewport. This also hides the thumbnail editing UI when a thumbnail was captured from a viewport. Change 3755944 by Alexis.Matte Fix crash when importing morph target with "built in" tangent option #jira UE-52319 Change 3756109 by Christina.TempelaarL fixed FBX importer Import Textures tooltip, UMaterial -> Material in tooltip text #jira UE-48389 Change 3756169 by Jamie.Dale Added plural form pattern to SContentBrowser::GetPathText Change 3756493 by Laz.Matech Updating Localization content to further test InEditor Preview Language in UMG #jira none Change 3758336 by Alexis.Matte Fix a crash when importing morph target there was a unsync between some buffer depending on the import options #jira UE-52319 Change 3758947 by Jamie.Dale Fixed cursor position regression in search boxes This was caused by a call to SetText that was added in CL# 3627864 This caused the text to update as it was changed, which made the cursor jump to the end of the text and made it impossible to type in the middle of a search term. This was done as a bound FText value had been passed to the InitalText of SSearchBox, which made the text resolution behave strangely. InitalText should always be a value, and SSearchBox now resolves any bindings during its constructor. #jira UE-48874 Change 3759000 by Laz.Matech Submitting the .PO file for CL 3756493 #jira none Change 3759480 by Matt.Kuhlenschmidt Safe guard against brush details crash #jira UE-52278 Change 3759665 by Matt.Kuhlenschmidt PR #4214: UE-52249: Use valid PreviewShadowsIndicatorMaterialName (Contributed by projectgheist) Change 3761211 by Matt.Kuhlenschmidt Remove the restriction that a level must be writable to be locked/unlocked. Fixed duplicate icons being used by the level browser Change 3761304 by Chris.Bunner MaterialAttributeLayers graph node BaseMA input is no longer required. Note: Requires "Use Preview Value" set to true on inputs. Change 3761307 by Chris.Bunner New material layers and blends will have "Use Preview Value" set to true by default to avoid the need for connected inputs - Missed file on previous commit. Change 3761357 by Chris.Bunner Renamed material shared input enum. Change 3761419 by Chris.Bunner Updating material layers automated test assets after recent changes. Reverted some naming changes so existing screenshot tests can be reused. Change 3762058 by tim.gautier QAGame: Adding Material Layer assets for testing (Content/Materials/LayerFunction) Change 3763328 by Matt.Kuhlenschmidt Fix Slate warning at editor startup Change 3763354 by Alexis.Matte Fix skeletal mesh material assign when reducing a LOD that was import from a file using simplygon reduction #jira UE-52505 Change 3763501 by Matt.Kuhlenschmidt Prevent shared asset thumbnail pools from having their resources forcefully released when they are in use. ReleaseResources is now private and only called on destruction of the pool Change 3763574 by Matt.Kuhlenschmidt Fix slate material box brushes not being keyed off image size #jira UE-40219 Change 3763678 by Jamie.Dale Disable realtime level editor viewport if running under remote desktop This makes the main editor window much more responsive by default under remote desktop Change 3763679 by Jamie.Dale Added asset caching metrics for the loc gather Change 3763693 by Matt.Kuhlenschmidt Changed the code that activates the actor details tab when selection changes to a flash. There are simply too many things that change the selection and steal focus away from a tab being used #jira UE-51754 Change 3763826 by Michael.Dupuis Fixed Fortnite cooking crash Change 3763864 by Harrison.Moore Adding New Default 'LayerBlend' assets Change 3764028 by Christina.TempelaarL #jira UE-47695 Auto LOD bug Moved the sections dropdown to the LOD Picker category and modified Custom cb behavior, based on suggestions from charlie. Change 3764031 by Christina.TempelaarL #jira UE-47695 Auto LOD in StaticMeshViewer moved LOD combo widget to LOD picker category and hide custom checkboxes until custom checked. Change 3764076 by tim.gautier QAGame: Submitting UMG_Multitouch_test for initial Multitouch testing Change 3764263 by Matt.Kuhlenschmidt Fix the floor mesh thumbnail Change 3764284 by Chris.Bunner Removing some asserts for cases that can validly fail and are already handled. Change 3764372 by Matt.Kuhlenschmidt PR #4196: Show edit icons in editor (Contributed by projectgheist) Change 3764388 by Chris.Bunner Fixing logic for material, function and instance updating active materials and instances and their editors. Change 3764674 by Harrison.Moore test materials added, Blend updates Change 3764681 by Harrison.Moore Adding HMtest map Change 3766238 by Chris.Bunner Material layer callers need to let their internal material function calls update their inputs/outputs. Change 3766556 by Jamie.Dale Fixed crashes that could happen if some of the data table panels were closed We now always create the underlying widgets, even if they're currently hidden from view #jira UE-52552 Change 3767753 by Chris.Bunner When rebuilding a material function instance editor we must re-create and re-apply the proxies as the expressions have likely changed. Take care to maintain local parameter changes as these have not been saved yet. Change 3768719 by Michael.Dupuis #jira UE-52521: Prevent possible crash if a segment have no point or invalid point Change 3769157 by Jamie.Dale Fixed incorrect text selection if selecting via double click beyond the bounds of the line It would previously select the second to last word, rather than the last word #jira UE-51609 Change 3769159 by Harrison.Moore Belica Test update, New layer blends updated with texture type fix. Change 3769205 by Jamie.Dale Fixed Windows file save dialog not appending the correct extension when there were multiple options available #jira UE-52180 Change 3769220 by Harrison.Moore Layer blend tweaks Change 3769292 by Jamie.Dale Removing redundant code Applying the correct package ID, only to then strip it off again is rather pointless Change 3769479 by Arciel.Rekman UBT: Use response files for compiler when compiling for Linux. - Some command lines are too long when cross-compiling on Windows. Change 3769920 by Arciel.Rekman Linux: convert yet another initialization crash to a user-friendly message (UE-52457). #jira UE-52457 Change 3771055 by Alexis.Matte Make sure we set the Used by morph target material flag to material use by the morphtarget instead of all skinned mesh component Use the morph vertex factory only for section that has active morph target #jira UE-51483 Change 3771135 by Michael.Dupuis Fixed fortnite cooking Change 3773054 by Yannick.Lange Avoid loading viewport interaction assets when starting the editor. Change 3774184 by Arciel.Rekman Linux: disabled some gdb visualizers until the issue is fixed. - CL 3773942 by CengizT. Change 3774303 by Matt.Kuhlenschmidt Pull requests to fix various typos Change 3774305 by Matt.Kuhlenschmidt PR #4237: Visual Studio Repeatedly Opens (UE-51608) (Contributed by LordNed) #jira UE-51608 Change 3774701 by Arciel.Rekman OpenGL: fix ARB callback errors when hitting Build Lighting. - Merged from 4.18 shelf. Change 3775812 by Matt.Kuhlenschmidt Fix One-off crash undo-ing while working with Material Params / Material Functions #jira UE-52680 Change 3775849 by Matt.Kuhlenschmidt More info for UE-52610 Change 3775850 by Matt.Kuhlenschmidt Guard against mesh paint crashes #jira UE-52618 Change 3775904 by Matt.Kuhlenschmidt Added logging to track down window shutdown issues Change 3775913 by Matt.Kuhlenschmidt Pull requests for typos #jira UE-52751, UE-52748 Change 3776676 by Jamie.Dale Fixed being able to insert tabs into spin boxes with units #jira UE-52776 Change 3777006 by Michael.Trepka Process Mac windowDidBecomeMain and windowDidResignMain notifications immediately instead of deferring them. This solves issues with Slate code that closes and immediately opens new menu windows. Previously closing a window would schedule menu parent's activation event that could be processed after another menu's creation, making it immediately disappear. #jira UE-52145 Change 3777170 by Arciel.Rekman Linux: use Xft.dpi (most desktop environments expose their scale through that) as a DPI value (UE-52086, UE-52766). - Change by Brandon.Schaefer. - Limitation: no per-monitor DPI. (Edigrating CL 3776509 //UE4/Release-4.18/... to //UE4/Dev-Editor/...) Change 3777292 by Arciel.Rekman Linux: fix symbol collision causing problems with AMD drivers (UE-51843). - We cannot have elf_end() hidden, because libcuda.so calls elf_end from libnvidia-fatbinaryloader.so and this breaks linking monolithic binaries ("hidden symbol referenced in DSO"). - We cannot have elf_end() visible, because of a name collision with a different libelf used by AMD drivers. - The only possible workaround is to have elf_end() renamed. (Edigrating CL 3777242 from //UE4/Release-4.18/... to //UE4/Dev-Editor/...) Change 3777686 by Joe.Conley Blueprint editor variable type tooltips: fix case mismatch that was preventing type name to be displayed properly in soft object/class reference tooltips. Change 3778180 by Jamie.Dale Avoid a crash if a regex pattern or matcher outlive ICU during shutdown #jira UE-52770 Change 3778182 by Jamie.Dale Avoid a crash if a break iterator outlives ICU during shutdown Change 3778368 by Jamie.Dale Added missing pragma once Change 3778560 by Matt.Kuhlenschmidt Prevent non-shared DDC notification from triggering for epic internal builds Change 3778709 by Lauren.Ridge Copying 4.18.2 array reordering propagating to children fix (originally 3778547) Change 3779205 by Lauren.Ridge Duplicating 3776649 to fix a crash on compile due to partial GC of a widget. #jira UE-52260 Change 3779217 by Brandon.Schaefer GitHub #3678 Fix Setup.sh handling of special characters in PNG path #jira UE-46103 Change 3779341 by Brandon.Schaefer GitHub #3012 Use elemtry OS versions to set the ubuntu versions for depencies #jira UE-39364 Change 3780274 by Joe.Conley DataTables: Add documentation tooltips showing type information to header columns Change 3780840 by Alexis.Matte Do a re-import when user re-import LOD 0 Prevent importing more then MAX_SKELETAL_MESH_LODS #jira UE-52373 Change 3781067 by Arciel.Rekman Linux: fix OSSSteam cross-compilation (and CIS). - Broken by previous change that put compile-time arguments into response file and bulk-replaced \ with /, which affected things like Definitions.Add("STEAM_SDK_VER_PATH=TEXT(\"Steam" + SteamVersion + "\")"); Change 3781110 by Christina.TempelaarL #jira UE-47695 moved Static Mesh Editor LOD menu from tools to viewport tool bar Change 3781531 by Christina.TempelaarL #jira UE-47695 added LOD menu to Static Mesh Editor viewport Change 3781663 by Alexis.Matte Fix for cancel export fbx when previewing animation sequence export #jira UE-49743 Change 3782007 by Jamie.Dale Improved the ability to lockdown available game languages In addition to the previous "DisabledCultures" array, you can now add an array of "EnabledCultures" (using the same per-build config filters) to explicitly list the cultures that are allowed to be used in your build (if the list is empty, then everything is allowed unless otherwise disabled). This also stops the game from attempting to fallback to the native language if the native language has been disabled (we will fallback to the first available language instead). Change 3782122 by Jordan.Walker test assets for material layers Change 3782131 by Joe.Graf Added support for IOS and TVOS targets when generating CMake files on Mac Change 3782218 by Christina.TempelaarL fixing include paths and capitalization causing build errors. Change 3783171 by Michael.Dupuis Added the possibility to override default LOD rules for visible primitive and whole scene shadow casting primitive Added the possibility to store Custom data per view for the frame duration Change 3783172 by Michael.Dupuis #jira UE-35097 : Refactored landscape rendering logic to improve general performance while using new custom data and custom lod feature Exposed many new settings to control component using sub sections rendering, tessellated component, shadow should be include into tessellation, tessellation falloff based on camera location Changed how LOD distribution is done to be in screen size instead of distance. Give the possibility to have a different distribution for LOD0 vs the other one. Change 3783174 by Michael.Dupuis missing file to landscape refactor Change 3783315 by Lauren.Ridge Changing a parameter in the Material Parameter Panel now dirties the material correctly. Changing a layer parameter in the Material Instance Editor now refreshes the details panel as well. Change 3783374 by Chris.Bunner Adding MaterialSharedInputCollection to hidden list when MaterialLayers disabled. Change 3783617 by Chris.Bunner Added a Channel Mask material expression parameter. Wraps up a vector parameter and dot product with a single channel selection interface, internally a regular vector parameter. Fixed GetSharedInput failing to return the preview texture in the Function Instance editor. Change 3783676 by Lauren.Ridge Adding access to a material function instance's parent in the Material Instance Editor Change 3783751 by Michael.Trepka PR #4248: Fixed C++ std in generated Xcode project to match rest of engine (C++14) (Contributed by Bo98) Change 3783971 by Brandon.Schaefer Rename/Move all deploy/Deploy folder/files into AlembicDeploy. Due to case sensitivity on linux, need to maintain the correct case. #jira UE-37631 Change 3783992 by Michael.Dupuis #jira UE-35097: Remove tessellation on editor tools Fixed a case where tessellation multiplier at 0 would cause the component to not be visible Fixed minor tessellation falloff calculation error Change 3784502 by Chris.Bunner Restored missing bool setter. Coding standards fix. Change 3784614 by Arciel.Rekman Linux: better error message when running out of inotify watches (UE-50459). #jira UE-50459 Change 3784620 by Chris.Bunner Updated LayerBlend_TextureMask to use new ChannelMask parameter. Change 3784725 by Lauren.Ridge Fixing groups not sorting correctly Change 3785645 by Chris.Bunner Non-editor compile fix. Change 3785666 by Arciel.Rekman Linux: restore ability to use Wayland instead of X11. - SDL libs recompiled and Wayland version is set to lower one to be compatible with the compositor shipped on Ubuntu 16.04 LTS - Change by Anthony.Bills. Change 3785708 by Arciel.Rekman Linux: implement voice capture using SDL (non-server only) (UE-51298). - Based on pull request #4131 by mkirzinger. Change 3785878 by Arciel.Rekman UBT: add VSCode to default generators on Linux. Change 3786058 by Arciel.Rekman Do not add dependencies on other RHIs for servers (UE-48894). - Pull request #3944 contributed by pfoote. #jira UE-48894 Change 3786845 by Arciel.Rekman Code changes to make gcc support easier (UE-51978). - Contributed by a licensee (pull request #4181 by tomwardio "Collection of fixes to allow UE4 to be compiled by GCC on Linux"). Change 3786871 by Matt.Kuhlenschmidt Fix static analysis Change 3786883 by Matt.Kuhlenschmidt Fix HTML5 Change 3786923 by Matt.Kuhlenschmidt Fix engine layer blend asset referencing game content. This is not allowed #jira UE-52888 Change 3786927 by Brandon.Schaefer Linux: Alembic support #jira: UE-37631 Change 3786994 by Arciel.Rekman Remove support for /-prefixed switches (UE-47429). - They collide with absolute file paths on Mac/Linux and a source of inconsistencies between platforms. #jira UE-47429 Change 3787032 by Michael.Trepka Initial support for building and running Niagara on Mac Change 3787035 by Brandon.Schaefer GitHub #4166 Undef GL entrypoint macros after use #jira UE-51663 Change 3787144 by Lauren.Ridge Fixing material parameter group association resetting after undo #jira UE-52514 Change 3787839 by Jordan.Walker updated engine level layer blends to not include game content switched them to use Chris B's new mask selection node Change 3787967 by Lauren.Ridge Fix for broken layer groups, related crash Change 3787991 by Lauren.Ridge Fixing thumbnails for material function instances, resolving not being able to delete new function instances #jira UE-52967 Change 3788226 by Michael.Trepka Fixed a deadlock when closing Mac CrashReportClient which resulted from changes in CL 3777006 #jira UE-53002 Change 3788557 by Brandon.Schaefer Fix shadow compiler warnings around our includes Change 3789700 by Lauren.Ridge Experimental setting for turning on Material Layers - off by default. Change 3789703 by Jamie.Dale Harden the LocMeta and LocRes loading to prevent loading files that are too new Change 3789706 by Jamie.Dale Added localization ID to the package summary This will allow the localization gatherer to query it without having to load the entire package Change 3789708 by Jamie.Dale Added a way to display and reset the package localization ID via the Content Browser Change 3789709 by Jamie.Dale Added warning for duplicate package localization IDs when gathering asset localization Change 3789713 by Jamie.Dale Special case zero-width space in the text shaper to avoid fonts rendering the fallback glyph Change 3789736 by Christina.TempelaarL Fixed recently-introduced StaticMeshEditor bug - changing LOD dropdown menu selection was not changing LOD sections category. Change 3789853 by Chris.Bunner Material instances should return overridden values when the caller is requesting the default, not leaving the request to fall through to the base material. #jira UE-52796 Change 3790185 by Brandon.Schaefer Add better error handling when using new SDK for linux on windows. #jira UE-50527 Change 3790195 by Jamie.Dale Fixed line-ending inconsistency when retrieving rich-text We were using LINE_TERMINATOR when getting the offsets, but \n when getting the text Change 3790473 by Chris.Bunner When finding expression by GUID, only return FunctionCall result if expression was found. Fixes cases where searched-for expression is after a FunctionCall in the expressions list. #jira UE-52729 Change 3790650 by Arciel.Rekman UBT: Linux: print build details first before refusing to build. - Tweak to the previous feature that we forgot. Change 3790681 by Arciel.Rekman UBT: Linux: tweaks to wording (SDK -> toolchain). Change 3791459 by Brandon.Schaefer Linux: libcurl rebuild for version 7.57 #jira OGS-870 Change 3791533 by Arciel.Rekman Better error messaging when UMB is unusable (UE-50658). - Should be replaced by a better fix, but merging this workaround in case the better fix will not be done in time for 4.19. (Edigrating CL 3789387, 3789787 from Release-4.18 to Dev-Editor) Change 3791885 by Matt.Kuhlenschmidt Fix static analysis #jira UE-53097 Change 3791910 by Brandon.Schaefer Fix for not using proper libraries on x86_64 for libcurl #jira OGS-870 Change 3792017 by Jamie.Dale Fixed a conflict between the path settings and favorite settings Change 3792022 by Jamie.Dale Fixed a crash that could happen when performing ARO on the property chains of a struct #jira UE-52999 Change 3792025 by Jamie.Dale Changed package summary localization ID to be versioned by the object version to avoid changing data in unversioned cooked assets Change 3792066 by Michael.Dupuis #jira UE-5751: Fixed possible crash when using dynamic matrial instance Added missing shaders for landscape when using tessellation Change 3792718 by Arciel.Rekman OpenGL: bringing back Windows workarounds to unblock copy-up (UE-52534). #jira UE-52534 Change 3793018 by Mike.Erwin new glTF importer plugin Import StaticMesh, Material, and Texture assets from the Khronos glTF 2.0 format. Text (.gltf) and binary (.glb) files are supported. Limitations: - There is no options UI. All assets from the file are imported. - The glTF format can describe animation and whole scenes, but the initial version of this plugin does not attempt either. - Data encoded as Base64 data URI is not supported. This is uncommon but is part of the glTF spec. #jira: UE-50695 Change 3793626 by Matt.Kuhlenschmidt Logging for HTML5 issue Change 3794034 by Matt.Kuhlenschmidt Fix CIS Change 3794271 by Michael.Dupuis #jira UE-53133: Fxed shadow calculation when using non whole scene shadow Change 3794273 by Chris.Bunner Function call material nodes should be created with no outputs by default. #jira UE-53127, UE-53128, UE-52616 Change 3794334 by Lina.Halper - Fix animation reinitializing when just setting new animation with single node - Deprecated GetScalarParameterDefault and replace that with GetScalarParameterDefaultValue #jira: UE-52796 Change 3794338 by Michael.Dupuis Fixed lod visual popping when texture mip used for landscape is not ready Change 3794350 by Mike.Erwin Fix glTF importer header includes. Build was failing on Linux. Change 3794357 by Michael.Dupuis #jira UE-53166: buildfix: removed phase 2 landscape optim leftover... Change 3794549 by Michael.Dupuis #jira UE-53166 : fixed compile error Change 3794755 by Matt.Kuhlenschmidt Fix automation warning Change 3794910 by Lina.Halper Change material default value to be red to keep the behavior same. - Previous code was getting default value of parent, which was wrong, but now since we're grabbing correct value, it's not doing what it meant to do. Changed content to keep same value as parent as default. Change 3795296 by Mike.Erwin glTF: fix Linux build errors A variable was being shadowed. The other errors are due to an obscure corner of the C++ spec which clang enforces. https://stackoverflow.com/questions/21900237/do-i-really-need-to-implement-user-provided-constructor-for-const-objects #jira UE-53204 Change 3797313 by Chris.Bunner Re-built lighting in Rendering/ShaderModels automated test map and updated failing screenshots. #jira UE-53198 Change 3803962 by Jamie.Dale Fixed struct instances not comparing against the correct default values when gathering for localization Change 3804771 by Michael.Dupuis Back out changelist 3783171 Change 3804772 by Michael.Dupuis Back out changelist 3783172 Change 3805258 by Michael.Dupuis Added missing shader cache for landscape Change 3806105 by Matt.Kuhlenschmidt Disable harware benchmarking during automation tests, commandlets, and on the build machine Change 3806438 by Michael.Dupuis #jira UE-53228: Fixed rendering path of new landscape optim when using GDoInitViewsLightingAfterPrepass(used in Orion) Change 3806577 by Matt.Kuhlenschmidt Change plugin uploading to crash reporter to only do so in editor builds Change 3806588 by Michael.Dupuis Remove temp test version in landscape version Change 3806900 by Jamie.Dale Fixed 'inconsistent DLL linkage' error when using older versions of Python 2.7 #jira UE-53353 Change 3807125 by Jamie.Dale Fixed UBT warning after Dev-Core merge Change 3807299 by tim.gautier QAGame: Checking in test asset M_LandscapeMaterial_Foliage, quicker repro for UE-53442 [CL 3807911 by Matt Kuhlenschmidt in Main branch]
2017-12-14 10:07:13 -05:00
#undef DEFINE_GL_ENTRYPOINTS
PFNWGLCREATECONTEXTATTRIBSARBPROC wglCreateContextAttribsARB = NULL;
extern PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT_ProcAddress; // set in OpenGLDevice.cpp
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3122543 on 2016/09/13 by Ben.Woodhouse Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled. #jira UE-35878 Change 3122544 on 2016/09/13 by Ben.Woodhouse Shadow stencil optimisation with cvar (enabled by default) Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN. This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX) Shadow projection GPU time profiling : Test map with 35 characters, stationary directional light - 4ms-2ms on XB1 - 2.5ms to 0.9ms on PC (r9-390X) - 3ms-2ms on PS4 Paragon PS4 (roughly 20% reduced - from ~0.39ms) Change 3122687 on 2016/09/13 by Rolando.Caloca DR - vk - Fix ES31 crash Change 3122691 on 2016/09/13 by Rolando.Caloca DR - vk - Fixes for SDK 1.0.26.0 Change 3122778 on 2016/09/13 by Rolando.Caloca DR - vk - Fix number of layers on barrier Change 3122921 on 2016/09/13 by Rolando.Caloca DR - vk - Fix ES3.1 Change 3122925 on 2016/09/13 by Ben.Woodhouse Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor) #jira UE-35904 Change 3123016 on 2016/09/13 by Chris.Bunner Fixed adaptive tessellation, broken by CL 3089208 refactor. #jira UE-35341 Change 3123079 on 2016/09/13 by Rolando.Caloca DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily) Change 3123503 on 2016/09/13 by David.Hill #jira UE-25623 converted a check() to checkf() to include better diagnostic information. Change 3123617 on 2016/09/13 by Guillaume.Abadie Fixes artifact when the camera direction is almost parallel to a wide plane with SSR. #jira UE-35128 Change 3123743 on 2016/09/13 by Brian.Karis Separate mesh reduction interfaces for static and skeletal. Zero bad tangents from input mesh. Change 3125378 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them. Change 3125527 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix UT build and mac Change 3125741 on 2016/09/14 by Rolando.Caloca DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1) Change 3125763 on 2016/09/14 by Rolando.Caloca DR - vk - Added new Renderpass cache - Fix buffer barrier warning Change 3125769 on 2016/09/14 by Rolando.Caloca DR - Renamed cvar to r.DumpSCWQueuedJobs Change 3125771 on 2016/09/14 by Rolando.Caloca DR - Added support for SV_ClipDistance on GL3 & 4 Change 3125792 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix Odin and PS4 Change 3125880 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix Fortnite Change 3125968 on 2016/09/14 by Brian.Karis Removed comment Change 3126315 on 2016/09/15 by Ben.Woodhouse GPU profiler robustness - Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly - Simplify gathering logic - Fix race condition where we could read back queries before they're submitted on the RHI thread. - Fix for movie player stat gathering - disable gathering outside of the main engine tick #jira UE-35975 Change 3126792 on 2016/09/15 by Rolando.Caloca DR - vk - Release render pass cache Change 3126804 on 2016/09/15 by Rolando.Caloca DR - vk - Fix UpdateTexture2D() #jira UE-34151 Change 3126884 on 2016/09/15 by Rolando.Caloca DR - vk - Compile fix Change 3126953 on 2016/09/15 by Rolando.Caloca DR - Enable GPU capture when running OpenGL under RenderDoc - Will also set the memory mode to non coherent so not to kill performance on RenderDoc Change 3126966 on 2016/09/15 by Rolando.Caloca DR - Allow cooking for Vulkan SM4 to help with packaging Change 3127082 on 2016/09/15 by Guillaume.Abadie Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length. #jira UE-35367, UE-33602, UE-33603, UE-33604 #review-3125887 @brian.karis Change 3127130 on 2016/09/15 by Mark.Satterthwaite Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts. #jira FORT-25869 #jira UE-34263 Change 3127475 on 2016/09/15 by Rolando.Caloca DR - vk - Debug dump Change 3128131 on 2016/09/16 by Ben.Woodhouse (Integrated from //UE4/Private-Partner-NREAL/...) Alpha output support for postprocess materials (optional via a parameter) Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection) Change 3128135 on 2016/09/16 by Ben.Woodhouse GPU profiler (PS4) - remove bubbles between commandlist submissions from query times Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on) Also fixes some potential precision issues with unit GPU timing Change 3128247 on 2016/09/16 by Rolando.Caloca DR - vk - Cache framebuffers Change 3128593 on 2016/09/16 by Rolando.Caloca DR - vk - Fix for crash loading map #jira UE-36072 Change 3128759 on 2016/09/16 by Mark.Satterthwaite Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload. Change 3130236 on 2016/09/19 by Chris.Bunner Exposed full SceneCaptureComponent classes instead of select methods. #jira UE-35996 Change 3130388 on 2016/09/19 by Rolando.Caloca DR - Avoid crash when adding dynamic primitives #jira UE-35327 Change 3130393 on 2016/09/19 by Marc.Olano Improve vector noise tooltips & documentation Change 3130547 on 2016/09/19 by Ben.Woodhouse Fix for ensure fail when initializing point light shadowmaps. This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters. I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix. #jira UE-35837 Change 3130578 on 2016/09/19 by Daniel.Wright Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL Change 3130682 on 2016/09/19 by Rolando.Caloca DR - Better fix for UE-35327 #jira UE-35327 Change 3130767 on 2016/09/19 by Uriel.Doyon Better handling of color array in VisualizeComplexity code to prevent assert. #jira UE-29332 Change 3130965 on 2016/09/19 by Arne.Schober DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking. Change 3130967 on 2016/09/19 by Chris.Bunner Hid redundant texture sampler properties from texture object parameter. Hid redundant texture property input on texture parameter nodes. Fixed copy-paste error in expression texture parameter docs. #jira UE-32724 Change 3131118 on 2016/09/19 by Mark.Satterthwaite Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts. #jira FORT-25869 #jira UE-34263 Change 3131153 on 2016/09/19 by Rolando.Caloca DR - Fix recompute normals when triangles have a LHS tangent basis Integrate from 3028634 - Also make meshes that don't have morphs be able to run through the recompute normals path #jira UE-35472 Change 3131228 on 2016/09/19 by Mark.Satterthwaite Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early. #jira UE-35240 Change 3131246 on 2016/09/19 by Rolando.Caloca DR - Shrink gpu skinning permutations Change 3131261 on 2016/09/19 by Mark.Satterthwaite Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader. ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer. Change 3131265 on 2016/09/19 by Mark.Satterthwaite Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS. Change 3131271 on 2016/09/19 by Mark.Satterthwaite Use private memory for the Metal stencil SRV workaround needed on El Capitan. Change 3131273 on 2016/09/19 by Mark.Satterthwaite Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly. Change 3131280 on 2016/09/19 by Mark.Satterthwaite For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode. Change 3131283 on 2016/09/19 by Mark.Satterthwaite Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache. Change 3131402 on 2016/09/19 by Rolando.Caloca DR - Disambiguate callstack #jira UE-34415 Change 3131469 on 2016/09/19 by Rolando.Caloca DR - vk - Check if we can allocate descriptors off a pool Change 3131482 on 2016/09/19 by Rolando.Caloca DR - vk - Remove unused var Change 3131506 on 2016/09/19 by Mark.Satterthwaite With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS. Change 3131536 on 2016/09/19 by Rolando.Caloca DR - vk - Compile fix Change 3131564 on 2016/09/19 by Rolando.Caloca DR - vk - Submit Hint - Disable framebuffer recycling as its causing a hang Change 3131625 on 2016/09/19 by Mark.Satterthwaite Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required. Change 3131630 on 2016/09/19 by Mark.Satterthwaite More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful. Change 3131955 on 2016/09/20 by Gil.Gribb Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering) Change 3131978 on 2016/09/20 by Gil.Gribb CIS fix Change 3132584 on 2016/09/20 by Ben.Woodhouse Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling #jira UE-35937 Change 3132696 on 2016/09/20 by Mark.Satterthwaite Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it. Change 3132772 on 2016/09/20 by Mark.Satterthwaite Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient. Change 3132870 on 2016/09/20 by Ben.Woodhouse Fix mac compile error Change 3133049 on 2016/09/20 by Brian.Karis Changed light source shapes in reflection captures to use alpha Change 3133057 on 2016/09/20 by Brian.Karis Alphaed out on spot light cone as well. Change 3133263 on 2016/09/20 by Rolando.Caloca DR - vk - Debug names for objects Change 3133292 on 2016/09/20 by Rolando.Caloca DR - vk - Fix SRGB upload/formats Change 3133395 on 2016/09/20 by Rolando.Caloca DR - vk - SM5 fixes Change 3134026 on 2016/09/21 by Gil.Gribb Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering) Change 3134663 on 2016/09/21 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes. #jira UE-34347 Change 3134730 on 2016/09/21 by Arne.Schober DR - [UE-34481] - Fix minor brokenness found by Gil Change 3134792 on 2016/09/21 by Chris.Bunner Fixed compile errors for non-editor builds. Change 3135214 on 2016/09/21 by Rolando.Caloca DR - vk - Fix visualize texture - Dump memory when OOM (to track leaks) Change 3135225 on 2016/09/21 by Rolando.Caloca DR - vk - Ensure on exit if mem leak - Update fences if running wait for idle Change 3135672 on 2016/09/22 by Gil.Gribb Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering) Change 3135793 on 2016/09/22 by Rolando.Caloca DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer Change 3135816 on 2016/09/22 by Rolando.Caloca DR - Add names for d3d on renderdoc Change 3135894 on 2016/09/22 by Chris.Bunner Fixed initialization order warning. Change 3136024 on 2016/09/22 by Rolando.Caloca DR - vk - Fix stencil faces Change 3136042 on 2016/09/22 by Marcus.Wassmer Fix compile error Change 3136046 on 2016/09/22 by Chris.Bunner Renamed material for PostTonemapHDRColor visualization to reflect actual usage. Change 3136308 on 2016/09/22 by Uriel.Doyon Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript. #jira UE-36094 Change 3136798 on 2016/09/22 by Chris.Bunner Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer. Change 3137092 on 2016/09/22 by Rolando.Caloca DR - vk - Rename pipeline to gfx pipeline Change 3137263 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135157: Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access. #jira FORT-30061 Change 3137265 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135169: Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled). Change 3137266 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135237: Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer. Change 3137268 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3136033: To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra. Fix GPU selection code in MetalRHI to confirm everything is working. #jira FORT-30385 Change 3137269 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3137164: Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails. #jira FORT-30377 Change 3137606 on 2016/09/23 by Gil.Gribb Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering) Change 3137936 on 2016/09/23 by Rolando.Caloca DR - Split RHICmdList clear into color & ds in prep for changes Change 3138346 on 2016/09/23 by Rolando.Caloca DR - vk - Some renaming and splitting classes in prep for compute Change 3138628 on 2016/09/23 by Rolando.Caloca DR - vk - Fix mem leak on framebuffers Change 3138721 on 2016/09/23 by Daniel.Wright Better comment for r.DefaultFeature.AntiAliasing Change 3138722 on 2016/09/23 by Daniel.Wright Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface Change 3138723 on 2016/09/23 by Daniel.Wright Corrected GC doc Change 3138892 on 2016/09/23 by Daniel.Wright Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build Change 3138905 on 2016/09/23 by Daniel.Wright "Optimizations" -> "Optimization Viewmodes" Change 3138939 on 2016/09/23 by Daniel.Wright Disabled the stationary light overlap viewmode with forward shading Change 3139710 on 2016/09/26 by Rolando.Caloca DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture Change 3139820 on 2016/09/26 by Rolando.Caloca DR - Remove prefix from shader frequency strings Change 3139828 on 2016/09/26 by Marcus.Wassmer Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization. Change 3139840 on 2016/09/26 by Benjamin.Hyder Adding VectorNoise Examples to TM-Noise map Change 3139862 on 2016/09/26 by Rolando.Caloca DR - Better log to track down crash #jira UE-36271 Change 3140142 on 2016/09/26 by Rolando.Caloca DR - Fix clang warning Change 3140145 on 2016/09/26 by Rolando.Caloca DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters Change 3140360 on 2016/09/26 by Daniel.Wright Lighting Scenarios and lightmaps moved to separate package * Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world. * Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds. * If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it. * For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load. * Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times. Change 3140361 on 2016/09/26 by Daniel.Wright Lighting Scenarios UI Change 3140582 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140166 Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one. #jira FORT-30551 Change 3140584 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140131: Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU. #jira FORT-30622 Change 3140586 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140450: Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly. #jira FORT-30649 Change 3140594 on 2016/09/26 by Zabir.Hoque Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error. Change 3140601 on 2016/09/26 by Marcus.Wassmer New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR Change 3140602 on 2016/09/26 by Zabir.Hoque CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it. #Tests: Fix was tested by licensee (GearBox). Change 3140622 on 2016/09/26 by Rolando.Caloca DR - vk - More prep for sm5 Change 3140765 on 2016/09/26 by Rolando.Caloca DR - Fix ensure from bad clear depth surface Change 3141251 on 2016/09/27 by Rolando.Caloca DR - vk - Rename & cleanup Change 3141394 on 2016/09/27 by Rolando.Caloca DR - vk - Compute pipeline state Change 3141463 on 2016/09/27 by Mark.Satterthwaite Fix the include order to avoid compile errors on Mac. Change 3141529 on 2016/09/27 by Gil.Gribb Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering) Change 3141830 on 2016/09/27 by zachary.wilson Adding testing content for lighting scenarios to collaborate with Ben Change 3141941 on 2016/09/27 by Olaf.Piesche Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer. Change 3142035 on 2016/09/27 by Olaf.Piesche Fix compiler error from silly leftover bit of code. Change 3142065 on 2016/09/27 by Benjamin.Hyder Updating Lighting Scenario map Change 3142262 on 2016/09/27 by Mark.Satterthwaite Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform: On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications. On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2 #jira UE-35749 Change 3142292 on 2016/09/27 by Rolando.Caloca DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error #jira UE-31438 Change 3142397 on 2016/09/27 by Mark.Satterthwaite Update hlslcc for Mac including RCO's changes in CL #3142292. #jira UE-31438 Change 3142438 on 2016/09/27 by Daniel.Wright UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking Change 3142452 on 2016/09/27 by Rolando.Caloca DR - Proper support for int defines Change 3142519 on 2016/09/27 by Arne.Schober DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available. Change 3142537 on 2016/09/27 by Daniel.Wright Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset Change 3142691 on 2016/09/27 by Daniel.Wright Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content Change 3142711 on 2016/09/27 by Daniel.Wright GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser Change 3142712 on 2016/09/27 by Daniel.Wright Separate category for ParticleCutout properties Change 3142762 on 2016/09/27 by Uriel.Doyon Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds. The density are computed by the engine but can be overridden by the user in the material tabs. Texture streaming intermediate component data is now per material instead of per lod-section. New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode. This is currently used to show which UV channel and which texture index is being shown in the texture streaming accuracy viewmodes. This replaces r.Streaming.AnalysisIndex Renamed texture streaming viewmodes: MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales Improved UV density computation and viewmode. LightmapUVDensity is now computed separately from UVChannel Density. Fixed texture streaming for instanced static mesh component and derived types. Change 3143464 on 2016/09/28 by Daniel.Wright Removed 'experimental' from forward shading setting Change 3143508 on 2016/09/28 by Chris.Bunner Added component type handling to FoldedMath and Length material expressions. #jira UE-36304 Change 3143557 on 2016/09/28 by Rolando.Caloca DR - Back out changelist 3142292 Change 3143563 on 2016/09/28 by Rolando.Caloca DR - vk - Force hlslcc re-link Change 3143648 on 2016/09/28 by Daniel.Wright Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already. Change 3143661 on 2016/09/28 by Chris.Bunner Warning fix. Change 3143723 on 2016/09/28 by Daniel.Wright DumpUnbuiltLightIteractions after lighting build for debugging Change 3143822 on 2016/09/28 by Arne.Schober DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows. Change 3143860 on 2016/09/28 by Benjamin.Hyder Updating TM-Noise map to include 3d noise examples Change 3143939 on 2016/09/28 by Rolando.Caloca DR - vk - Better debugging of submissions - Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs Change 3144006 on 2016/09/28 by Brian.Karis Fixed PixelError not being set correctly with LOD groups. Removed unneeded Simplygon references. Mesh reduction module can now be chosen by name with r.MeshReductionModule Change 3144026 on 2016/09/28 by Benjamin.Hyder Updating QA-Effects map to correct numbering issue Change 3144098 on 2016/09/28 by Arne.Schober DR - ViewMatrices Refactoring - Fix UT Change 3144158 on 2016/09/28 by Rolando.Caloca DR - Undo splitting RHI command context Change 3144952 on 2016/09/29 by Rolando.Caloca DR - vk - Missing swapchain flag Change 3145064 on 2016/09/29 by Olaf.Piesche #jira UE-36091 Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly. Change 3145354 on 2016/09/29 by Benjamin.Hyder Updating Tm-ContactShadows Change 3145485 on 2016/09/29 by Daniel.Wright Made SeamlessTravelLoadCallback handle legacy lightmaps Change 3145527 on 2016/09/29 by Daniel.Wright Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel Change 3145530 on 2016/09/29 by Simon.Tovey UE-36188 - Editor crash when updating hierarchical instance static mesh component Dirtied render state rather than unsafe update of bounds. Change 3145608 on 2016/09/29 by Gil.Gribb Attempt to fix a random compiler error under win32 Change 3145749 on 2016/09/29 by Uriel.Doyon Fix for static analysis warning Change 3146091 on 2016/09/29 by Zabir.Hoque RHI Interface changes to support PSO based APIs Change 3146092 on 2016/09/29 by Zabir.Hoque D3D12 RHI support for PSO based APIs. Change 3146590 on 2016/09/30 by Gil.Gribb Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering) Change 3146731 on 2016/09/30 by Rolando.Caloca DR - Fix merge conflicts Change 3146778 on 2016/09/30 by Rolando.Caloca DR - More integration compile fixes Change 3146790 on 2016/09/30 by Rolando.Caloca DR - Integration fix Change 3146849 on 2016/09/30 by Rolando.Caloca DR - Final integration fix Change 3146899 on 2016/09/30 by Daniel.Wright Static analysis fix for dereferencing World Change 3147020 on 2016/09/30 by Rolando.Caloca DR - vk - Fix depth issue on AMD cards - Added VULKAN_KEEP_CREATE_INFO to help debugging creation - Added num color attachments to pipeline key Change 3147034 on 2016/09/30 by Rolando.Caloca DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines #jira UE-36277 #jira UE-36500 Change 3147080 on 2016/09/30 by Rolando.Caloca DR - vk - Disable debug info by default Change 3147082 on 2016/09/30 by Chris.Bunner Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list. #jira UE-36491 Change 3147388 on 2016/09/30 by Chris.Bunner Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers. #jira UE-35288 Change 3147394 on 2016/09/30 by Chris.Bunner Additional logging for rare error. #jira UE-35812 Change 3147459 on 2016/09/30 by Rolando.Caloca DR - vk - Some more srgb formats Change 3147537 on 2016/09/30 by Rolando.Caloca DR - vk - Standarize srgb flag like D3D11 - Minor FVulkanShader cleanup Change 3147620 on 2016/09/30 by Olaf.Piesche #jira UE=34486 particle component tick function task can be invalid during pause; add check Change 3148028 on 2016/10/01 by Daniel.Wright Renamed RenderingSettings.cpp to match header Change 3148059 on 2016/10/01 by Daniel.Wright Disabled reparenting in the profiler which is disorienting Change 3148067 on 2016/10/01 by Daniel.Wright Support for ReflectionEnvironment and light type show flags with ForwardShading Change 3148069 on 2016/10/01 by Daniel.Wright Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars Change 3148072 on 2016/10/01 by Daniel.Wright Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness Change 3148073 on 2016/10/01 by Daniel.Wright r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream Change 3148074 on 2016/10/01 by Daniel.Wright Enabled planar reflection receiving on the material used for the preview of a APlanarReflection Change 3148084 on 2016/10/01 by Daniel.Wright Fixed reflections on Surface TranslucencyVolume in deferred Change 3148085 on 2016/10/01 by Daniel.Wright Fixed planar reflection composite being done too many times in stereo deferred Change 3148086 on 2016/10/01 by Daniel.Wright Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10. Change 3148107 on 2016/10/01 by Daniel.Wright CIS fix Change 3148113 on 2016/10/01 by Daniel.Wright Translucency lighting modes for forward shading * Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway Change 3148306 on 2016/10/02 by Rolando.Caloca DR - vk - Fix for some NV drivers on Win10 Change 3148307 on 2016/10/02 by Rolando.Caloca DR - vk - Compute pipeline Change 3148358 on 2016/10/02 by Rolando.Caloca DR - vk - Consolidate and renumber enum for binding types Change 3148396 on 2016/10/03 by Rolando.Caloca DR - vk - Warning fix Change 3148697 on 2016/10/03 by Benjamin.Hyder Submitting M_Chromebal after enabling planar reflectionsl Change 3148799 on 2016/10/03 by Rolando.Caloca DR - vk - static analysis fix Change 3148934 on 2016/10/03 by Chris.Bunner Added pre-skinned local position material graph node, vertex shader only. Change 3148994 on 2016/10/03 by Chris.Bunner Added missing header file. Change 3149085 on 2016/10/03 by Daniel.Wright Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead Change 3149095 on 2016/10/03 by Rolando.Caloca DR - vk - Disable new render passes Change 3149125 on 2016/10/03 by Rolando.Caloca DR - vk - Fix for multiple memory types Change 3149181 on 2016/10/03 by Rolando.Caloca DR - Better message when missing pipelines Change 3149215 on 2016/10/03 by Rolando.Caloca DR - RHIClearColor -> RHIClearColorTexture #tests Orion Editor run match on Agora_P Change 3149288 on 2016/10/03 by Chris.Bunner Added PreTonemapHDRColor for buffer visualization and target output. #jira UE-36333 Change 3149402 on 2016/10/03 by Daniel.Wright Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res) Change 3149403 on 2016/10/03 by Daniel.Wright Forward lighting supports lighting channels Change 3149574 on 2016/10/03 by Marcus.Wassmer PR #2817: Ansel/Photography system (Contributed by adamnv) Modified to become a plugin Change 3149615 on 2016/10/03 by Rolando.Caloca DR - vk - Fix PF_G16R16 which fixes reflections Change 3149639 on 2016/10/03 by Olaf.Piesche Adding more ensures to catch NaNs occasionally appearing in particle locations early Change 3149745 on 2016/10/03 by Uriel.Doyon Moved UVDensity computation in the staticmesh DDC. Change 3149749 on 2016/10/03 by Daniel.Wright Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility Change 3149755 on 2016/10/03 by Benjamin.Hyder Checking in built lighting for QA-postprocessing Change 3149758 on 2016/10/03 by Benjamin.Hyder re-submitting built lighting for QA-PostProcessing Change 3149940 on 2016/10/04 by Gil.Gribb Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering) Change 3150098 on 2016/10/04 by Marcus.Wassmer Fix some clang and win32 errors Change 3150323 on 2016/10/04 by Rolando.Caloca DR - vk - Static analysis fix Change 3150456 on 2016/10/04 by Daniel.Wright Revert temp logs Change 3150731 on 2016/10/04 by Daniel.Wright Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid Change 3150795 on 2016/10/04 by Marcus.Wassmer Fix RHIClearUAV and Drawindirect bugs on PS4. Also fix PS4 compile error from bad merge. Change 3151065 on 2016/10/04 by Ben.Marsh Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering) Change 3151134 on 2016/10/04 by Brian.Karis Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array. Change 3151201 on 2016/10/04 by Marcus.Wassmer Nvidia approved icon for ansel plugin. Change 3151240 on 2016/10/04 by Marcus.Wassmer Fix string concat build error. Change 3151258 on 2016/10/04 by Ben.Marsh Fix compile error. Change 3151290 on 2016/10/04 by Marcus.Wassmer Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix. Change 3152104 on 2016/10/05 by Chris.Bunner Workaround for legacy BreakMA material node invalid component masks. #jira UE-36832 Change 3152130 on 2016/10/05 by Ben.Woodhouse Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling #jira UE-35890 Change 3152240 on 2016/10/05 by Rolando.Caloca DR - Fix for missing gizmo colors #jira UE-36515 Change 3152338 on 2016/10/05 by Daniel.Wright Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker Change 3152833 on 2016/10/05 by Brian.Karis Improved precision of quadrics. Fixes bad triangles on large meshes Change 3153376 on 2016/10/06 by Rolando.Caloca DR - Fix for SM4 missing pipelines fallout Change 3153650 on 2016/10/06 by Gil.Gribb Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering) Change 3153656 on 2016/10/06 by Uriel.Doyon Fixed main integration compilation issues. Some of the Mesh UVDensity UI is temporary disabled. Change 3153725 on 2016/10/06 by Uriel.Doyon Fixed crash when source data is missing for lightmaps #jira UE-36157 Change 3153998 on 2016/10/06 by Gil.Gribb Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering) Change 3154056 on 2016/10/06 by Marcus.Wassmer Fix compile errors from merge. Also restore some light scencario code Change 3154176 on 2016/10/06 by Marcus.Wassmer Fix deprecation warning Change 3154252 on 2016/10/06 by Marcus.Wassmer Fix more deprecation warnings Change 3154632 on 2016/10/07 by Chris.Bunner Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function. #jira UE-37002 [CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
bool GRunningUnderRenderDoc = false;
/*------------------------------------------------------------------------------
OpenGL context management.
------------------------------------------------------------------------------*/
static void ContextMakeCurrent( HDC DC, HGLRC RC )
{
BOOL Result = wglMakeCurrent( DC, RC );
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3120366) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 2714591 on 2015/10/02 by Ben.Marsh Initial branch of files from Engine-Main (//UE4/Engine-Main) to Dev-Platform (//UE4/Dev-Platform) Change 2916715 on 2016/03/21 by Daniel.Lamb First pass at splitting out build cook run into into seperate scripts. Change 2948322 on 2016/04/19 by Nick.Shin update libwebsockets to v1.7.4 part 4 of 4 - doing this in stages for tracking purposes #jira UEPLAT-1246 - Update libWebsockets #jira UEPLAT-1221 - update websocket library #jira UEPLAT-1204 - Rebuild libwebsockets with SSL Change 2970016 on 2016/05/07 by Nick.Shin undo all of the following upgrades: - zlib - openssl - libcurl - libwebsockets and reset webrtc #jira UE-30298 - Fortnite and Orion crash on login Change 3059693 on 2016/07/21 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3061151 on 2016/07/22 by Niklas.Smedberg Fast ASTC texture compression, using ISPC. #jira UE-32308 Change 3061428 on 2016/07/22 by Peter.Sauerbrei Back out changelist 3061151 as it wasn't approved for submission Change 3061970 on 2016/07/22 by Steve.Cano Adding AdMob interstitital ad support for Android, including Blueprint functions #jira UE-33286 #ue4 #android Change 3062160 on 2016/07/22 by Mark.Satterthwaite Fix the fix for handling RHISetStreamSource overriding stride on Metal - not all MTLVertexDescriptors are equally hashable so do this ourselves. #jira UE-33355 Change 3062770 on 2016/07/24 by Brent.Pease UE-32397 Error Message displays as Unknown Error when failing to supply a Remote Build server for ios on Windows Change 3063227 on 2016/07/25 by Dmitry.Rekman Update hlslcc cross-compile after libc++ change. Change 3063314 on 2016/07/25 by Jeff.Campeau Xbox One DLL loading Receipts can be read back by request for target info Change 3063329 on 2016/07/25 by Mark.Satterthwaite CL #3046743 was breaking other samples in unexpected ways after a recent Main merge, so make a Metal-specific change to the shader instead and amend the MetalBackend to better match HLSL's handling of NaN/inf with common single-precision float intrinsics. This is sufficient to fix the AtmosphericFog and the recent regressions. #jira UE-33600 #jira UE-33028 #jira UE-27879 #jira UE-25802 Change 3063492 on 2016/07/25 by Brent.Pease UE-23846 - iOS Movie Player can't handle videos at resolutions that aren't multiples of 16 UE-33200 - A movie isn't played on iOS occasionally. Change 3063729 on 2016/07/25 by Dmitry.Rekman Linux: enable XGE on all platforms. #tests Cross-compiled a number of Linux targets on Windows. Change 3063732 on 2016/07/25 by Dmitry.Rekman Fixed formatting (spaces->tabs) in previous change. Change 3063750 on 2016/07/25 by Daniel.Lamb Added code to dump the cook modification delegate loads to log. Fixed the memory usage output log. #test cook paragon. Change 3063804 on 2016/07/25 by Daniel.Lamb Added cookpartialgc additional commandline option to uat. #test UFE Change 3064008 on 2016/07/25 by Mark.Satterthwaite For non-shipping builds conditionally bind a default uniform buffer in Metal and report an error if the slot was unbound, if our validation layer is enabled attempt to report the shader source in question. This relies on the shader compiler providing accurate information about uniform buffer bindings and won't fix all occurances of bad uniform usage (if a buffer is bound but too short the result will be GPU restarts or an error in Apple's validation layer - we can't detect this case) but will help debug the typical error of leaving an active slot unbound. #jira FORT-27685 Change 3064141 on 2016/07/25 by Jeff.Campeau Rebuild vpxmd.lib with delayed codegen disabled (fixes linker warning building Win64). Change 3065024 on 2016/07/26 by Nick.Shin Change filetype remove exclusive check out bit requested by or.coheni & nick.penwarden Change 3065274 on 2016/07/26 by Jonathan.Fitzpatrick DirectoriesToAlwaysStageAsUFS now properly filters out *.uasset and *.umap files This prevents the bug where cooked assets get trampled by staging their uncooked version on top of them during the UFS step Added a file filter to DirectoriesToAlwaysStageAsUFS for uasset and umap. Change 3066338 on 2016/07/27 by Mark.Satterthwaite Handle releasing an SRV/UAV & the source object within a single Metal command-buffer. #jira UE-33779 Change 3066789 on 2016/07/27 by Daniel.Lamb Realtime mode does not save any packages anymore unless they are ready. #test cookontheside, cookbythebook shooter game Change 3066847 on 2016/07/27 by Jeff.Campeau Fix define #2634 #jira UE-33813 Change 3068868 on 2016/07/28 by Mark.Satterthwaite Extend hlslcc's handling of switch-statements to allow implict casts from scalar bool, half & float as HLSL itself permits while also making sure it errors if the expression input is not scalar. This fixes shader compile errors in UT. Change 3070040 on 2016/07/29 by Dmitry.Rekman Delete Nadzorca. Change 3070947 on 2016/07/29 by Jeff.Campeau Perforce C++ API 2015.2 (includes debug libraries) Change 3073707 on 2016/08/02 by Daniel.Lamb Derived data cache commandlet runs resolve string asset references to load any string asset refereced packages from the map. Also process async results from shaders being compiled so they can have their memory resources released. #test DerivedDataCache commandlet shootergame. Change 3076613 on 2016/08/03 by Brent.Pease + UnrealTargetConfiguration is now passed into deploy and package methods + The UIRequiredDeviceCapabilities plist key now only considers the architectures from the corresponding target configuration (shipping or development) Change 3076668 on 2016/08/03 by Brent.Pease Back out changelist 3076613 Change 3077157 on 2016/08/04 by Daniel.Lamb Fixed up DLC staging so that it stages to the proper mount point. Fixes up include engine content in DLC staging paths. #test Made up shooter game DLC Change 3077191 on 2016/08/04 by Daniel.Lamb More smartly process async shader compilation if we are waiting for it. #test cook on the side shooter game cook by the book shooter game. Change 3077412 on 2016/08/04 by Mark.Satterthwaite Fix "iOS Metal-based build crashes at launch with sub-levels": - Slate should not bind the null RHI texture from an unitialised texture atlas - atlases only have a valid texture pointer once an entry has been added to them and in the template projects an empty sub-level doesn't add anything. - To prevent this kind of bug resurfacing and being so hard to track down add Metal shader binding validation to our validation layer as Apple's is incomplete on iOS and won't warn us about nil texture usage which causes these GPU restarts. This requires reworking our vertex declaration handling to be more efficient so that we can cache the pipeline reflection data as well as the pipeline objects. - Fix validation error of texture reallocation on loading template projects under Metal. #jira UE-30847 Change 3077958 on 2016/08/04 by Brent.Pease + UnrealTargetConfiguration is now passed into deploy and package methods + The UIRequiredDeviceCapabilities plist key now only considers the architectures from the corresponding target configuration (shipping or development) Change 3079503 on 2016/08/05 by Mark.Satterthwaite Initialise more variable types to 0 in Metal shaders to workaround Xcode 8 toolchain no longer doing this for us for "threadgroup shared" variables. Everything but structs and atomic's will now be initialised. #jira UE-33856 Change 3079737 on 2016/08/05 by Jeff.Campeau Add support for delay load DLLs on Xbox One Turn off warnging for missing PDBs to match VCToolchain.cs Change 3081005 on 2016/08/08 by Mark.Satterthwaite Fix-up Metal device name on AMD for macOS 10.12 which reports it correctly and enable tiled reflections on Intel from macOS 10.12 too as they now work. Change 3081557 on 2016/08/08 by Daniel.Lamb File-> Package saves all packages before starting packaging. #test File package first person template Change 3082215 on 2016/08/09 by Lee.Clark PS4 - Added 4k profile Change 3082412 on 2016/08/09 by Daniel.Lamb Fixed cook on the fly server not handling cook requests. #test Cook on the fly shooter game. Change 3082955 on 2016/08/09 by Dmitry.Rekman Linux: convert existing Strcat() uses to Strncat(). - Strcat() does not check destination size so can silently corrupt memory. While this was not observed, this conversion removes this concern altogether. Change 3083772 on 2016/08/10 by Luke.Thatcher [PLATFORM] [PS4] [+] Checking in PS4CrashHandler files so we have a copy in Perforce rather than just on the server. - Taken from \\devweb-02 and removed all the unused files/dependencies. - Created a publish profile pointing to \\devweb-02\Sites\PS4Services\PS4CrashHandlerDev so I'm not writing over the existing deployed crash handler. - Moved all code in the Page_Load event to inside the check for the HTTP method (POST) otherwise GET'ing the page from a browser will generate crash folders that hang around forever. Change 3085450 on 2016/08/11 by Lee.Clark PS4 - Fix mediaplayer pipeline allocation Change 3086360 on 2016/08/11 by Michael.Trepka Fixed a non-unity build error in Mac UnrealFrontend Change 3087224 on 2016/08/12 by Luke.Thatcher [PLATFORM] [PS4] [~] Refactor PS4 Crash Handler site - Removed CoreDumpHandler. Processing dump files is handled directly by an async thread within the aspx process. - Separated configuration values into their own class. Currently set to output to a testing directory, rather than the actual crash reporter landing zone. - Added a debug upload page to allow manual submission of .orbisdmp/.txt settings files, accessible by GET'ing Default.aspx. - Added logging. Logs self-delete after 30 days. Testing required before we switch to the new system. #jira UE-34504 #jira OR-26886 Change 3087626 on 2016/08/12 by Dmitry.Rekman PR #2689: Fix copying/duplicating failing on Linux (UE-34586). - Contributed by Web-eWorks. Change 3087991 on 2016/08/12 by Mark.Satterthwaite Initial AVFoundation implementation of Media Framework for Mac, iOS & tvOS. - Video playback occurs via AVPlayerItemVideoOutput's attached to the AVPlayerItem's output. This means gathering video samples is trivial. - Metal texture updates occur by wrapping the texture object provided by AVF - for Mac this is simple as it can bind to the IOSurface directly, for iOS/tvOS we have to create a CVMetalTextureCache and allocate our texture from there. - OpenGL and OpenGLES currently have to lock the pixel buffer and upload to a texture the old fashioned way - this should be revisited when there is time. - Subtitles/Captions are captured using AVPlayerItemLegibleOutput which also connects to the AVPlayerItem's output. - On Mac audio samples are returned by manually reading from the stream using an AVAssetReaderTrackOutput, including manual seeking and synching. - On iOS/tvOS the audio is played directly by AVPlayer because the IOSAudio system can't handle procedural buffers - otherwise it could reuse the Mac code. - AVFoundation does not support AVI - that's an obsolete Microsoft/Windows file-format. - Only 'file://' URLs are supported - streaming would require a totally different audio solution (using MTAudioProcessingTap) and has many more edge and failure cases that would need to be handled. #jira UE-34315 Change 3088790 on 2016/08/15 by Luke.Thatcher [PLATFORM] [PS4] [~] Hook new PS4 crash handler up to the crash reporter website. - Removed indentation from generated crash context XML file. The crash reporter process does manual XML parsing which doesn't correctly handle whitespace at the start of lines. - Switched the final output folder to match the one the crash reporter process is watching. - Hide upload form on a config variable. #jira UE-34504 #jira OR-26886 Change 3089060 on 2016/08/15 by Luke.Thatcher [PLATFORM] [PS4] [!] Change PS4 crash handler log file extension to ".ps4chlog", otherwise the crash reporter site attaches the wrong log file to the crash report. Allowed showing of debug upload form via "Default.aspx?showform=1" query string. #jira UE-34504 #jira OR-26886 Change 3089089 on 2016/08/15 by Mark.Satterthwaite Duplicated changes to AppleMovieStreamer from CL #3088149. #jira UE-34315 Change 3089460 on 2016/08/15 by Mark.Satterthwaite Duplicate CL #3080971: Workaround a macOS 10.12 Beta bug on some Metal drivers that can't initialise temporary/local variable arrays, only those that are marked threadgroup shared. #jira UE-34355 Change 3089465 on 2016/08/15 by Mark.Satterthwaite For Metal shader translation retain more precision for float constants -1.0f >< 1.0f by emitting them in scientific notation - prevents Hammersley constant amongst others from being flushed to 0. Change 3089902 on 2016/08/15 by Daniel.Lamb Changed the next compiling ID to the correct compiling ID. #test Cook Change 3089903 on 2016/08/15 by Daniel.Lamb Cooker monitors config useage during cook and uses those settings to invalidate cooked content instead of all config settings. Change 3090114 on 2016/08/16 by Luke.Thatcher [PLATFORM] [PS4] [~] Minor change to PS4 settings text on crash handler site. Change 3090949 on 2016/08/16 by Nick.Shin WebSocketNetDriver crash fix filled in missing chunk of code that calls PacketHandler's "packet modifiers" #jira UE-25492 HTML5 Client cannot connect to Windows Server #jira UE-30880 WinServer crashes when NetDriver is set to WebSocket and Client attempts to connect via websocket #code.review john.pollard john.barrett Change 3091265 on 2016/08/16 by Brent.Pease Add IOS support to HarfBuzz Change 3091267 on 2016/08/16 by Brent.Pease Add references to fix mono build Change 3091291 on 2016/08/16 by Nick.Shin CIS warning fix #jira UE-25492 HTML5 Client cannot connect to Windows Server #jira UE-30880 WinServer crashes when NetDriver is set to WebSocket and Client attempts to connect via websocket Change 3091781 on 2016/08/17 by Joe.Barnes UE-33640: Exposed UPrimitiveComponent::IsAnyRigidBodyAwake() to Blueprints. Change 3092687 on 2016/08/17 by Daniel.Lamb Added support for using binned allocator in cooker instead of tbb. #test Cook shootergame. Change 3093867 on 2016/08/18 by Mark.Satterthwaite Use a read/write mutex to protect access to Metal's internal shader pipeline caches so that parallel threads can progress in the common case where new shaders are not being compiled. Change 3093950 on 2016/08/18 by Mark.Satterthwaite Change the Mac GPU identification code to cope with AMD's new naming scheme on 10.12. Change 3093951 on 2016/08/18 by Mark.Satterthwaite More SCW threads on Mac - they work now. Change 3093960 on 2016/08/18 by Mark.Satterthwaite Increase the default number of command-buffers on Mac because bigger games overflow the current limit of 64 per queue. Change 3096493 on 2016/08/22 by Jeff.Campeau Use Xbox version of DirectX include. Change 3097509 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Refactor PS4 Symbol Publish - Moved the SymStore task from Win.Automation to BuildGraph.Automation, and made it more generic. - The specifics of uploading symbols are now implemented in the platform tool chain, alongside StripSymbols(). - Re-generated the build graph schema file. - Removed the old PS4 symbols upload path in the package step. Modified OrionBuild.xml to publish symbols for all PS4 dev, test and shipping config builds of OrionClient. Change 3097635 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Refactor Age Symbols task in UAT. - Moved the AgeStore task from Win.Automation to BuildGraph.Automation and made it more generic. - Symbol server directory structure is now defined by the platform tool chain, which the common task uses to clean out old symbols. - Added a "filter" parameter to prevent age tasks deleting symbols from unrelated builds in shared symbol servers. Modified OrionBuild.xml to age both the Windows and PS4 symbol stores. Change 3097713 on 2016/08/23 by Luke.Thatcher [PLATFORM] [PS4] [+] Enable new PS4 crash handler server - Created live deployment profile and applied the required config file changes. Change 3099214 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix compile error in PS4 tool chain. For some reason, this only breaks ocassionally. Maybe we're alternating between the 2013 and 2015 C# compilers depending on what initiates the build (e.g. Visual Studio vs GenerateProjectFiles)? Change 3099222 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [+] Added PS4 support for FPlatformMisc::MessageBoxExt using the MsgDialog library. - Note, only one and two button message dialogs are supported (limitation of MsgDialog). Change 3099260 on 2016/08/24 by Luke.Thatcher [PLATFORM] [PS4] [~] Better PS4 exit function. Calls quick_exit instead of abort when we've not asserted. Allows for a "cleaner" forced exit without generating a crash dump. Change 3101192 on 2016/08/25 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3101944 on 2016/08/25 by Daniel.Lamb Ask to save the current level when we are using launch on. Change 3102036 on 2016/08/25 by Nick.Shin check for minimum expected size upon data received from network #jira UE-13657 - HTML5 plugin OnRawRecieve overflow Change 3102115 on 2016/08/25 by Brent.Pease - Fix small errors that probably only show up in the mac mono build #code.review peter.sauerbrei Change 3102747 on 2016/08/26 by Jeremiah.Waldron Re-submitting OnlineSubsystemGameCircle with TPS permission for Amazon SDK - Also fixed the plugin to remove any related files from the final package when IAP is disabled or GameCircle support itself is disabled with the plugin still enabled - Added support for new AlreadyOwned IAP response code as well which is already used for GooglePlay and IOS Change 3102900 on 2016/08/26 by Nick.Shin since last checkin (CL: 2981945) - prints are crashing the browser - this change will allow browser to print the details via console.log() #jira UE-26047 - HTML5 HTTP Response Headers not implemented Change 3103130 on 2016/08/26 by Brent.Pease UE-24679 - Enable the ability to change ports for a firewall to pass them through rsync Change 3103225 on 2016/08/26 by Daniel.Lamb Fixed issue with warning which would cause crash. Change 3103425 on 2016/08/26 by Dmitry.Rekman Enable offscreen GL rendering without X. - Added new video subsystem to SDL that is uses EGL to initialize the context. - Most windoing functions stubbed. - Also added a new test case to TestPAL for easier debugging. Change 3104743 on 2016/08/29 by Brent.Pease Support remote offline metal shader compilation Change 3105051 on 2016/08/29 by Brent.Pease UE-2382 - TASK: MobleMVP: iOS: Add ability to view iOS device console output in the editor UFE - IOS Automation will now create a thread to collect the console logs from the device and send them to C# Console output while the app is running on device - Made ProcessResult an interface (IProcessResult) which ProcessResult implements. This allows platforms to provide their own implementation if needed. - Moved the RunLoop related parts of CoreFoundation into MobileDevice.cs Change 3105053 on 2016/08/29 by Brent.Pease - IOS dll's as part of the last check-in Change 3106853 on 2016/08/30 by Jeff.Campeau Implement FD3D11DynamicRHI::RHICreateComputeFence to prevent memory overwrite Change 3107361 on 2016/08/30 by Dmitry.Rekman Renderer: changes to allow postproc delegates. Change 3107362 on 2016/08/30 by Dmitry.Rekman Plugin with a CUDA postproc example. - Linux version only. Runs under a headless GL too (without X). - Disabled during cross-compilation, can be compiled natively only. - CUDA kernel should be compiled separately, CMakefile with compilation attached (can be used to generate VStudio projects as well). - To test the output, run under the debugger, interrupt and set global variable GSaveTheOutput to 50 (this will write out kernel output buffer 50 times as .bmp files into working directory). Change 3107913 on 2016/08/31 by Daniel.Lamb Fixed loading of cooked content in the editor. Change 3107916 on 2016/08/31 by Daniel.Lamb Added error case when shader compilation fails to notify shader. #test Cook shooter game. Change 3108080 on 2016/08/31 by Josh.Adams - Fixed PS4Automation compile errors Change 3109077 on 2016/08/31 by Brent.Pease Fix C# debug builds by specifying x64 and add reference to MobileDeviceInterface Change 3110086 on 2016/09/01 by Dmitry.Rekman Fix race condition in PThread runnable (UE-35074). - Instead of relying on busy-wait, join the threads. This prevents race between PostRun() (executed in the context of the thread) and FPThreadRunnableThread() destructor (see UE-34909). - Do not use an invalid value for pthread_t, since there's none. Change 3110172 on 2016/09/01 by Dmitry.Rekman Fixed a crash exiting VR Preview on Windows GL4 (UE-28708). - PR #2188 submitted by ardneran. Change 3110313 on 2016/09/01 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3111134 on 2016/09/01 by Dmitry.Rekman UBT: prevent mono from hanging on Ctrl-C. - Sometimes Ctrl-C can cause thread creation to fail. Without this change, UBT would lock up. Change 3111171 on 2016/09/01 by Brent.Pease Move all C# projects to use the x64 Platform for consistency with other changes made to move to the x64 Platform Change 3111177 on 2016/09/01 by Dmitry.Rekman Fix Linux build on systems without CUDA (UE-35460). Change 3111548 on 2016/09/02 by Luke.Thatcher [PLATFORM] [PS4] [!] Fix for PS4 iterative deployment. - Changes in Dev-Mobile broke the deployment manifests, as PS4 was now using the wrong filename when creating delta and obsolete file lists. Change 3111863 on 2016/09/02 by Dmitry.Rekman Better fix for build without CUDA (UE-35460). Change 3112738 on 2016/09/02 by Mark.Satterthwaite Fix the pausing particles on Metal - one line bug in the Metal query implementation meant that the first query wouldn't return the correct result for no good reason. #jira UE-34989 Change 3114579 on 2016/09/06 by Chris.Babcock Fix Vulkan include path in NDK check (contributed by geediiiiky) #jira UE-35490 #github #2758 #ue4 #android Change 3115115 on 2016/09/06 by Jeff.Campeau Calculate buffer size for paks using the bitwindow override as needed Change 3115600 on 2016/09/07 by Luke.Thatcher [PLATFORM] [PS4] [~] Make the crash dump handler registration much earlier, to catch crashes in early engine init. - Fixed up places in FGenericCrashContext::SerializeContentToBuffer which used the command line. If we crash early, the command line may not have been initialized yet. - Added a GetNoInit function to FThreadHeartBeat to avoid creating the heart beat thread if we crash early, and the thread doesn't exist yet. Tested by calling abort() immediately inside int main(), and we get a valid crash dump that the crash handler service can consume. Change 3115676 on 2016/09/07 by Luke.Thatcher [PLATFORM] [~] Dev-Platform integration fix for original CL 3064888 in //Orion/Release-29.1 Add .exe and .dll to windows symbol upload file filters. Change 3115811 on 2016/09/07 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3115944 on 2016/09/07 by Michael.Trepka Implemented IsGamepadAttached() for Mac Change 3115948 on 2016/09/07 by Michael.Trepka Don't try to restore Help menu item on Mac if MenuBlock does not contain it Change 3116200 on 2016/09/07 by Jeff.Campeau Fix parameter ordering Change 3117660 on 2016/09/08 by Josh.Adams Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform) Change 3117728 on 2016/09/08 by Michael.Trepka Copy of CL 3117698 by Mike.Fricker Fixed regression with editor's Simulate mode where cursor would teleport back to the center of the viewport after every click - This bug was introduced in CL 3075932 from a borderless window cursor handling fix that was needed for games that capture the cursor Change 3117797 on 2016/09/08 by Peter.Sauerbrei Shader Resource compression Change 3117988 on 2016/09/08 by Brent.Pease - Solutiion generator will now pick x64 instead of AnyCPU for the default platform configuration - Fix what I think was a merge error in BuildGraph.cs Change 3118296 on 2016/09/08 by Daniel.Lamb Fixed crash with launch on. Couldnt' correctly detect previous generated ini settings. #test launch on QA game #jira UE-35741 Change 3118438 on 2016/09/08 by JohnHenry.Carawon Fix UAT compilation on Linux #UE-35745 Change 3118934 on 2016/09/08 by Jeff.Campeau Shader compression setting based on target platform instead of cooking host platform. #jira UE-35753 Change 3120190 on 2016/09/09 by Ben.Marsh Add missing Platform attribute to build script for Dev-Platform. [CL 3120378 by Josh Adams in Main branch]
2016-09-09 20:13:41 -04:00
if (!Result)
{
Result = wglMakeCurrent( nullptr, nullptr );
}
check(Result);
}
static HGLRC GetCurrentContext()
{
return wglGetCurrentContext();
}
/** Platform specific OpenGL context. */
struct FPlatformOpenGLContext
{
HWND WindowHandle;
HDC DeviceContext;
HGLRC OpenGLContext;
bool bReleaseWindowOnDestroy;
int32 SyncInterval;
GLuint ViewportFramebuffer;
GLuint VertexArrayObject; // one has to be generated and set for each context (OpenGL 3.2 Core requirements)
GLuint BackBufferResource;
GLenum BackBufferTarget;
};
class FScopeContext
{
public:
FScopeContext( FPlatformOpenGLContext* Context )
{
check(Context);
PrevDC = wglGetCurrentDC();
PrevContext = GetCurrentContext();
bSameDC = (PrevDC == Context->DeviceContext);
bSameDCAndContext = (PrevContext == Context->OpenGLContext) && bSameDC;
if (!bSameDCAndContext)
{
// if (PrevContext)
// {
// glFlush();
// }
// no need to glFlush() on Windows, it does flush by itself before switching contexts
ContextMakeCurrent(Context->DeviceContext,Context->OpenGLContext);
}
}
~FScopeContext( void )
{
if (!bSameDCAndContext)
{
// glFlush(); // not needed on Windows, it does flush by itself before switching contexts
if (PrevContext)
{
ContextMakeCurrent(PrevDC,PrevContext);
}
else
{
ContextMakeCurrent(NULL,NULL);
}
}
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3054480) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3045482 on 2016/07/11 by Zabir.Hoque DX12 Quries need to individually track their syncpoints. Only when resolving a query on the same frame should be stall. Change 3045929 on 2016/07/12 by Simon.Tovey Removing some deprecated node types from Niagara Change 3045951 on 2016/07/12 by Ben.Woodhouse D3D11 Log detailed live device info on shutdown if the debug layer is enabled (including resource types) Change 3046019 on 2016/07/12 by Chris.Bunner Fixed typo in material input name. #jira UE-5575 Change 3046053 on 2016/07/12 by Rolando.Caloca DR - Fix GL4 shutdown #jira UE-32799 Change 3046055 on 2016/07/12 by Rolando.Caloca DR - vk - Fix NumInstances=0 Change 3046063 on 2016/07/12 by Rolando.Caloca DR - vk - Added flat to uint layouts per glslang - Fix bad extension on dumped shaders Change 3046067 on 2016/07/12 by Rolando.Caloca DR - vk - Fix check when not using color RT - Added queue submit & present counters Change 3046088 on 2016/07/12 by Ben.Woodhouse Live GPU stats A non-hierarchical realtime high level GPU profiler with support for cumulative stat recording. Stats are added with SCOPED_GPU_STAT macros, e.g. SCOPED_GPU_STAT(RHICmdList, Stat_GPU_Distortion) The bulk of the files in this change are simply instrumentation for the renderer. The core changes are in SceneUtils.cpp/h and D3D11Query.cpp (this is the XB1/DX11X implementation of timestamp RHI queries, which was missing) Note: this is currently disabled by default. Enable with the cvar r.gpustatsenabled Tested on PC, XB1, PS4 Change 3046128 on 2016/07/12 by Olaf.Piesche Max draw distance and fade range for lights, requested by JonL Change 3046183 on 2016/07/12 by Ben.Woodhouse PR #2532: Fix SSAO being applied in unlit viewmode (Contributed by nick-penwarden) Change 3046223 on 2016/07/12 by Luke.Thatcher Fix Scene Cube Captures. SceneCaptureSource flag on the ViewFamily was not set for cube components. #jira UE-32345 Change 3046228 on 2016/07/12 by Marc.Olano Add Voronoi noise to Noise material node. Four versions with differing speed/quality levels accessed through the Quality value in the material node. Tooltips give estimates of the cost of each. Also includes spiffy new Rand3DPCG16 and Rand3DPCG32 int3 to int3 hash functions, and a 20% improvement on the computed gradient noise. Change 3046269 on 2016/07/12 by Rolando.Caloca DR - Skip flush on RHIDiscardRenderTargets and only use it on platforms that need it (ie OpenGL) Change 3046294 on 2016/07/12 by Rolando.Caloca DR - Fix static analyisis warning C6326: Potential comparison of a constant with another constant. Change 3046295 on 2016/07/12 by Rolando.Caloca DR - Fix the previous fix Change 3046731 on 2016/07/12 by Marc.Olano Fix typo in shader random number constant: repeated extra digit made it too big. Change 3046796 on 2016/07/12 by Uriel.Doyon The texture streaming manager now keeps a set of all valid textures. This is used to prevent from indirecting deleted memory upon SetTexturesRemovedTimestamp. #jira UE-33048 Change 3046800 on 2016/07/12 by Rolando.Caloca DR - vk - Added create image & renderpass dump Change 3046845 on 2016/07/12 by John.Billon Forgot to apply MaxGPUSkinBones Cvar access changes in a few locations. Change 3047023 on 2016/07/12 by Olaf.Piesche Niagara: -a bit of cleanup -now store and double buffer attributes individually, eliminating unnecessary copy of unused attributes -removed FNiagaraConstantMap, replaced with an instance of FNiagaraConstants -some code simplification -removed some deprecated structs and code used only by old content Change 3047052 on 2016/07/12 by Zabir.Hoque Unshelved from pending changelist '3044062': PR #2588: Adding blend mode BLEND_AlphaComposite (4.12) (Contributed by moritz-wundke) Change 3047727 on 2016/07/13 by Luke.Thatcher Fix Scene Capture Components only updating every other frame. #jira UE-32581 Change 3047919 on 2016/07/13 by Olaf.Piesche CMask decode, use in deferred decals, for PS4 Change 3047921 on 2016/07/13 by Uriel.Doyon "Build Texture Streaming" will now remove duplicate error msg when computing texcoord scales. Also, several texture messages are packed on the same line if they relate to the same material. Change 3047952 on 2016/07/13 by Rolando.Caloca DR - vk - Initial prep pass for separating combined images & samplers Change 3048648 on 2016/07/13 by Marcus.Wassmer Fix rare GPU hang when asynctexture reallocs would overlap with EndFrame Change 3049058 on 2016/07/13 by Rolando.Caloca DR - vk - timestamps Change 3049725 on 2016/07/14 by Marcus.Wassmer Fix autosdk bug where not having a platform directory sync'd at all would break manual SDK detection Change 3049742 on 2016/07/14 by Rolando.Caloca DR - Fix warning Change 3049902 on 2016/07/14 by Rolando.Caloca DR - Fix typo Change 3050345 on 2016/07/14 by Olaf.Piesche UE-23925 Clamping noise tessellation for beams at a high but sensible value; also making sure during beam index buffer building that we never get over 2^16 indices; this is a bit hokey, but there are so many variables that can influence triangle/index count, that this is the only way to be sure (short of nuking the entire site from orbit). Change 3050409 on 2016/07/14 by Olaf.Piesche Replicating 3049049; missing break and check for active particles when resolving a source point to avoid a potential crash Change 3050809 on 2016/07/14 by Rolando.Caloca DR - vk - Remove redundant validation layers Change 3051319 on 2016/07/15 by Ben.Woodhouse Fix for world space camera position not being exposed in decal pixel shaders; also fixes decal lighting missing spec and reflection The fix was to calculate ResolvedView at the top of the shader. Previously this was not initialized #jira UE-31976 Change 3051692 on 2016/07/15 by Rolando.Caloca DR - vk - Enable RHI thread by default Change 3052103 on 2016/07/15 by Uriel.Doyon Disabled depth offset in depth only pixel shaders when using debug view shaders (to prevent Z fighting). #jira UE-32765 Change 3052140 on 2016/07/15 by Rolando.Caloca DR - vk - Fix shader snafu Change 3052495 on 2016/07/15 by Rolando.Caloca DR - Fix for Win32 compile #jira UE-33349 Change 3052536 on 2016/07/15 by Uriel.Doyon Fixed texture streaming overbudget warning when using per texture bias. [CL 3054554 by Gil Gribb in Main branch]
2016-07-18 17:17:08 -04:00
bool ContextWasAlreadyActive() const
{
return bSameDCAndContext;
}
bool ContextsShareSameDC() const
{
return bSameDC;
}
private:
HDC PrevDC;
HGLRC PrevContext;
bool bSameDCAndContext;
bool bSameDC;
};
void DeleteQueriesForCurrentContext( HGLRC Context );
/**
* A dummy wndproc.
*/
static LRESULT CALLBACK PlatformDummyGLWndproc(HWND hWnd, uint32 Message, WPARAM wParam, LPARAM lParam)
{
return DefWindowProc(hWnd, Message, wParam, lParam);
}
/**
* Initialize a pixel format descriptor for the given window handle.
*/
static void PlatformInitPixelFormatForDevice(HDC DeviceContext, bool bTryIsDummyContext)
{
// Pixel format descriptor for the context.
PIXELFORMATDESCRIPTOR PixelFormatDesc;
FMemory::Memzero(PixelFormatDesc);
PixelFormatDesc.nSize = sizeof(PIXELFORMATDESCRIPTOR);
PixelFormatDesc.nVersion = 1;
PixelFormatDesc.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;
PixelFormatDesc.iPixelType = PFD_TYPE_RGBA;
PixelFormatDesc.cColorBits = 32;
PixelFormatDesc.cDepthBits = 0;
PixelFormatDesc.cStencilBits = 0;
PixelFormatDesc.iLayerType = PFD_MAIN_PLANE;
static bool bRequestedQuadBufferStereo = FParse::Param(FCommandLine::Get(), TEXT("quad_buffer_stereo"));
if (bRequestedQuadBufferStereo)
{
PixelFormatDesc.dwFlags = PixelFormatDesc.dwFlags | PFD_STEREO;
}
// Set the pixel format and create the context.
int32 PixelFormat = ChoosePixelFormat(DeviceContext, &PixelFormatDesc);
if (!PixelFormat || !SetPixelFormat(DeviceContext, PixelFormat, &PixelFormatDesc))
{
UE_LOG(LogRHI, Fatal,TEXT("Failed to set pixel format for device context."));
}
}
/**
* Create a dummy window used to construct OpenGL contexts.
*/
static void PlatformCreateDummyGLWindow(FPlatformOpenGLContext* OutContext)
{
const TCHAR* WindowClassName = TEXT("DummyGLWindow");
// Register a dummy window class.
static bool bInitializedWindowClass = false;
if (!bInitializedWindowClass)
{
WNDCLASS wc;
bInitializedWindowClass = true;
FMemory::Memzero(wc);
wc.style = CS_OWNDC;
wc.lpfnWndProc = PlatformDummyGLWndproc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = NULL;
wc.hIcon = NULL;
wc.hCursor = NULL;
wc.hbrBackground = (HBRUSH)(COLOR_MENUTEXT);
wc.lpszMenuName = NULL;
wc.lpszClassName = WindowClassName;
ATOM ClassAtom = ::RegisterClass(&wc);
check(ClassAtom);
}
int32 WinX = 0;
int32 WinY = 0;
FParse::Value(FCommandLine::Get(), TEXT("WinX="), WinX);
FParse::Value(FCommandLine::Get(), TEXT("WinY="), WinY);
// Create a dummy window.
OutContext->WindowHandle = CreateWindowEx(
WS_EX_WINDOWEDGE,
WindowClassName,
NULL,
WS_POPUP,
WinX, WinY, 1, 1,
NULL, NULL, NULL, NULL);
check(OutContext->WindowHandle);
OutContext->bReleaseWindowOnDestroy = true;
// Get the device context.
OutContext->DeviceContext = GetDC(OutContext->WindowHandle);
check(OutContext->DeviceContext);
PlatformInitPixelFormatForDevice(OutContext->DeviceContext, true);
}
/**
* Set OpenGL Context version to fixed version
*/
static void GetOpenGLVersionForCoreProfile(int& OutMajorVersion, int& OutMinorVersion)
{
// Always initialize GL context with version 4.3, it's the only GL desktop version we support now
OutMajorVersion = 4;
OutMinorVersion = 3;
}
/**
* Enable/Disable debug context from the commandline
*/
static bool PlatformOpenGLDebugCtx()
{
#if UE_BUILD_DEBUG
return ! FParse::Param(FCommandLine::Get(),TEXT("openglNoDebug"));
#else
return FParse::Param(FCommandLine::Get(),TEXT("openglDebug"));;
#endif
}
/**
* Create a core profile OpenGL context.
*/
static void PlatformCreateOpenGLContextCore(FPlatformOpenGLContext* OutContext, int MajorVersion, int MinorVersion, HGLRC InParentContext)
{
check(wglCreateContextAttribsARB);
check(OutContext);
check(OutContext->DeviceContext);
OutContext->SyncInterval = -1; // invalid value to enforce setup on first buffer swap
OutContext->ViewportFramebuffer = 0;
int DebugFlag = 0;
if ( PlatformOpenGLDebugCtx())
{
DebugFlag = WGL_CONTEXT_DEBUG_BIT_ARB;
}
#if !EMULATE_ES31
int AttribList[] =
{
WGL_CONTEXT_MAJOR_VERSION_ARB, MajorVersion,
WGL_CONTEXT_MINOR_VERSION_ARB, MinorVersion,
WGL_CONTEXT_FLAGS_ARB, WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB | DebugFlag,
WGL_CONTEXT_PROFILE_MASK_ARB, WGL_CONTEXT_CORE_PROFILE_BIT_ARB,
0
};
#else
int AttribList[] =
{
WGL_CONTEXT_MAJOR_VERSION_ARB, 3,
WGL_CONTEXT_MINOR_VERSION_ARB, 1,
WGL_CONTEXT_FLAGS_ARB, DebugFlag,
WGL_CONTEXT_PROFILE_MASK_ARB, WGL_CONTEXT_ES2_PROFILE_BIT_EXT,
0
};
#endif
OutContext->OpenGLContext = wglCreateContextAttribsARB(OutContext->DeviceContext, InParentContext, AttribList);
}
void PlatformReleaseOpenGLContext(FPlatformOpenGLDevice* Device, FPlatformOpenGLContext* Context);
extern void OnQueryInvalidation( void );
/** Platform specific OpenGL device. */
struct FPlatformOpenGLDevice
{
FPlatformOpenGLContext SharedContext;
FPlatformOpenGLContext RenderingContext;
TArray<FPlatformOpenGLContext*> ViewportContexts;
bool TargetDirty;
/** Guards against operating on viewport contexts from more than one thread at the same time. */
FCriticalSection* ContextUsageGuard;
FPlatformOpenGLDevice()
: TargetDirty(true)
{
extern void InitDebugContext();
ContextUsageGuard = new FCriticalSection;
int MajorVersion = 0;
int MinorVersion = 0;
GetOpenGLVersionForCoreProfile(MajorVersion, MinorVersion);
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3122543 on 2016/09/13 by Ben.Woodhouse Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled. #jira UE-35878 Change 3122544 on 2016/09/13 by Ben.Woodhouse Shadow stencil optimisation with cvar (enabled by default) Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN. This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX) Shadow projection GPU time profiling : Test map with 35 characters, stationary directional light - 4ms-2ms on XB1 - 2.5ms to 0.9ms on PC (r9-390X) - 3ms-2ms on PS4 Paragon PS4 (roughly 20% reduced - from ~0.39ms) Change 3122687 on 2016/09/13 by Rolando.Caloca DR - vk - Fix ES31 crash Change 3122691 on 2016/09/13 by Rolando.Caloca DR - vk - Fixes for SDK 1.0.26.0 Change 3122778 on 2016/09/13 by Rolando.Caloca DR - vk - Fix number of layers on barrier Change 3122921 on 2016/09/13 by Rolando.Caloca DR - vk - Fix ES3.1 Change 3122925 on 2016/09/13 by Ben.Woodhouse Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor) #jira UE-35904 Change 3123016 on 2016/09/13 by Chris.Bunner Fixed adaptive tessellation, broken by CL 3089208 refactor. #jira UE-35341 Change 3123079 on 2016/09/13 by Rolando.Caloca DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily) Change 3123503 on 2016/09/13 by David.Hill #jira UE-25623 converted a check() to checkf() to include better diagnostic information. Change 3123617 on 2016/09/13 by Guillaume.Abadie Fixes artifact when the camera direction is almost parallel to a wide plane with SSR. #jira UE-35128 Change 3123743 on 2016/09/13 by Brian.Karis Separate mesh reduction interfaces for static and skeletal. Zero bad tangents from input mesh. Change 3125378 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them. Change 3125527 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix UT build and mac Change 3125741 on 2016/09/14 by Rolando.Caloca DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1) Change 3125763 on 2016/09/14 by Rolando.Caloca DR - vk - Added new Renderpass cache - Fix buffer barrier warning Change 3125769 on 2016/09/14 by Rolando.Caloca DR - Renamed cvar to r.DumpSCWQueuedJobs Change 3125771 on 2016/09/14 by Rolando.Caloca DR - Added support for SV_ClipDistance on GL3 & 4 Change 3125792 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix Odin and PS4 Change 3125880 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix Fortnite Change 3125968 on 2016/09/14 by Brian.Karis Removed comment Change 3126315 on 2016/09/15 by Ben.Woodhouse GPU profiler robustness - Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly - Simplify gathering logic - Fix race condition where we could read back queries before they're submitted on the RHI thread. - Fix for movie player stat gathering - disable gathering outside of the main engine tick #jira UE-35975 Change 3126792 on 2016/09/15 by Rolando.Caloca DR - vk - Release render pass cache Change 3126804 on 2016/09/15 by Rolando.Caloca DR - vk - Fix UpdateTexture2D() #jira UE-34151 Change 3126884 on 2016/09/15 by Rolando.Caloca DR - vk - Compile fix Change 3126953 on 2016/09/15 by Rolando.Caloca DR - Enable GPU capture when running OpenGL under RenderDoc - Will also set the memory mode to non coherent so not to kill performance on RenderDoc Change 3126966 on 2016/09/15 by Rolando.Caloca DR - Allow cooking for Vulkan SM4 to help with packaging Change 3127082 on 2016/09/15 by Guillaume.Abadie Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length. #jira UE-35367, UE-33602, UE-33603, UE-33604 #review-3125887 @brian.karis Change 3127130 on 2016/09/15 by Mark.Satterthwaite Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts. #jira FORT-25869 #jira UE-34263 Change 3127475 on 2016/09/15 by Rolando.Caloca DR - vk - Debug dump Change 3128131 on 2016/09/16 by Ben.Woodhouse (Integrated from //UE4/Private-Partner-NREAL/...) Alpha output support for postprocess materials (optional via a parameter) Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection) Change 3128135 on 2016/09/16 by Ben.Woodhouse GPU profiler (PS4) - remove bubbles between commandlist submissions from query times Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on) Also fixes some potential precision issues with unit GPU timing Change 3128247 on 2016/09/16 by Rolando.Caloca DR - vk - Cache framebuffers Change 3128593 on 2016/09/16 by Rolando.Caloca DR - vk - Fix for crash loading map #jira UE-36072 Change 3128759 on 2016/09/16 by Mark.Satterthwaite Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload. Change 3130236 on 2016/09/19 by Chris.Bunner Exposed full SceneCaptureComponent classes instead of select methods. #jira UE-35996 Change 3130388 on 2016/09/19 by Rolando.Caloca DR - Avoid crash when adding dynamic primitives #jira UE-35327 Change 3130393 on 2016/09/19 by Marc.Olano Improve vector noise tooltips & documentation Change 3130547 on 2016/09/19 by Ben.Woodhouse Fix for ensure fail when initializing point light shadowmaps. This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters. I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix. #jira UE-35837 Change 3130578 on 2016/09/19 by Daniel.Wright Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL Change 3130682 on 2016/09/19 by Rolando.Caloca DR - Better fix for UE-35327 #jira UE-35327 Change 3130767 on 2016/09/19 by Uriel.Doyon Better handling of color array in VisualizeComplexity code to prevent assert. #jira UE-29332 Change 3130965 on 2016/09/19 by Arne.Schober DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking. Change 3130967 on 2016/09/19 by Chris.Bunner Hid redundant texture sampler properties from texture object parameter. Hid redundant texture property input on texture parameter nodes. Fixed copy-paste error in expression texture parameter docs. #jira UE-32724 Change 3131118 on 2016/09/19 by Mark.Satterthwaite Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts. #jira FORT-25869 #jira UE-34263 Change 3131153 on 2016/09/19 by Rolando.Caloca DR - Fix recompute normals when triangles have a LHS tangent basis Integrate from 3028634 - Also make meshes that don't have morphs be able to run through the recompute normals path #jira UE-35472 Change 3131228 on 2016/09/19 by Mark.Satterthwaite Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early. #jira UE-35240 Change 3131246 on 2016/09/19 by Rolando.Caloca DR - Shrink gpu skinning permutations Change 3131261 on 2016/09/19 by Mark.Satterthwaite Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader. ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer. Change 3131265 on 2016/09/19 by Mark.Satterthwaite Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS. Change 3131271 on 2016/09/19 by Mark.Satterthwaite Use private memory for the Metal stencil SRV workaround needed on El Capitan. Change 3131273 on 2016/09/19 by Mark.Satterthwaite Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly. Change 3131280 on 2016/09/19 by Mark.Satterthwaite For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode. Change 3131283 on 2016/09/19 by Mark.Satterthwaite Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache. Change 3131402 on 2016/09/19 by Rolando.Caloca DR - Disambiguate callstack #jira UE-34415 Change 3131469 on 2016/09/19 by Rolando.Caloca DR - vk - Check if we can allocate descriptors off a pool Change 3131482 on 2016/09/19 by Rolando.Caloca DR - vk - Remove unused var Change 3131506 on 2016/09/19 by Mark.Satterthwaite With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS. Change 3131536 on 2016/09/19 by Rolando.Caloca DR - vk - Compile fix Change 3131564 on 2016/09/19 by Rolando.Caloca DR - vk - Submit Hint - Disable framebuffer recycling as its causing a hang Change 3131625 on 2016/09/19 by Mark.Satterthwaite Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required. Change 3131630 on 2016/09/19 by Mark.Satterthwaite More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful. Change 3131955 on 2016/09/20 by Gil.Gribb Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering) Change 3131978 on 2016/09/20 by Gil.Gribb CIS fix Change 3132584 on 2016/09/20 by Ben.Woodhouse Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling #jira UE-35937 Change 3132696 on 2016/09/20 by Mark.Satterthwaite Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it. Change 3132772 on 2016/09/20 by Mark.Satterthwaite Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient. Change 3132870 on 2016/09/20 by Ben.Woodhouse Fix mac compile error Change 3133049 on 2016/09/20 by Brian.Karis Changed light source shapes in reflection captures to use alpha Change 3133057 on 2016/09/20 by Brian.Karis Alphaed out on spot light cone as well. Change 3133263 on 2016/09/20 by Rolando.Caloca DR - vk - Debug names for objects Change 3133292 on 2016/09/20 by Rolando.Caloca DR - vk - Fix SRGB upload/formats Change 3133395 on 2016/09/20 by Rolando.Caloca DR - vk - SM5 fixes Change 3134026 on 2016/09/21 by Gil.Gribb Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering) Change 3134663 on 2016/09/21 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes. #jira UE-34347 Change 3134730 on 2016/09/21 by Arne.Schober DR - [UE-34481] - Fix minor brokenness found by Gil Change 3134792 on 2016/09/21 by Chris.Bunner Fixed compile errors for non-editor builds. Change 3135214 on 2016/09/21 by Rolando.Caloca DR - vk - Fix visualize texture - Dump memory when OOM (to track leaks) Change 3135225 on 2016/09/21 by Rolando.Caloca DR - vk - Ensure on exit if mem leak - Update fences if running wait for idle Change 3135672 on 2016/09/22 by Gil.Gribb Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering) Change 3135793 on 2016/09/22 by Rolando.Caloca DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer Change 3135816 on 2016/09/22 by Rolando.Caloca DR - Add names for d3d on renderdoc Change 3135894 on 2016/09/22 by Chris.Bunner Fixed initialization order warning. Change 3136024 on 2016/09/22 by Rolando.Caloca DR - vk - Fix stencil faces Change 3136042 on 2016/09/22 by Marcus.Wassmer Fix compile error Change 3136046 on 2016/09/22 by Chris.Bunner Renamed material for PostTonemapHDRColor visualization to reflect actual usage. Change 3136308 on 2016/09/22 by Uriel.Doyon Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript. #jira UE-36094 Change 3136798 on 2016/09/22 by Chris.Bunner Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer. Change 3137092 on 2016/09/22 by Rolando.Caloca DR - vk - Rename pipeline to gfx pipeline Change 3137263 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135157: Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access. #jira FORT-30061 Change 3137265 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135169: Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled). Change 3137266 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135237: Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer. Change 3137268 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3136033: To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra. Fix GPU selection code in MetalRHI to confirm everything is working. #jira FORT-30385 Change 3137269 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3137164: Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails. #jira FORT-30377 Change 3137606 on 2016/09/23 by Gil.Gribb Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering) Change 3137936 on 2016/09/23 by Rolando.Caloca DR - Split RHICmdList clear into color & ds in prep for changes Change 3138346 on 2016/09/23 by Rolando.Caloca DR - vk - Some renaming and splitting classes in prep for compute Change 3138628 on 2016/09/23 by Rolando.Caloca DR - vk - Fix mem leak on framebuffers Change 3138721 on 2016/09/23 by Daniel.Wright Better comment for r.DefaultFeature.AntiAliasing Change 3138722 on 2016/09/23 by Daniel.Wright Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface Change 3138723 on 2016/09/23 by Daniel.Wright Corrected GC doc Change 3138892 on 2016/09/23 by Daniel.Wright Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build Change 3138905 on 2016/09/23 by Daniel.Wright "Optimizations" -> "Optimization Viewmodes" Change 3138939 on 2016/09/23 by Daniel.Wright Disabled the stationary light overlap viewmode with forward shading Change 3139710 on 2016/09/26 by Rolando.Caloca DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture Change 3139820 on 2016/09/26 by Rolando.Caloca DR - Remove prefix from shader frequency strings Change 3139828 on 2016/09/26 by Marcus.Wassmer Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization. Change 3139840 on 2016/09/26 by Benjamin.Hyder Adding VectorNoise Examples to TM-Noise map Change 3139862 on 2016/09/26 by Rolando.Caloca DR - Better log to track down crash #jira UE-36271 Change 3140142 on 2016/09/26 by Rolando.Caloca DR - Fix clang warning Change 3140145 on 2016/09/26 by Rolando.Caloca DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters Change 3140360 on 2016/09/26 by Daniel.Wright Lighting Scenarios and lightmaps moved to separate package * Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world. * Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds. * If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it. * For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load. * Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times. Change 3140361 on 2016/09/26 by Daniel.Wright Lighting Scenarios UI Change 3140582 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140166 Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one. #jira FORT-30551 Change 3140584 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140131: Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU. #jira FORT-30622 Change 3140586 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140450: Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly. #jira FORT-30649 Change 3140594 on 2016/09/26 by Zabir.Hoque Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error. Change 3140601 on 2016/09/26 by Marcus.Wassmer New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR Change 3140602 on 2016/09/26 by Zabir.Hoque CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it. #Tests: Fix was tested by licensee (GearBox). Change 3140622 on 2016/09/26 by Rolando.Caloca DR - vk - More prep for sm5 Change 3140765 on 2016/09/26 by Rolando.Caloca DR - Fix ensure from bad clear depth surface Change 3141251 on 2016/09/27 by Rolando.Caloca DR - vk - Rename & cleanup Change 3141394 on 2016/09/27 by Rolando.Caloca DR - vk - Compute pipeline state Change 3141463 on 2016/09/27 by Mark.Satterthwaite Fix the include order to avoid compile errors on Mac. Change 3141529 on 2016/09/27 by Gil.Gribb Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering) Change 3141830 on 2016/09/27 by zachary.wilson Adding testing content for lighting scenarios to collaborate with Ben Change 3141941 on 2016/09/27 by Olaf.Piesche Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer. Change 3142035 on 2016/09/27 by Olaf.Piesche Fix compiler error from silly leftover bit of code. Change 3142065 on 2016/09/27 by Benjamin.Hyder Updating Lighting Scenario map Change 3142262 on 2016/09/27 by Mark.Satterthwaite Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform: On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications. On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2 #jira UE-35749 Change 3142292 on 2016/09/27 by Rolando.Caloca DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error #jira UE-31438 Change 3142397 on 2016/09/27 by Mark.Satterthwaite Update hlslcc for Mac including RCO's changes in CL #3142292. #jira UE-31438 Change 3142438 on 2016/09/27 by Daniel.Wright UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking Change 3142452 on 2016/09/27 by Rolando.Caloca DR - Proper support for int defines Change 3142519 on 2016/09/27 by Arne.Schober DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available. Change 3142537 on 2016/09/27 by Daniel.Wright Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset Change 3142691 on 2016/09/27 by Daniel.Wright Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content Change 3142711 on 2016/09/27 by Daniel.Wright GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser Change 3142712 on 2016/09/27 by Daniel.Wright Separate category for ParticleCutout properties Change 3142762 on 2016/09/27 by Uriel.Doyon Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds. The density are computed by the engine but can be overridden by the user in the material tabs. Texture streaming intermediate component data is now per material instead of per lod-section. New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode. This is currently used to show which UV channel and which texture index is being shown in the texture streaming accuracy viewmodes. This replaces r.Streaming.AnalysisIndex Renamed texture streaming viewmodes: MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales Improved UV density computation and viewmode. LightmapUVDensity is now computed separately from UVChannel Density. Fixed texture streaming for instanced static mesh component and derived types. Change 3143464 on 2016/09/28 by Daniel.Wright Removed 'experimental' from forward shading setting Change 3143508 on 2016/09/28 by Chris.Bunner Added component type handling to FoldedMath and Length material expressions. #jira UE-36304 Change 3143557 on 2016/09/28 by Rolando.Caloca DR - Back out changelist 3142292 Change 3143563 on 2016/09/28 by Rolando.Caloca DR - vk - Force hlslcc re-link Change 3143648 on 2016/09/28 by Daniel.Wright Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already. Change 3143661 on 2016/09/28 by Chris.Bunner Warning fix. Change 3143723 on 2016/09/28 by Daniel.Wright DumpUnbuiltLightIteractions after lighting build for debugging Change 3143822 on 2016/09/28 by Arne.Schober DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows. Change 3143860 on 2016/09/28 by Benjamin.Hyder Updating TM-Noise map to include 3d noise examples Change 3143939 on 2016/09/28 by Rolando.Caloca DR - vk - Better debugging of submissions - Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs Change 3144006 on 2016/09/28 by Brian.Karis Fixed PixelError not being set correctly with LOD groups. Removed unneeded Simplygon references. Mesh reduction module can now be chosen by name with r.MeshReductionModule Change 3144026 on 2016/09/28 by Benjamin.Hyder Updating QA-Effects map to correct numbering issue Change 3144098 on 2016/09/28 by Arne.Schober DR - ViewMatrices Refactoring - Fix UT Change 3144158 on 2016/09/28 by Rolando.Caloca DR - Undo splitting RHI command context Change 3144952 on 2016/09/29 by Rolando.Caloca DR - vk - Missing swapchain flag Change 3145064 on 2016/09/29 by Olaf.Piesche #jira UE-36091 Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly. Change 3145354 on 2016/09/29 by Benjamin.Hyder Updating Tm-ContactShadows Change 3145485 on 2016/09/29 by Daniel.Wright Made SeamlessTravelLoadCallback handle legacy lightmaps Change 3145527 on 2016/09/29 by Daniel.Wright Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel Change 3145530 on 2016/09/29 by Simon.Tovey UE-36188 - Editor crash when updating hierarchical instance static mesh component Dirtied render state rather than unsafe update of bounds. Change 3145608 on 2016/09/29 by Gil.Gribb Attempt to fix a random compiler error under win32 Change 3145749 on 2016/09/29 by Uriel.Doyon Fix for static analysis warning Change 3146091 on 2016/09/29 by Zabir.Hoque RHI Interface changes to support PSO based APIs Change 3146092 on 2016/09/29 by Zabir.Hoque D3D12 RHI support for PSO based APIs. Change 3146590 on 2016/09/30 by Gil.Gribb Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering) Change 3146731 on 2016/09/30 by Rolando.Caloca DR - Fix merge conflicts Change 3146778 on 2016/09/30 by Rolando.Caloca DR - More integration compile fixes Change 3146790 on 2016/09/30 by Rolando.Caloca DR - Integration fix Change 3146849 on 2016/09/30 by Rolando.Caloca DR - Final integration fix Change 3146899 on 2016/09/30 by Daniel.Wright Static analysis fix for dereferencing World Change 3147020 on 2016/09/30 by Rolando.Caloca DR - vk - Fix depth issue on AMD cards - Added VULKAN_KEEP_CREATE_INFO to help debugging creation - Added num color attachments to pipeline key Change 3147034 on 2016/09/30 by Rolando.Caloca DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines #jira UE-36277 #jira UE-36500 Change 3147080 on 2016/09/30 by Rolando.Caloca DR - vk - Disable debug info by default Change 3147082 on 2016/09/30 by Chris.Bunner Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list. #jira UE-36491 Change 3147388 on 2016/09/30 by Chris.Bunner Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers. #jira UE-35288 Change 3147394 on 2016/09/30 by Chris.Bunner Additional logging for rare error. #jira UE-35812 Change 3147459 on 2016/09/30 by Rolando.Caloca DR - vk - Some more srgb formats Change 3147537 on 2016/09/30 by Rolando.Caloca DR - vk - Standarize srgb flag like D3D11 - Minor FVulkanShader cleanup Change 3147620 on 2016/09/30 by Olaf.Piesche #jira UE=34486 particle component tick function task can be invalid during pause; add check Change 3148028 on 2016/10/01 by Daniel.Wright Renamed RenderingSettings.cpp to match header Change 3148059 on 2016/10/01 by Daniel.Wright Disabled reparenting in the profiler which is disorienting Change 3148067 on 2016/10/01 by Daniel.Wright Support for ReflectionEnvironment and light type show flags with ForwardShading Change 3148069 on 2016/10/01 by Daniel.Wright Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars Change 3148072 on 2016/10/01 by Daniel.Wright Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness Change 3148073 on 2016/10/01 by Daniel.Wright r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream Change 3148074 on 2016/10/01 by Daniel.Wright Enabled planar reflection receiving on the material used for the preview of a APlanarReflection Change 3148084 on 2016/10/01 by Daniel.Wright Fixed reflections on Surface TranslucencyVolume in deferred Change 3148085 on 2016/10/01 by Daniel.Wright Fixed planar reflection composite being done too many times in stereo deferred Change 3148086 on 2016/10/01 by Daniel.Wright Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10. Change 3148107 on 2016/10/01 by Daniel.Wright CIS fix Change 3148113 on 2016/10/01 by Daniel.Wright Translucency lighting modes for forward shading * Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway Change 3148306 on 2016/10/02 by Rolando.Caloca DR - vk - Fix for some NV drivers on Win10 Change 3148307 on 2016/10/02 by Rolando.Caloca DR - vk - Compute pipeline Change 3148358 on 2016/10/02 by Rolando.Caloca DR - vk - Consolidate and renumber enum for binding types Change 3148396 on 2016/10/03 by Rolando.Caloca DR - vk - Warning fix Change 3148697 on 2016/10/03 by Benjamin.Hyder Submitting M_Chromebal after enabling planar reflectionsl Change 3148799 on 2016/10/03 by Rolando.Caloca DR - vk - static analysis fix Change 3148934 on 2016/10/03 by Chris.Bunner Added pre-skinned local position material graph node, vertex shader only. Change 3148994 on 2016/10/03 by Chris.Bunner Added missing header file. Change 3149085 on 2016/10/03 by Daniel.Wright Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead Change 3149095 on 2016/10/03 by Rolando.Caloca DR - vk - Disable new render passes Change 3149125 on 2016/10/03 by Rolando.Caloca DR - vk - Fix for multiple memory types Change 3149181 on 2016/10/03 by Rolando.Caloca DR - Better message when missing pipelines Change 3149215 on 2016/10/03 by Rolando.Caloca DR - RHIClearColor -> RHIClearColorTexture #tests Orion Editor run match on Agora_P Change 3149288 on 2016/10/03 by Chris.Bunner Added PreTonemapHDRColor for buffer visualization and target output. #jira UE-36333 Change 3149402 on 2016/10/03 by Daniel.Wright Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res) Change 3149403 on 2016/10/03 by Daniel.Wright Forward lighting supports lighting channels Change 3149574 on 2016/10/03 by Marcus.Wassmer PR #2817: Ansel/Photography system (Contributed by adamnv) Modified to become a plugin Change 3149615 on 2016/10/03 by Rolando.Caloca DR - vk - Fix PF_G16R16 which fixes reflections Change 3149639 on 2016/10/03 by Olaf.Piesche Adding more ensures to catch NaNs occasionally appearing in particle locations early Change 3149745 on 2016/10/03 by Uriel.Doyon Moved UVDensity computation in the staticmesh DDC. Change 3149749 on 2016/10/03 by Daniel.Wright Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility Change 3149755 on 2016/10/03 by Benjamin.Hyder Checking in built lighting for QA-postprocessing Change 3149758 on 2016/10/03 by Benjamin.Hyder re-submitting built lighting for QA-PostProcessing Change 3149940 on 2016/10/04 by Gil.Gribb Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering) Change 3150098 on 2016/10/04 by Marcus.Wassmer Fix some clang and win32 errors Change 3150323 on 2016/10/04 by Rolando.Caloca DR - vk - Static analysis fix Change 3150456 on 2016/10/04 by Daniel.Wright Revert temp logs Change 3150731 on 2016/10/04 by Daniel.Wright Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid Change 3150795 on 2016/10/04 by Marcus.Wassmer Fix RHIClearUAV and Drawindirect bugs on PS4. Also fix PS4 compile error from bad merge. Change 3151065 on 2016/10/04 by Ben.Marsh Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering) Change 3151134 on 2016/10/04 by Brian.Karis Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array. Change 3151201 on 2016/10/04 by Marcus.Wassmer Nvidia approved icon for ansel plugin. Change 3151240 on 2016/10/04 by Marcus.Wassmer Fix string concat build error. Change 3151258 on 2016/10/04 by Ben.Marsh Fix compile error. Change 3151290 on 2016/10/04 by Marcus.Wassmer Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix. Change 3152104 on 2016/10/05 by Chris.Bunner Workaround for legacy BreakMA material node invalid component masks. #jira UE-36832 Change 3152130 on 2016/10/05 by Ben.Woodhouse Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling #jira UE-35890 Change 3152240 on 2016/10/05 by Rolando.Caloca DR - Fix for missing gizmo colors #jira UE-36515 Change 3152338 on 2016/10/05 by Daniel.Wright Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker Change 3152833 on 2016/10/05 by Brian.Karis Improved precision of quadrics. Fixes bad triangles on large meshes Change 3153376 on 2016/10/06 by Rolando.Caloca DR - Fix for SM4 missing pipelines fallout Change 3153650 on 2016/10/06 by Gil.Gribb Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering) Change 3153656 on 2016/10/06 by Uriel.Doyon Fixed main integration compilation issues. Some of the Mesh UVDensity UI is temporary disabled. Change 3153725 on 2016/10/06 by Uriel.Doyon Fixed crash when source data is missing for lightmaps #jira UE-36157 Change 3153998 on 2016/10/06 by Gil.Gribb Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering) Change 3154056 on 2016/10/06 by Marcus.Wassmer Fix compile errors from merge. Also restore some light scencario code Change 3154176 on 2016/10/06 by Marcus.Wassmer Fix deprecation warning Change 3154252 on 2016/10/06 by Marcus.Wassmer Fix more deprecation warnings Change 3154632 on 2016/10/07 by Chris.Bunner Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function. #jira UE-37002 [CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
// Need to call this before we set the debug callback, otherwise if we're not running under RD, the debug extension will assert (invalid enum)
GRunningUnderRenderDoc = glIsEnabled(GL_DEBUG_TOOL_EXT) != GL_FALSE;
PlatformCreateDummyGLWindow(&SharedContext);
PlatformCreateOpenGLContextCore(&SharedContext, MajorVersion, MinorVersion, NULL);
check(SharedContext.OpenGLContext)
{
FScopeContext ScopeContext(&SharedContext);
InitDebugContext();
glGenVertexArrays(1,&SharedContext.VertexArrayObject);
glBindVertexArray(SharedContext.VertexArrayObject);
InitDefaultGLContextState();
glGenFramebuffers(1, &SharedContext.ViewportFramebuffer);
}
PlatformCreateDummyGLWindow(&RenderingContext);
PlatformCreateOpenGLContextCore(&RenderingContext, MajorVersion, MinorVersion, SharedContext.OpenGLContext);
check(RenderingContext.OpenGLContext);
{
FScopeContext ScopeContext(&RenderingContext);
InitDebugContext();
glGenVertexArrays(1,&RenderingContext.VertexArrayObject);
glBindVertexArray(RenderingContext.VertexArrayObject);
InitDefaultGLContextState();
glGenFramebuffers(1, &RenderingContext.ViewportFramebuffer);
}
ContextMakeCurrent(SharedContext.DeviceContext, SharedContext.OpenGLContext);
}
~FPlatformOpenGLDevice()
{
check(ViewportContexts.Num()==0);
ContextMakeCurrent(NULL,NULL);
OnQueryInvalidation();
PlatformReleaseOpenGLContext(this,&RenderingContext);
PlatformReleaseOpenGLContext(this,&SharedContext);
delete ContextUsageGuard;
}
};
FPlatformOpenGLDevice* PlatformCreateOpenGLDevice()
{
return new FPlatformOpenGLDevice;
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3122543 on 2016/09/13 by Ben.Woodhouse Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled. #jira UE-35878 Change 3122544 on 2016/09/13 by Ben.Woodhouse Shadow stencil optimisation with cvar (enabled by default) Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN. This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX) Shadow projection GPU time profiling : Test map with 35 characters, stationary directional light - 4ms-2ms on XB1 - 2.5ms to 0.9ms on PC (r9-390X) - 3ms-2ms on PS4 Paragon PS4 (roughly 20% reduced - from ~0.39ms) Change 3122687 on 2016/09/13 by Rolando.Caloca DR - vk - Fix ES31 crash Change 3122691 on 2016/09/13 by Rolando.Caloca DR - vk - Fixes for SDK 1.0.26.0 Change 3122778 on 2016/09/13 by Rolando.Caloca DR - vk - Fix number of layers on barrier Change 3122921 on 2016/09/13 by Rolando.Caloca DR - vk - Fix ES3.1 Change 3122925 on 2016/09/13 by Ben.Woodhouse Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor) #jira UE-35904 Change 3123016 on 2016/09/13 by Chris.Bunner Fixed adaptive tessellation, broken by CL 3089208 refactor. #jira UE-35341 Change 3123079 on 2016/09/13 by Rolando.Caloca DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily) Change 3123503 on 2016/09/13 by David.Hill #jira UE-25623 converted a check() to checkf() to include better diagnostic information. Change 3123617 on 2016/09/13 by Guillaume.Abadie Fixes artifact when the camera direction is almost parallel to a wide plane with SSR. #jira UE-35128 Change 3123743 on 2016/09/13 by Brian.Karis Separate mesh reduction interfaces for static and skeletal. Zero bad tangents from input mesh. Change 3125378 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them. Change 3125527 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix UT build and mac Change 3125741 on 2016/09/14 by Rolando.Caloca DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1) Change 3125763 on 2016/09/14 by Rolando.Caloca DR - vk - Added new Renderpass cache - Fix buffer barrier warning Change 3125769 on 2016/09/14 by Rolando.Caloca DR - Renamed cvar to r.DumpSCWQueuedJobs Change 3125771 on 2016/09/14 by Rolando.Caloca DR - Added support for SV_ClipDistance on GL3 & 4 Change 3125792 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix Odin and PS4 Change 3125880 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix Fortnite Change 3125968 on 2016/09/14 by Brian.Karis Removed comment Change 3126315 on 2016/09/15 by Ben.Woodhouse GPU profiler robustness - Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly - Simplify gathering logic - Fix race condition where we could read back queries before they're submitted on the RHI thread. - Fix for movie player stat gathering - disable gathering outside of the main engine tick #jira UE-35975 Change 3126792 on 2016/09/15 by Rolando.Caloca DR - vk - Release render pass cache Change 3126804 on 2016/09/15 by Rolando.Caloca DR - vk - Fix UpdateTexture2D() #jira UE-34151 Change 3126884 on 2016/09/15 by Rolando.Caloca DR - vk - Compile fix Change 3126953 on 2016/09/15 by Rolando.Caloca DR - Enable GPU capture when running OpenGL under RenderDoc - Will also set the memory mode to non coherent so not to kill performance on RenderDoc Change 3126966 on 2016/09/15 by Rolando.Caloca DR - Allow cooking for Vulkan SM4 to help with packaging Change 3127082 on 2016/09/15 by Guillaume.Abadie Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length. #jira UE-35367, UE-33602, UE-33603, UE-33604 #review-3125887 @brian.karis Change 3127130 on 2016/09/15 by Mark.Satterthwaite Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts. #jira FORT-25869 #jira UE-34263 Change 3127475 on 2016/09/15 by Rolando.Caloca DR - vk - Debug dump Change 3128131 on 2016/09/16 by Ben.Woodhouse (Integrated from //UE4/Private-Partner-NREAL/...) Alpha output support for postprocess materials (optional via a parameter) Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection) Change 3128135 on 2016/09/16 by Ben.Woodhouse GPU profiler (PS4) - remove bubbles between commandlist submissions from query times Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on) Also fixes some potential precision issues with unit GPU timing Change 3128247 on 2016/09/16 by Rolando.Caloca DR - vk - Cache framebuffers Change 3128593 on 2016/09/16 by Rolando.Caloca DR - vk - Fix for crash loading map #jira UE-36072 Change 3128759 on 2016/09/16 by Mark.Satterthwaite Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload. Change 3130236 on 2016/09/19 by Chris.Bunner Exposed full SceneCaptureComponent classes instead of select methods. #jira UE-35996 Change 3130388 on 2016/09/19 by Rolando.Caloca DR - Avoid crash when adding dynamic primitives #jira UE-35327 Change 3130393 on 2016/09/19 by Marc.Olano Improve vector noise tooltips & documentation Change 3130547 on 2016/09/19 by Ben.Woodhouse Fix for ensure fail when initializing point light shadowmaps. This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters. I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix. #jira UE-35837 Change 3130578 on 2016/09/19 by Daniel.Wright Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL Change 3130682 on 2016/09/19 by Rolando.Caloca DR - Better fix for UE-35327 #jira UE-35327 Change 3130767 on 2016/09/19 by Uriel.Doyon Better handling of color array in VisualizeComplexity code to prevent assert. #jira UE-29332 Change 3130965 on 2016/09/19 by Arne.Schober DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking. Change 3130967 on 2016/09/19 by Chris.Bunner Hid redundant texture sampler properties from texture object parameter. Hid redundant texture property input on texture parameter nodes. Fixed copy-paste error in expression texture parameter docs. #jira UE-32724 Change 3131118 on 2016/09/19 by Mark.Satterthwaite Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts. #jira FORT-25869 #jira UE-34263 Change 3131153 on 2016/09/19 by Rolando.Caloca DR - Fix recompute normals when triangles have a LHS tangent basis Integrate from 3028634 - Also make meshes that don't have morphs be able to run through the recompute normals path #jira UE-35472 Change 3131228 on 2016/09/19 by Mark.Satterthwaite Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early. #jira UE-35240 Change 3131246 on 2016/09/19 by Rolando.Caloca DR - Shrink gpu skinning permutations Change 3131261 on 2016/09/19 by Mark.Satterthwaite Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader. ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer. Change 3131265 on 2016/09/19 by Mark.Satterthwaite Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS. Change 3131271 on 2016/09/19 by Mark.Satterthwaite Use private memory for the Metal stencil SRV workaround needed on El Capitan. Change 3131273 on 2016/09/19 by Mark.Satterthwaite Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly. Change 3131280 on 2016/09/19 by Mark.Satterthwaite For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode. Change 3131283 on 2016/09/19 by Mark.Satterthwaite Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache. Change 3131402 on 2016/09/19 by Rolando.Caloca DR - Disambiguate callstack #jira UE-34415 Change 3131469 on 2016/09/19 by Rolando.Caloca DR - vk - Check if we can allocate descriptors off a pool Change 3131482 on 2016/09/19 by Rolando.Caloca DR - vk - Remove unused var Change 3131506 on 2016/09/19 by Mark.Satterthwaite With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS. Change 3131536 on 2016/09/19 by Rolando.Caloca DR - vk - Compile fix Change 3131564 on 2016/09/19 by Rolando.Caloca DR - vk - Submit Hint - Disable framebuffer recycling as its causing a hang Change 3131625 on 2016/09/19 by Mark.Satterthwaite Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required. Change 3131630 on 2016/09/19 by Mark.Satterthwaite More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful. Change 3131955 on 2016/09/20 by Gil.Gribb Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering) Change 3131978 on 2016/09/20 by Gil.Gribb CIS fix Change 3132584 on 2016/09/20 by Ben.Woodhouse Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling #jira UE-35937 Change 3132696 on 2016/09/20 by Mark.Satterthwaite Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it. Change 3132772 on 2016/09/20 by Mark.Satterthwaite Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient. Change 3132870 on 2016/09/20 by Ben.Woodhouse Fix mac compile error Change 3133049 on 2016/09/20 by Brian.Karis Changed light source shapes in reflection captures to use alpha Change 3133057 on 2016/09/20 by Brian.Karis Alphaed out on spot light cone as well. Change 3133263 on 2016/09/20 by Rolando.Caloca DR - vk - Debug names for objects Change 3133292 on 2016/09/20 by Rolando.Caloca DR - vk - Fix SRGB upload/formats Change 3133395 on 2016/09/20 by Rolando.Caloca DR - vk - SM5 fixes Change 3134026 on 2016/09/21 by Gil.Gribb Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering) Change 3134663 on 2016/09/21 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes. #jira UE-34347 Change 3134730 on 2016/09/21 by Arne.Schober DR - [UE-34481] - Fix minor brokenness found by Gil Change 3134792 on 2016/09/21 by Chris.Bunner Fixed compile errors for non-editor builds. Change 3135214 on 2016/09/21 by Rolando.Caloca DR - vk - Fix visualize texture - Dump memory when OOM (to track leaks) Change 3135225 on 2016/09/21 by Rolando.Caloca DR - vk - Ensure on exit if mem leak - Update fences if running wait for idle Change 3135672 on 2016/09/22 by Gil.Gribb Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering) Change 3135793 on 2016/09/22 by Rolando.Caloca DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer Change 3135816 on 2016/09/22 by Rolando.Caloca DR - Add names for d3d on renderdoc Change 3135894 on 2016/09/22 by Chris.Bunner Fixed initialization order warning. Change 3136024 on 2016/09/22 by Rolando.Caloca DR - vk - Fix stencil faces Change 3136042 on 2016/09/22 by Marcus.Wassmer Fix compile error Change 3136046 on 2016/09/22 by Chris.Bunner Renamed material for PostTonemapHDRColor visualization to reflect actual usage. Change 3136308 on 2016/09/22 by Uriel.Doyon Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript. #jira UE-36094 Change 3136798 on 2016/09/22 by Chris.Bunner Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer. Change 3137092 on 2016/09/22 by Rolando.Caloca DR - vk - Rename pipeline to gfx pipeline Change 3137263 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135157: Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access. #jira FORT-30061 Change 3137265 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135169: Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled). Change 3137266 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135237: Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer. Change 3137268 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3136033: To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra. Fix GPU selection code in MetalRHI to confirm everything is working. #jira FORT-30385 Change 3137269 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3137164: Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails. #jira FORT-30377 Change 3137606 on 2016/09/23 by Gil.Gribb Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering) Change 3137936 on 2016/09/23 by Rolando.Caloca DR - Split RHICmdList clear into color & ds in prep for changes Change 3138346 on 2016/09/23 by Rolando.Caloca DR - vk - Some renaming and splitting classes in prep for compute Change 3138628 on 2016/09/23 by Rolando.Caloca DR - vk - Fix mem leak on framebuffers Change 3138721 on 2016/09/23 by Daniel.Wright Better comment for r.DefaultFeature.AntiAliasing Change 3138722 on 2016/09/23 by Daniel.Wright Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface Change 3138723 on 2016/09/23 by Daniel.Wright Corrected GC doc Change 3138892 on 2016/09/23 by Daniel.Wright Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build Change 3138905 on 2016/09/23 by Daniel.Wright "Optimizations" -> "Optimization Viewmodes" Change 3138939 on 2016/09/23 by Daniel.Wright Disabled the stationary light overlap viewmode with forward shading Change 3139710 on 2016/09/26 by Rolando.Caloca DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture Change 3139820 on 2016/09/26 by Rolando.Caloca DR - Remove prefix from shader frequency strings Change 3139828 on 2016/09/26 by Marcus.Wassmer Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization. Change 3139840 on 2016/09/26 by Benjamin.Hyder Adding VectorNoise Examples to TM-Noise map Change 3139862 on 2016/09/26 by Rolando.Caloca DR - Better log to track down crash #jira UE-36271 Change 3140142 on 2016/09/26 by Rolando.Caloca DR - Fix clang warning Change 3140145 on 2016/09/26 by Rolando.Caloca DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters Change 3140360 on 2016/09/26 by Daniel.Wright Lighting Scenarios and lightmaps moved to separate package * Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world. * Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds. * If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it. * For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load. * Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times. Change 3140361 on 2016/09/26 by Daniel.Wright Lighting Scenarios UI Change 3140582 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140166 Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one. #jira FORT-30551 Change 3140584 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140131: Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU. #jira FORT-30622 Change 3140586 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140450: Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly. #jira FORT-30649 Change 3140594 on 2016/09/26 by Zabir.Hoque Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error. Change 3140601 on 2016/09/26 by Marcus.Wassmer New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR Change 3140602 on 2016/09/26 by Zabir.Hoque CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it. #Tests: Fix was tested by licensee (GearBox). Change 3140622 on 2016/09/26 by Rolando.Caloca DR - vk - More prep for sm5 Change 3140765 on 2016/09/26 by Rolando.Caloca DR - Fix ensure from bad clear depth surface Change 3141251 on 2016/09/27 by Rolando.Caloca DR - vk - Rename & cleanup Change 3141394 on 2016/09/27 by Rolando.Caloca DR - vk - Compute pipeline state Change 3141463 on 2016/09/27 by Mark.Satterthwaite Fix the include order to avoid compile errors on Mac. Change 3141529 on 2016/09/27 by Gil.Gribb Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering) Change 3141830 on 2016/09/27 by zachary.wilson Adding testing content for lighting scenarios to collaborate with Ben Change 3141941 on 2016/09/27 by Olaf.Piesche Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer. Change 3142035 on 2016/09/27 by Olaf.Piesche Fix compiler error from silly leftover bit of code. Change 3142065 on 2016/09/27 by Benjamin.Hyder Updating Lighting Scenario map Change 3142262 on 2016/09/27 by Mark.Satterthwaite Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform: On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications. On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2 #jira UE-35749 Change 3142292 on 2016/09/27 by Rolando.Caloca DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error #jira UE-31438 Change 3142397 on 2016/09/27 by Mark.Satterthwaite Update hlslcc for Mac including RCO's changes in CL #3142292. #jira UE-31438 Change 3142438 on 2016/09/27 by Daniel.Wright UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking Change 3142452 on 2016/09/27 by Rolando.Caloca DR - Proper support for int defines Change 3142519 on 2016/09/27 by Arne.Schober DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available. Change 3142537 on 2016/09/27 by Daniel.Wright Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset Change 3142691 on 2016/09/27 by Daniel.Wright Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content Change 3142711 on 2016/09/27 by Daniel.Wright GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser Change 3142712 on 2016/09/27 by Daniel.Wright Separate category for ParticleCutout properties Change 3142762 on 2016/09/27 by Uriel.Doyon Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds. The density are computed by the engine but can be overridden by the user in the material tabs. Texture streaming intermediate component data is now per material instead of per lod-section. New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode. This is currently used to show which UV channel and which texture index is being shown in the texture streaming accuracy viewmodes. This replaces r.Streaming.AnalysisIndex Renamed texture streaming viewmodes: MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales Improved UV density computation and viewmode. LightmapUVDensity is now computed separately from UVChannel Density. Fixed texture streaming for instanced static mesh component and derived types. Change 3143464 on 2016/09/28 by Daniel.Wright Removed 'experimental' from forward shading setting Change 3143508 on 2016/09/28 by Chris.Bunner Added component type handling to FoldedMath and Length material expressions. #jira UE-36304 Change 3143557 on 2016/09/28 by Rolando.Caloca DR - Back out changelist 3142292 Change 3143563 on 2016/09/28 by Rolando.Caloca DR - vk - Force hlslcc re-link Change 3143648 on 2016/09/28 by Daniel.Wright Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already. Change 3143661 on 2016/09/28 by Chris.Bunner Warning fix. Change 3143723 on 2016/09/28 by Daniel.Wright DumpUnbuiltLightIteractions after lighting build for debugging Change 3143822 on 2016/09/28 by Arne.Schober DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows. Change 3143860 on 2016/09/28 by Benjamin.Hyder Updating TM-Noise map to include 3d noise examples Change 3143939 on 2016/09/28 by Rolando.Caloca DR - vk - Better debugging of submissions - Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs Change 3144006 on 2016/09/28 by Brian.Karis Fixed PixelError not being set correctly with LOD groups. Removed unneeded Simplygon references. Mesh reduction module can now be chosen by name with r.MeshReductionModule Change 3144026 on 2016/09/28 by Benjamin.Hyder Updating QA-Effects map to correct numbering issue Change 3144098 on 2016/09/28 by Arne.Schober DR - ViewMatrices Refactoring - Fix UT Change 3144158 on 2016/09/28 by Rolando.Caloca DR - Undo splitting RHI command context Change 3144952 on 2016/09/29 by Rolando.Caloca DR - vk - Missing swapchain flag Change 3145064 on 2016/09/29 by Olaf.Piesche #jira UE-36091 Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly. Change 3145354 on 2016/09/29 by Benjamin.Hyder Updating Tm-ContactShadows Change 3145485 on 2016/09/29 by Daniel.Wright Made SeamlessTravelLoadCallback handle legacy lightmaps Change 3145527 on 2016/09/29 by Daniel.Wright Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel Change 3145530 on 2016/09/29 by Simon.Tovey UE-36188 - Editor crash when updating hierarchical instance static mesh component Dirtied render state rather than unsafe update of bounds. Change 3145608 on 2016/09/29 by Gil.Gribb Attempt to fix a random compiler error under win32 Change 3145749 on 2016/09/29 by Uriel.Doyon Fix for static analysis warning Change 3146091 on 2016/09/29 by Zabir.Hoque RHI Interface changes to support PSO based APIs Change 3146092 on 2016/09/29 by Zabir.Hoque D3D12 RHI support for PSO based APIs. Change 3146590 on 2016/09/30 by Gil.Gribb Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering) Change 3146731 on 2016/09/30 by Rolando.Caloca DR - Fix merge conflicts Change 3146778 on 2016/09/30 by Rolando.Caloca DR - More integration compile fixes Change 3146790 on 2016/09/30 by Rolando.Caloca DR - Integration fix Change 3146849 on 2016/09/30 by Rolando.Caloca DR - Final integration fix Change 3146899 on 2016/09/30 by Daniel.Wright Static analysis fix for dereferencing World Change 3147020 on 2016/09/30 by Rolando.Caloca DR - vk - Fix depth issue on AMD cards - Added VULKAN_KEEP_CREATE_INFO to help debugging creation - Added num color attachments to pipeline key Change 3147034 on 2016/09/30 by Rolando.Caloca DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines #jira UE-36277 #jira UE-36500 Change 3147080 on 2016/09/30 by Rolando.Caloca DR - vk - Disable debug info by default Change 3147082 on 2016/09/30 by Chris.Bunner Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list. #jira UE-36491 Change 3147388 on 2016/09/30 by Chris.Bunner Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers. #jira UE-35288 Change 3147394 on 2016/09/30 by Chris.Bunner Additional logging for rare error. #jira UE-35812 Change 3147459 on 2016/09/30 by Rolando.Caloca DR - vk - Some more srgb formats Change 3147537 on 2016/09/30 by Rolando.Caloca DR - vk - Standarize srgb flag like D3D11 - Minor FVulkanShader cleanup Change 3147620 on 2016/09/30 by Olaf.Piesche #jira UE=34486 particle component tick function task can be invalid during pause; add check Change 3148028 on 2016/10/01 by Daniel.Wright Renamed RenderingSettings.cpp to match header Change 3148059 on 2016/10/01 by Daniel.Wright Disabled reparenting in the profiler which is disorienting Change 3148067 on 2016/10/01 by Daniel.Wright Support for ReflectionEnvironment and light type show flags with ForwardShading Change 3148069 on 2016/10/01 by Daniel.Wright Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars Change 3148072 on 2016/10/01 by Daniel.Wright Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness Change 3148073 on 2016/10/01 by Daniel.Wright r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream Change 3148074 on 2016/10/01 by Daniel.Wright Enabled planar reflection receiving on the material used for the preview of a APlanarReflection Change 3148084 on 2016/10/01 by Daniel.Wright Fixed reflections on Surface TranslucencyVolume in deferred Change 3148085 on 2016/10/01 by Daniel.Wright Fixed planar reflection composite being done too many times in stereo deferred Change 3148086 on 2016/10/01 by Daniel.Wright Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10. Change 3148107 on 2016/10/01 by Daniel.Wright CIS fix Change 3148113 on 2016/10/01 by Daniel.Wright Translucency lighting modes for forward shading * Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway Change 3148306 on 2016/10/02 by Rolando.Caloca DR - vk - Fix for some NV drivers on Win10 Change 3148307 on 2016/10/02 by Rolando.Caloca DR - vk - Compute pipeline Change 3148358 on 2016/10/02 by Rolando.Caloca DR - vk - Consolidate and renumber enum for binding types Change 3148396 on 2016/10/03 by Rolando.Caloca DR - vk - Warning fix Change 3148697 on 2016/10/03 by Benjamin.Hyder Submitting M_Chromebal after enabling planar reflectionsl Change 3148799 on 2016/10/03 by Rolando.Caloca DR - vk - static analysis fix Change 3148934 on 2016/10/03 by Chris.Bunner Added pre-skinned local position material graph node, vertex shader only. Change 3148994 on 2016/10/03 by Chris.Bunner Added missing header file. Change 3149085 on 2016/10/03 by Daniel.Wright Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead Change 3149095 on 2016/10/03 by Rolando.Caloca DR - vk - Disable new render passes Change 3149125 on 2016/10/03 by Rolando.Caloca DR - vk - Fix for multiple memory types Change 3149181 on 2016/10/03 by Rolando.Caloca DR - Better message when missing pipelines Change 3149215 on 2016/10/03 by Rolando.Caloca DR - RHIClearColor -> RHIClearColorTexture #tests Orion Editor run match on Agora_P Change 3149288 on 2016/10/03 by Chris.Bunner Added PreTonemapHDRColor for buffer visualization and target output. #jira UE-36333 Change 3149402 on 2016/10/03 by Daniel.Wright Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res) Change 3149403 on 2016/10/03 by Daniel.Wright Forward lighting supports lighting channels Change 3149574 on 2016/10/03 by Marcus.Wassmer PR #2817: Ansel/Photography system (Contributed by adamnv) Modified to become a plugin Change 3149615 on 2016/10/03 by Rolando.Caloca DR - vk - Fix PF_G16R16 which fixes reflections Change 3149639 on 2016/10/03 by Olaf.Piesche Adding more ensures to catch NaNs occasionally appearing in particle locations early Change 3149745 on 2016/10/03 by Uriel.Doyon Moved UVDensity computation in the staticmesh DDC. Change 3149749 on 2016/10/03 by Daniel.Wright Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility Change 3149755 on 2016/10/03 by Benjamin.Hyder Checking in built lighting for QA-postprocessing Change 3149758 on 2016/10/03 by Benjamin.Hyder re-submitting built lighting for QA-PostProcessing Change 3149940 on 2016/10/04 by Gil.Gribb Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering) Change 3150098 on 2016/10/04 by Marcus.Wassmer Fix some clang and win32 errors Change 3150323 on 2016/10/04 by Rolando.Caloca DR - vk - Static analysis fix Change 3150456 on 2016/10/04 by Daniel.Wright Revert temp logs Change 3150731 on 2016/10/04 by Daniel.Wright Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid Change 3150795 on 2016/10/04 by Marcus.Wassmer Fix RHIClearUAV and Drawindirect bugs on PS4. Also fix PS4 compile error from bad merge. Change 3151065 on 2016/10/04 by Ben.Marsh Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering) Change 3151134 on 2016/10/04 by Brian.Karis Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array. Change 3151201 on 2016/10/04 by Marcus.Wassmer Nvidia approved icon for ansel plugin. Change 3151240 on 2016/10/04 by Marcus.Wassmer Fix string concat build error. Change 3151258 on 2016/10/04 by Ben.Marsh Fix compile error. Change 3151290 on 2016/10/04 by Marcus.Wassmer Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix. Change 3152104 on 2016/10/05 by Chris.Bunner Workaround for legacy BreakMA material node invalid component masks. #jira UE-36832 Change 3152130 on 2016/10/05 by Ben.Woodhouse Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling #jira UE-35890 Change 3152240 on 2016/10/05 by Rolando.Caloca DR - Fix for missing gizmo colors #jira UE-36515 Change 3152338 on 2016/10/05 by Daniel.Wright Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker Change 3152833 on 2016/10/05 by Brian.Karis Improved precision of quadrics. Fixes bad triangles on large meshes Change 3153376 on 2016/10/06 by Rolando.Caloca DR - Fix for SM4 missing pipelines fallout Change 3153650 on 2016/10/06 by Gil.Gribb Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering) Change 3153656 on 2016/10/06 by Uriel.Doyon Fixed main integration compilation issues. Some of the Mesh UVDensity UI is temporary disabled. Change 3153725 on 2016/10/06 by Uriel.Doyon Fixed crash when source data is missing for lightmaps #jira UE-36157 Change 3153998 on 2016/10/06 by Gil.Gribb Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering) Change 3154056 on 2016/10/06 by Marcus.Wassmer Fix compile errors from merge. Also restore some light scencario code Change 3154176 on 2016/10/06 by Marcus.Wassmer Fix deprecation warning Change 3154252 on 2016/10/06 by Marcus.Wassmer Fix more deprecation warnings Change 3154632 on 2016/10/07 by Chris.Bunner Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function. #jira UE-37002 [CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
bool PlatformCanEnableGPUCapture()
{
return GRunningUnderRenderDoc;
}
void PlatformDestroyOpenGLDevice(FPlatformOpenGLDevice* Device)
{
delete Device;
}
/**
* Create an OpenGL context.
*/
FPlatformOpenGLContext* PlatformCreateOpenGLContext(FPlatformOpenGLDevice* Device, void* InWindowHandle)
{
check(InWindowHandle);
Device->TargetDirty = true;
FPlatformOpenGLContext* Context = new FPlatformOpenGLContext;
Context->WindowHandle = (HWND)InWindowHandle;
Context->bReleaseWindowOnDestroy = false;
Context->DeviceContext = GetDC(Context->WindowHandle);
check(Context->DeviceContext);
PlatformInitPixelFormatForDevice(Context->DeviceContext, false);
int MajorVersion = 0;
int MinorVersion = 0;
GetOpenGLVersionForCoreProfile(MajorVersion, MinorVersion);
PlatformCreateOpenGLContextCore(Context, MajorVersion, MinorVersion, Device->SharedContext.OpenGLContext);
check(Context->OpenGLContext);
{
FScopeContext Scope(Context);
InitDefaultGLContextState();
glGenFramebuffers(1, &Context->ViewportFramebuffer);
}
Device->ViewportContexts.Add(Context);
return Context;
}
/**
* Release an OpenGL context.
*/
void PlatformReleaseOpenGLContext(FPlatformOpenGLDevice* Device, FPlatformOpenGLContext* Context)
{
check(Context && Context->OpenGLContext);
Device->ViewportContexts.RemoveSingle(Context);
Device->TargetDirty = true;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3054480) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3045482 on 2016/07/11 by Zabir.Hoque DX12 Quries need to individually track their syncpoints. Only when resolving a query on the same frame should be stall. Change 3045929 on 2016/07/12 by Simon.Tovey Removing some deprecated node types from Niagara Change 3045951 on 2016/07/12 by Ben.Woodhouse D3D11 Log detailed live device info on shutdown if the debug layer is enabled (including resource types) Change 3046019 on 2016/07/12 by Chris.Bunner Fixed typo in material input name. #jira UE-5575 Change 3046053 on 2016/07/12 by Rolando.Caloca DR - Fix GL4 shutdown #jira UE-32799 Change 3046055 on 2016/07/12 by Rolando.Caloca DR - vk - Fix NumInstances=0 Change 3046063 on 2016/07/12 by Rolando.Caloca DR - vk - Added flat to uint layouts per glslang - Fix bad extension on dumped shaders Change 3046067 on 2016/07/12 by Rolando.Caloca DR - vk - Fix check when not using color RT - Added queue submit & present counters Change 3046088 on 2016/07/12 by Ben.Woodhouse Live GPU stats A non-hierarchical realtime high level GPU profiler with support for cumulative stat recording. Stats are added with SCOPED_GPU_STAT macros, e.g. SCOPED_GPU_STAT(RHICmdList, Stat_GPU_Distortion) The bulk of the files in this change are simply instrumentation for the renderer. The core changes are in SceneUtils.cpp/h and D3D11Query.cpp (this is the XB1/DX11X implementation of timestamp RHI queries, which was missing) Note: this is currently disabled by default. Enable with the cvar r.gpustatsenabled Tested on PC, XB1, PS4 Change 3046128 on 2016/07/12 by Olaf.Piesche Max draw distance and fade range for lights, requested by JonL Change 3046183 on 2016/07/12 by Ben.Woodhouse PR #2532: Fix SSAO being applied in unlit viewmode (Contributed by nick-penwarden) Change 3046223 on 2016/07/12 by Luke.Thatcher Fix Scene Cube Captures. SceneCaptureSource flag on the ViewFamily was not set for cube components. #jira UE-32345 Change 3046228 on 2016/07/12 by Marc.Olano Add Voronoi noise to Noise material node. Four versions with differing speed/quality levels accessed through the Quality value in the material node. Tooltips give estimates of the cost of each. Also includes spiffy new Rand3DPCG16 and Rand3DPCG32 int3 to int3 hash functions, and a 20% improvement on the computed gradient noise. Change 3046269 on 2016/07/12 by Rolando.Caloca DR - Skip flush on RHIDiscardRenderTargets and only use it on platforms that need it (ie OpenGL) Change 3046294 on 2016/07/12 by Rolando.Caloca DR - Fix static analyisis warning C6326: Potential comparison of a constant with another constant. Change 3046295 on 2016/07/12 by Rolando.Caloca DR - Fix the previous fix Change 3046731 on 2016/07/12 by Marc.Olano Fix typo in shader random number constant: repeated extra digit made it too big. Change 3046796 on 2016/07/12 by Uriel.Doyon The texture streaming manager now keeps a set of all valid textures. This is used to prevent from indirecting deleted memory upon SetTexturesRemovedTimestamp. #jira UE-33048 Change 3046800 on 2016/07/12 by Rolando.Caloca DR - vk - Added create image & renderpass dump Change 3046845 on 2016/07/12 by John.Billon Forgot to apply MaxGPUSkinBones Cvar access changes in a few locations. Change 3047023 on 2016/07/12 by Olaf.Piesche Niagara: -a bit of cleanup -now store and double buffer attributes individually, eliminating unnecessary copy of unused attributes -removed FNiagaraConstantMap, replaced with an instance of FNiagaraConstants -some code simplification -removed some deprecated structs and code used only by old content Change 3047052 on 2016/07/12 by Zabir.Hoque Unshelved from pending changelist '3044062': PR #2588: Adding blend mode BLEND_AlphaComposite (4.12) (Contributed by moritz-wundke) Change 3047727 on 2016/07/13 by Luke.Thatcher Fix Scene Capture Components only updating every other frame. #jira UE-32581 Change 3047919 on 2016/07/13 by Olaf.Piesche CMask decode, use in deferred decals, for PS4 Change 3047921 on 2016/07/13 by Uriel.Doyon "Build Texture Streaming" will now remove duplicate error msg when computing texcoord scales. Also, several texture messages are packed on the same line if they relate to the same material. Change 3047952 on 2016/07/13 by Rolando.Caloca DR - vk - Initial prep pass for separating combined images & samplers Change 3048648 on 2016/07/13 by Marcus.Wassmer Fix rare GPU hang when asynctexture reallocs would overlap with EndFrame Change 3049058 on 2016/07/13 by Rolando.Caloca DR - vk - timestamps Change 3049725 on 2016/07/14 by Marcus.Wassmer Fix autosdk bug where not having a platform directory sync'd at all would break manual SDK detection Change 3049742 on 2016/07/14 by Rolando.Caloca DR - Fix warning Change 3049902 on 2016/07/14 by Rolando.Caloca DR - Fix typo Change 3050345 on 2016/07/14 by Olaf.Piesche UE-23925 Clamping noise tessellation for beams at a high but sensible value; also making sure during beam index buffer building that we never get over 2^16 indices; this is a bit hokey, but there are so many variables that can influence triangle/index count, that this is the only way to be sure (short of nuking the entire site from orbit). Change 3050409 on 2016/07/14 by Olaf.Piesche Replicating 3049049; missing break and check for active particles when resolving a source point to avoid a potential crash Change 3050809 on 2016/07/14 by Rolando.Caloca DR - vk - Remove redundant validation layers Change 3051319 on 2016/07/15 by Ben.Woodhouse Fix for world space camera position not being exposed in decal pixel shaders; also fixes decal lighting missing spec and reflection The fix was to calculate ResolvedView at the top of the shader. Previously this was not initialized #jira UE-31976 Change 3051692 on 2016/07/15 by Rolando.Caloca DR - vk - Enable RHI thread by default Change 3052103 on 2016/07/15 by Uriel.Doyon Disabled depth offset in depth only pixel shaders when using debug view shaders (to prevent Z fighting). #jira UE-32765 Change 3052140 on 2016/07/15 by Rolando.Caloca DR - vk - Fix shader snafu Change 3052495 on 2016/07/15 by Rolando.Caloca DR - Fix for Win32 compile #jira UE-33349 Change 3052536 on 2016/07/15 by Uriel.Doyon Fixed texture streaming overbudget warning when using per texture bias. [CL 3054554 by Gil Gribb in Main branch]
2016-07-18 17:17:08 -04:00
bool bActiveContextWillBeReleased = false;
bool bSharedDC = false;
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3054480) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3045482 on 2016/07/11 by Zabir.Hoque DX12 Quries need to individually track their syncpoints. Only when resolving a query on the same frame should be stall. Change 3045929 on 2016/07/12 by Simon.Tovey Removing some deprecated node types from Niagara Change 3045951 on 2016/07/12 by Ben.Woodhouse D3D11 Log detailed live device info on shutdown if the debug layer is enabled (including resource types) Change 3046019 on 2016/07/12 by Chris.Bunner Fixed typo in material input name. #jira UE-5575 Change 3046053 on 2016/07/12 by Rolando.Caloca DR - Fix GL4 shutdown #jira UE-32799 Change 3046055 on 2016/07/12 by Rolando.Caloca DR - vk - Fix NumInstances=0 Change 3046063 on 2016/07/12 by Rolando.Caloca DR - vk - Added flat to uint layouts per glslang - Fix bad extension on dumped shaders Change 3046067 on 2016/07/12 by Rolando.Caloca DR - vk - Fix check when not using color RT - Added queue submit & present counters Change 3046088 on 2016/07/12 by Ben.Woodhouse Live GPU stats A non-hierarchical realtime high level GPU profiler with support for cumulative stat recording. Stats are added with SCOPED_GPU_STAT macros, e.g. SCOPED_GPU_STAT(RHICmdList, Stat_GPU_Distortion) The bulk of the files in this change are simply instrumentation for the renderer. The core changes are in SceneUtils.cpp/h and D3D11Query.cpp (this is the XB1/DX11X implementation of timestamp RHI queries, which was missing) Note: this is currently disabled by default. Enable with the cvar r.gpustatsenabled Tested on PC, XB1, PS4 Change 3046128 on 2016/07/12 by Olaf.Piesche Max draw distance and fade range for lights, requested by JonL Change 3046183 on 2016/07/12 by Ben.Woodhouse PR #2532: Fix SSAO being applied in unlit viewmode (Contributed by nick-penwarden) Change 3046223 on 2016/07/12 by Luke.Thatcher Fix Scene Cube Captures. SceneCaptureSource flag on the ViewFamily was not set for cube components. #jira UE-32345 Change 3046228 on 2016/07/12 by Marc.Olano Add Voronoi noise to Noise material node. Four versions with differing speed/quality levels accessed through the Quality value in the material node. Tooltips give estimates of the cost of each. Also includes spiffy new Rand3DPCG16 and Rand3DPCG32 int3 to int3 hash functions, and a 20% improvement on the computed gradient noise. Change 3046269 on 2016/07/12 by Rolando.Caloca DR - Skip flush on RHIDiscardRenderTargets and only use it on platforms that need it (ie OpenGL) Change 3046294 on 2016/07/12 by Rolando.Caloca DR - Fix static analyisis warning C6326: Potential comparison of a constant with another constant. Change 3046295 on 2016/07/12 by Rolando.Caloca DR - Fix the previous fix Change 3046731 on 2016/07/12 by Marc.Olano Fix typo in shader random number constant: repeated extra digit made it too big. Change 3046796 on 2016/07/12 by Uriel.Doyon The texture streaming manager now keeps a set of all valid textures. This is used to prevent from indirecting deleted memory upon SetTexturesRemovedTimestamp. #jira UE-33048 Change 3046800 on 2016/07/12 by Rolando.Caloca DR - vk - Added create image & renderpass dump Change 3046845 on 2016/07/12 by John.Billon Forgot to apply MaxGPUSkinBones Cvar access changes in a few locations. Change 3047023 on 2016/07/12 by Olaf.Piesche Niagara: -a bit of cleanup -now store and double buffer attributes individually, eliminating unnecessary copy of unused attributes -removed FNiagaraConstantMap, replaced with an instance of FNiagaraConstants -some code simplification -removed some deprecated structs and code used only by old content Change 3047052 on 2016/07/12 by Zabir.Hoque Unshelved from pending changelist '3044062': PR #2588: Adding blend mode BLEND_AlphaComposite (4.12) (Contributed by moritz-wundke) Change 3047727 on 2016/07/13 by Luke.Thatcher Fix Scene Capture Components only updating every other frame. #jira UE-32581 Change 3047919 on 2016/07/13 by Olaf.Piesche CMask decode, use in deferred decals, for PS4 Change 3047921 on 2016/07/13 by Uriel.Doyon "Build Texture Streaming" will now remove duplicate error msg when computing texcoord scales. Also, several texture messages are packed on the same line if they relate to the same material. Change 3047952 on 2016/07/13 by Rolando.Caloca DR - vk - Initial prep pass for separating combined images & samplers Change 3048648 on 2016/07/13 by Marcus.Wassmer Fix rare GPU hang when asynctexture reallocs would overlap with EndFrame Change 3049058 on 2016/07/13 by Rolando.Caloca DR - vk - timestamps Change 3049725 on 2016/07/14 by Marcus.Wassmer Fix autosdk bug where not having a platform directory sync'd at all would break manual SDK detection Change 3049742 on 2016/07/14 by Rolando.Caloca DR - Fix warning Change 3049902 on 2016/07/14 by Rolando.Caloca DR - Fix typo Change 3050345 on 2016/07/14 by Olaf.Piesche UE-23925 Clamping noise tessellation for beams at a high but sensible value; also making sure during beam index buffer building that we never get over 2^16 indices; this is a bit hokey, but there are so many variables that can influence triangle/index count, that this is the only way to be sure (short of nuking the entire site from orbit). Change 3050409 on 2016/07/14 by Olaf.Piesche Replicating 3049049; missing break and check for active particles when resolving a source point to avoid a potential crash Change 3050809 on 2016/07/14 by Rolando.Caloca DR - vk - Remove redundant validation layers Change 3051319 on 2016/07/15 by Ben.Woodhouse Fix for world space camera position not being exposed in decal pixel shaders; also fixes decal lighting missing spec and reflection The fix was to calculate ResolvedView at the top of the shader. Previously this was not initialized #jira UE-31976 Change 3051692 on 2016/07/15 by Rolando.Caloca DR - vk - Enable RHI thread by default Change 3052103 on 2016/07/15 by Uriel.Doyon Disabled depth offset in depth only pixel shaders when using debug view shaders (to prevent Z fighting). #jira UE-32765 Change 3052140 on 2016/07/15 by Rolando.Caloca DR - vk - Fix shader snafu Change 3052495 on 2016/07/15 by Rolando.Caloca DR - Fix for Win32 compile #jira UE-33349 Change 3052536 on 2016/07/15 by Uriel.Doyon Fixed texture streaming overbudget warning when using per texture bias. [CL 3054554 by Gil Gribb in Main branch]
2016-07-18 17:17:08 -04:00
{
FScopeLock ScopeLock(Device->ContextUsageGuard);
{
FScopeContext ScopeContext(Context);
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3054480) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3045482 on 2016/07/11 by Zabir.Hoque DX12 Quries need to individually track their syncpoints. Only when resolving a query on the same frame should be stall. Change 3045929 on 2016/07/12 by Simon.Tovey Removing some deprecated node types from Niagara Change 3045951 on 2016/07/12 by Ben.Woodhouse D3D11 Log detailed live device info on shutdown if the debug layer is enabled (including resource types) Change 3046019 on 2016/07/12 by Chris.Bunner Fixed typo in material input name. #jira UE-5575 Change 3046053 on 2016/07/12 by Rolando.Caloca DR - Fix GL4 shutdown #jira UE-32799 Change 3046055 on 2016/07/12 by Rolando.Caloca DR - vk - Fix NumInstances=0 Change 3046063 on 2016/07/12 by Rolando.Caloca DR - vk - Added flat to uint layouts per glslang - Fix bad extension on dumped shaders Change 3046067 on 2016/07/12 by Rolando.Caloca DR - vk - Fix check when not using color RT - Added queue submit & present counters Change 3046088 on 2016/07/12 by Ben.Woodhouse Live GPU stats A non-hierarchical realtime high level GPU profiler with support for cumulative stat recording. Stats are added with SCOPED_GPU_STAT macros, e.g. SCOPED_GPU_STAT(RHICmdList, Stat_GPU_Distortion) The bulk of the files in this change are simply instrumentation for the renderer. The core changes are in SceneUtils.cpp/h and D3D11Query.cpp (this is the XB1/DX11X implementation of timestamp RHI queries, which was missing) Note: this is currently disabled by default. Enable with the cvar r.gpustatsenabled Tested on PC, XB1, PS4 Change 3046128 on 2016/07/12 by Olaf.Piesche Max draw distance and fade range for lights, requested by JonL Change 3046183 on 2016/07/12 by Ben.Woodhouse PR #2532: Fix SSAO being applied in unlit viewmode (Contributed by nick-penwarden) Change 3046223 on 2016/07/12 by Luke.Thatcher Fix Scene Cube Captures. SceneCaptureSource flag on the ViewFamily was not set for cube components. #jira UE-32345 Change 3046228 on 2016/07/12 by Marc.Olano Add Voronoi noise to Noise material node. Four versions with differing speed/quality levels accessed through the Quality value in the material node. Tooltips give estimates of the cost of each. Also includes spiffy new Rand3DPCG16 and Rand3DPCG32 int3 to int3 hash functions, and a 20% improvement on the computed gradient noise. Change 3046269 on 2016/07/12 by Rolando.Caloca DR - Skip flush on RHIDiscardRenderTargets and only use it on platforms that need it (ie OpenGL) Change 3046294 on 2016/07/12 by Rolando.Caloca DR - Fix static analyisis warning C6326: Potential comparison of a constant with another constant. Change 3046295 on 2016/07/12 by Rolando.Caloca DR - Fix the previous fix Change 3046731 on 2016/07/12 by Marc.Olano Fix typo in shader random number constant: repeated extra digit made it too big. Change 3046796 on 2016/07/12 by Uriel.Doyon The texture streaming manager now keeps a set of all valid textures. This is used to prevent from indirecting deleted memory upon SetTexturesRemovedTimestamp. #jira UE-33048 Change 3046800 on 2016/07/12 by Rolando.Caloca DR - vk - Added create image & renderpass dump Change 3046845 on 2016/07/12 by John.Billon Forgot to apply MaxGPUSkinBones Cvar access changes in a few locations. Change 3047023 on 2016/07/12 by Olaf.Piesche Niagara: -a bit of cleanup -now store and double buffer attributes individually, eliminating unnecessary copy of unused attributes -removed FNiagaraConstantMap, replaced with an instance of FNiagaraConstants -some code simplification -removed some deprecated structs and code used only by old content Change 3047052 on 2016/07/12 by Zabir.Hoque Unshelved from pending changelist '3044062': PR #2588: Adding blend mode BLEND_AlphaComposite (4.12) (Contributed by moritz-wundke) Change 3047727 on 2016/07/13 by Luke.Thatcher Fix Scene Capture Components only updating every other frame. #jira UE-32581 Change 3047919 on 2016/07/13 by Olaf.Piesche CMask decode, use in deferred decals, for PS4 Change 3047921 on 2016/07/13 by Uriel.Doyon "Build Texture Streaming" will now remove duplicate error msg when computing texcoord scales. Also, several texture messages are packed on the same line if they relate to the same material. Change 3047952 on 2016/07/13 by Rolando.Caloca DR - vk - Initial prep pass for separating combined images & samplers Change 3048648 on 2016/07/13 by Marcus.Wassmer Fix rare GPU hang when asynctexture reallocs would overlap with EndFrame Change 3049058 on 2016/07/13 by Rolando.Caloca DR - vk - timestamps Change 3049725 on 2016/07/14 by Marcus.Wassmer Fix autosdk bug where not having a platform directory sync'd at all would break manual SDK detection Change 3049742 on 2016/07/14 by Rolando.Caloca DR - Fix warning Change 3049902 on 2016/07/14 by Rolando.Caloca DR - Fix typo Change 3050345 on 2016/07/14 by Olaf.Piesche UE-23925 Clamping noise tessellation for beams at a high but sensible value; also making sure during beam index buffer building that we never get over 2^16 indices; this is a bit hokey, but there are so many variables that can influence triangle/index count, that this is the only way to be sure (short of nuking the entire site from orbit). Change 3050409 on 2016/07/14 by Olaf.Piesche Replicating 3049049; missing break and check for active particles when resolving a source point to avoid a potential crash Change 3050809 on 2016/07/14 by Rolando.Caloca DR - vk - Remove redundant validation layers Change 3051319 on 2016/07/15 by Ben.Woodhouse Fix for world space camera position not being exposed in decal pixel shaders; also fixes decal lighting missing spec and reflection The fix was to calculate ResolvedView at the top of the shader. Previously this was not initialized #jira UE-31976 Change 3051692 on 2016/07/15 by Rolando.Caloca DR - vk - Enable RHI thread by default Change 3052103 on 2016/07/15 by Uriel.Doyon Disabled depth offset in depth only pixel shaders when using debug view shaders (to prevent Z fighting). #jira UE-32765 Change 3052140 on 2016/07/15 by Rolando.Caloca DR - vk - Fix shader snafu Change 3052495 on 2016/07/15 by Rolando.Caloca DR - Fix for Win32 compile #jira UE-33349 Change 3052536 on 2016/07/15 by Uriel.Doyon Fixed texture streaming overbudget warning when using per texture bias. [CL 3054554 by Gil Gribb in Main branch]
2016-07-18 17:17:08 -04:00
bActiveContextWillBeReleased = ScopeContext.ContextWasAlreadyActive();
bSharedDC = ScopeContext.ContextsShareSameDC();
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3054480) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3045482 on 2016/07/11 by Zabir.Hoque DX12 Quries need to individually track their syncpoints. Only when resolving a query on the same frame should be stall. Change 3045929 on 2016/07/12 by Simon.Tovey Removing some deprecated node types from Niagara Change 3045951 on 2016/07/12 by Ben.Woodhouse D3D11 Log detailed live device info on shutdown if the debug layer is enabled (including resource types) Change 3046019 on 2016/07/12 by Chris.Bunner Fixed typo in material input name. #jira UE-5575 Change 3046053 on 2016/07/12 by Rolando.Caloca DR - Fix GL4 shutdown #jira UE-32799 Change 3046055 on 2016/07/12 by Rolando.Caloca DR - vk - Fix NumInstances=0 Change 3046063 on 2016/07/12 by Rolando.Caloca DR - vk - Added flat to uint layouts per glslang - Fix bad extension on dumped shaders Change 3046067 on 2016/07/12 by Rolando.Caloca DR - vk - Fix check when not using color RT - Added queue submit & present counters Change 3046088 on 2016/07/12 by Ben.Woodhouse Live GPU stats A non-hierarchical realtime high level GPU profiler with support for cumulative stat recording. Stats are added with SCOPED_GPU_STAT macros, e.g. SCOPED_GPU_STAT(RHICmdList, Stat_GPU_Distortion) The bulk of the files in this change are simply instrumentation for the renderer. The core changes are in SceneUtils.cpp/h and D3D11Query.cpp (this is the XB1/DX11X implementation of timestamp RHI queries, which was missing) Note: this is currently disabled by default. Enable with the cvar r.gpustatsenabled Tested on PC, XB1, PS4 Change 3046128 on 2016/07/12 by Olaf.Piesche Max draw distance and fade range for lights, requested by JonL Change 3046183 on 2016/07/12 by Ben.Woodhouse PR #2532: Fix SSAO being applied in unlit viewmode (Contributed by nick-penwarden) Change 3046223 on 2016/07/12 by Luke.Thatcher Fix Scene Cube Captures. SceneCaptureSource flag on the ViewFamily was not set for cube components. #jira UE-32345 Change 3046228 on 2016/07/12 by Marc.Olano Add Voronoi noise to Noise material node. Four versions with differing speed/quality levels accessed through the Quality value in the material node. Tooltips give estimates of the cost of each. Also includes spiffy new Rand3DPCG16 and Rand3DPCG32 int3 to int3 hash functions, and a 20% improvement on the computed gradient noise. Change 3046269 on 2016/07/12 by Rolando.Caloca DR - Skip flush on RHIDiscardRenderTargets and only use it on platforms that need it (ie OpenGL) Change 3046294 on 2016/07/12 by Rolando.Caloca DR - Fix static analyisis warning C6326: Potential comparison of a constant with another constant. Change 3046295 on 2016/07/12 by Rolando.Caloca DR - Fix the previous fix Change 3046731 on 2016/07/12 by Marc.Olano Fix typo in shader random number constant: repeated extra digit made it too big. Change 3046796 on 2016/07/12 by Uriel.Doyon The texture streaming manager now keeps a set of all valid textures. This is used to prevent from indirecting deleted memory upon SetTexturesRemovedTimestamp. #jira UE-33048 Change 3046800 on 2016/07/12 by Rolando.Caloca DR - vk - Added create image & renderpass dump Change 3046845 on 2016/07/12 by John.Billon Forgot to apply MaxGPUSkinBones Cvar access changes in a few locations. Change 3047023 on 2016/07/12 by Olaf.Piesche Niagara: -a bit of cleanup -now store and double buffer attributes individually, eliminating unnecessary copy of unused attributes -removed FNiagaraConstantMap, replaced with an instance of FNiagaraConstants -some code simplification -removed some deprecated structs and code used only by old content Change 3047052 on 2016/07/12 by Zabir.Hoque Unshelved from pending changelist '3044062': PR #2588: Adding blend mode BLEND_AlphaComposite (4.12) (Contributed by moritz-wundke) Change 3047727 on 2016/07/13 by Luke.Thatcher Fix Scene Capture Components only updating every other frame. #jira UE-32581 Change 3047919 on 2016/07/13 by Olaf.Piesche CMask decode, use in deferred decals, for PS4 Change 3047921 on 2016/07/13 by Uriel.Doyon "Build Texture Streaming" will now remove duplicate error msg when computing texcoord scales. Also, several texture messages are packed on the same line if they relate to the same material. Change 3047952 on 2016/07/13 by Rolando.Caloca DR - vk - Initial prep pass for separating combined images & samplers Change 3048648 on 2016/07/13 by Marcus.Wassmer Fix rare GPU hang when asynctexture reallocs would overlap with EndFrame Change 3049058 on 2016/07/13 by Rolando.Caloca DR - vk - timestamps Change 3049725 on 2016/07/14 by Marcus.Wassmer Fix autosdk bug where not having a platform directory sync'd at all would break manual SDK detection Change 3049742 on 2016/07/14 by Rolando.Caloca DR - Fix warning Change 3049902 on 2016/07/14 by Rolando.Caloca DR - Fix typo Change 3050345 on 2016/07/14 by Olaf.Piesche UE-23925 Clamping noise tessellation for beams at a high but sensible value; also making sure during beam index buffer building that we never get over 2^16 indices; this is a bit hokey, but there are so many variables that can influence triangle/index count, that this is the only way to be sure (short of nuking the entire site from orbit). Change 3050409 on 2016/07/14 by Olaf.Piesche Replicating 3049049; missing break and check for active particles when resolving a source point to avoid a potential crash Change 3050809 on 2016/07/14 by Rolando.Caloca DR - vk - Remove redundant validation layers Change 3051319 on 2016/07/15 by Ben.Woodhouse Fix for world space camera position not being exposed in decal pixel shaders; also fixes decal lighting missing spec and reflection The fix was to calculate ResolvedView at the top of the shader. Previously this was not initialized #jira UE-31976 Change 3051692 on 2016/07/15 by Rolando.Caloca DR - vk - Enable RHI thread by default Change 3052103 on 2016/07/15 by Uriel.Doyon Disabled depth offset in depth only pixel shaders when using debug view shaders (to prevent Z fighting). #jira UE-32765 Change 3052140 on 2016/07/15 by Rolando.Caloca DR - vk - Fix shader snafu Change 3052495 on 2016/07/15 by Rolando.Caloca DR - Fix for Win32 compile #jira UE-33349 Change 3052536 on 2016/07/15 by Uriel.Doyon Fixed texture streaming overbudget warning when using per texture bias. [CL 3054554 by Gil Gribb in Main branch]
2016-07-18 17:17:08 -04:00
DeleteQueriesForCurrentContext(Context->OpenGLContext);
glBindVertexArray(0);
glDeleteVertexArrays(1, &Context->VertexArrayObject);
if (Context->ViewportFramebuffer)
{
glDeleteFramebuffers(1,&Context->ViewportFramebuffer); // this can be done from any context shared with ours, as long as it's not nil.
Context->ViewportFramebuffer = 0;
}
}
wglDeleteContext(Context->OpenGLContext);
Context->OpenGLContext = NULL;
}
check(Context->DeviceContext);
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3054480) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3045482 on 2016/07/11 by Zabir.Hoque DX12 Quries need to individually track their syncpoints. Only when resolving a query on the same frame should be stall. Change 3045929 on 2016/07/12 by Simon.Tovey Removing some deprecated node types from Niagara Change 3045951 on 2016/07/12 by Ben.Woodhouse D3D11 Log detailed live device info on shutdown if the debug layer is enabled (including resource types) Change 3046019 on 2016/07/12 by Chris.Bunner Fixed typo in material input name. #jira UE-5575 Change 3046053 on 2016/07/12 by Rolando.Caloca DR - Fix GL4 shutdown #jira UE-32799 Change 3046055 on 2016/07/12 by Rolando.Caloca DR - vk - Fix NumInstances=0 Change 3046063 on 2016/07/12 by Rolando.Caloca DR - vk - Added flat to uint layouts per glslang - Fix bad extension on dumped shaders Change 3046067 on 2016/07/12 by Rolando.Caloca DR - vk - Fix check when not using color RT - Added queue submit & present counters Change 3046088 on 2016/07/12 by Ben.Woodhouse Live GPU stats A non-hierarchical realtime high level GPU profiler with support for cumulative stat recording. Stats are added with SCOPED_GPU_STAT macros, e.g. SCOPED_GPU_STAT(RHICmdList, Stat_GPU_Distortion) The bulk of the files in this change are simply instrumentation for the renderer. The core changes are in SceneUtils.cpp/h and D3D11Query.cpp (this is the XB1/DX11X implementation of timestamp RHI queries, which was missing) Note: this is currently disabled by default. Enable with the cvar r.gpustatsenabled Tested on PC, XB1, PS4 Change 3046128 on 2016/07/12 by Olaf.Piesche Max draw distance and fade range for lights, requested by JonL Change 3046183 on 2016/07/12 by Ben.Woodhouse PR #2532: Fix SSAO being applied in unlit viewmode (Contributed by nick-penwarden) Change 3046223 on 2016/07/12 by Luke.Thatcher Fix Scene Cube Captures. SceneCaptureSource flag on the ViewFamily was not set for cube components. #jira UE-32345 Change 3046228 on 2016/07/12 by Marc.Olano Add Voronoi noise to Noise material node. Four versions with differing speed/quality levels accessed through the Quality value in the material node. Tooltips give estimates of the cost of each. Also includes spiffy new Rand3DPCG16 and Rand3DPCG32 int3 to int3 hash functions, and a 20% improvement on the computed gradient noise. Change 3046269 on 2016/07/12 by Rolando.Caloca DR - Skip flush on RHIDiscardRenderTargets and only use it on platforms that need it (ie OpenGL) Change 3046294 on 2016/07/12 by Rolando.Caloca DR - Fix static analyisis warning C6326: Potential comparison of a constant with another constant. Change 3046295 on 2016/07/12 by Rolando.Caloca DR - Fix the previous fix Change 3046731 on 2016/07/12 by Marc.Olano Fix typo in shader random number constant: repeated extra digit made it too big. Change 3046796 on 2016/07/12 by Uriel.Doyon The texture streaming manager now keeps a set of all valid textures. This is used to prevent from indirecting deleted memory upon SetTexturesRemovedTimestamp. #jira UE-33048 Change 3046800 on 2016/07/12 by Rolando.Caloca DR - vk - Added create image & renderpass dump Change 3046845 on 2016/07/12 by John.Billon Forgot to apply MaxGPUSkinBones Cvar access changes in a few locations. Change 3047023 on 2016/07/12 by Olaf.Piesche Niagara: -a bit of cleanup -now store and double buffer attributes individually, eliminating unnecessary copy of unused attributes -removed FNiagaraConstantMap, replaced with an instance of FNiagaraConstants -some code simplification -removed some deprecated structs and code used only by old content Change 3047052 on 2016/07/12 by Zabir.Hoque Unshelved from pending changelist '3044062': PR #2588: Adding blend mode BLEND_AlphaComposite (4.12) (Contributed by moritz-wundke) Change 3047727 on 2016/07/13 by Luke.Thatcher Fix Scene Capture Components only updating every other frame. #jira UE-32581 Change 3047919 on 2016/07/13 by Olaf.Piesche CMask decode, use in deferred decals, for PS4 Change 3047921 on 2016/07/13 by Uriel.Doyon "Build Texture Streaming" will now remove duplicate error msg when computing texcoord scales. Also, several texture messages are packed on the same line if they relate to the same material. Change 3047952 on 2016/07/13 by Rolando.Caloca DR - vk - Initial prep pass for separating combined images & samplers Change 3048648 on 2016/07/13 by Marcus.Wassmer Fix rare GPU hang when asynctexture reallocs would overlap with EndFrame Change 3049058 on 2016/07/13 by Rolando.Caloca DR - vk - timestamps Change 3049725 on 2016/07/14 by Marcus.Wassmer Fix autosdk bug where not having a platform directory sync'd at all would break manual SDK detection Change 3049742 on 2016/07/14 by Rolando.Caloca DR - Fix warning Change 3049902 on 2016/07/14 by Rolando.Caloca DR - Fix typo Change 3050345 on 2016/07/14 by Olaf.Piesche UE-23925 Clamping noise tessellation for beams at a high but sensible value; also making sure during beam index buffer building that we never get over 2^16 indices; this is a bit hokey, but there are so many variables that can influence triangle/index count, that this is the only way to be sure (short of nuking the entire site from orbit). Change 3050409 on 2016/07/14 by Olaf.Piesche Replicating 3049049; missing break and check for active particles when resolving a source point to avoid a potential crash Change 3050809 on 2016/07/14 by Rolando.Caloca DR - vk - Remove redundant validation layers Change 3051319 on 2016/07/15 by Ben.Woodhouse Fix for world space camera position not being exposed in decal pixel shaders; also fixes decal lighting missing spec and reflection The fix was to calculate ResolvedView at the top of the shader. Previously this was not initialized #jira UE-31976 Change 3051692 on 2016/07/15 by Rolando.Caloca DR - vk - Enable RHI thread by default Change 3052103 on 2016/07/15 by Uriel.Doyon Disabled depth offset in depth only pixel shaders when using debug view shaders (to prevent Z fighting). #jira UE-32765 Change 3052140 on 2016/07/15 by Rolando.Caloca DR - vk - Fix shader snafu Change 3052495 on 2016/07/15 by Rolando.Caloca DR - Fix for Win32 compile #jira UE-33349 Change 3052536 on 2016/07/15 by Uriel.Doyon Fixed texture streaming overbudget warning when using per texture bias. [CL 3054554 by Gil Gribb in Main branch]
2016-07-18 17:17:08 -04:00
if (bActiveContextWillBeReleased)
{
wglMakeCurrent( NULL, NULL );
}
ReleaseDC(Context->WindowHandle, Context->DeviceContext);
Context->DeviceContext = NULL;
if (PlatformOpenGLCurrentContext(Device) == CONTEXT_Rendering && bSharedDC)
{
// The rendering context has been made current using the DC of the now destroyed context. Since this DC has been released the current context will be invalid.
// To properly set the rendering context we must make current here with it's own DC.
ContextMakeCurrent(Device->RenderingContext.DeviceContext, Device->RenderingContext.OpenGLContext);
}
check(Context->WindowHandle);
if (Context->bReleaseWindowOnDestroy)
{
DestroyWindow(Context->WindowHandle);
}
Context->WindowHandle = NULL;
}
/**
* Destroy an OpenGL context.
*/
void PlatformDestroyOpenGLContext(FPlatformOpenGLDevice* Device, FPlatformOpenGLContext* Context)
{
PlatformReleaseOpenGLContext(Device, Context);
delete Context;
}
/**
* Main function for transferring data to on-screen buffers.
* On Windows it temporarily switches OpenGL context, on Mac only context's output view.
*/
bool PlatformBlitToViewport( FPlatformOpenGLDevice* Device, const FOpenGLViewport& Viewport, uint32 BackbufferSizeX, uint32 BackbufferSizeY, bool bPresent,bool bLockToVsync)
{
int32 SyncInterval = RHIGetSyncInterval();
FPlatformOpenGLContext* const Context = Viewport.GetGLContext();
check(Context && Context->DeviceContext);
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3793423) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3771581 by Chris.Babcock Add proxy support for Android #jira UE-52671 #ue4 #android Change 3771990 by Jack.Porter Fixed a crash when duplicating a landscape level in a cooked build. #jira UE-46550 Change 3772922 by Allan.Bentham Convert half float texture coordinates to float during serialize if HW does not support halfs. #jira UE-52397 Change 3772973 by Allan.Bentham Add GLES3.1 compatibility mode to mobile preview. Use -GLESCompat alongside -featureleveles31 to run windows mobile preview with android ES3.1 shaders. Change 3775585 by Cosmin.Sulea Safe zone rotation iPhoneX #jira UEMOB-52138 Change 3776702 by Peter.Sauerbrei addition of missing default icons #jira UE-52387 Change 3776775 by Peter.Sauerbrei fix for marketing icon size in the project settings #jira UE-52388 Change 3777336 by Peter.Sauerbrei properly call OnOpenURL in the main thread start if the engine hasn't been initialized previously fix courtesy of sangpan #jira UE-51133 Change 3777602 by Dmitriy.Dyomin Fxied: Project fails to package for Android with RenderDoc debugger enabled #jira UE-52758 Change 3778247 by Bogdan.Vasilache UE-50257 --> Skeletal meshes silently fail to render if they have more than 75 bones #jira UE-50257 Change 3778318 by Peter.Sauerbrei copy NSLocalizationfiles from Build/IOS/Resources/Localizations courtesty of alexchicn #jira UE-52317 Change 3778597 by Allan.Bentham Mobile support for CSM shader culling with movable lights. Add 'Support movable light CSM shader culling' option to render settings. (default on) Add new culling mode which tests against only the shadow receiving frustum, saves on CPU searching for shadow casters intersects. (default cull mode.) Add FPrimitiveSceneProxy.bReceiveMobileCSMShadows which now applies to both stationary and movable lights. (default = true) removed FPrimitiveSceneProxy.bReceiveCombinedCSMAndStaticShadowsFromStationaryLights removed 'r.AllReceiveDynamicCSM' cvar Change 3778703 by Allan.Bentham Mobile CSM distance fading. Change 3780805 by Allan.Bentham Attempt to silence CIS static analysis. Change 3781098 by Allan.Bentham Pass per project maximum shadow cascade value to mobile shader compile environment. CSM shaders no longer loop over non-existant cascades. Change 3781155 by Chris.Babcock Fix support for GL_OES_standard_derivatives on Android (contributed by jlc-innerspace) #jira UE-52872 #PR #4267 #ue4 #android Change 3785116 by Peter.Sauerbrei fix for new iOS 11 api being called on iOS 9, 10 #jia UE-52912 Change 3785240 by Chris.Babcock Updated Android SDK license agreement #jira UE-52788 #ue4 #android Change 3786652 by Cosmin.Sulea UE-50381 - Using FMallocProfiler extremely slow resolving symbols on iOS - .udebugsymbols approach #jira UE-50381 Change 3787587 by Chris.Babcock Fix oversized UMG Designed button #jira UE-53014 #ue4 Change 3772888 by Cosmin.Sulea UE-52138 - Add support to UMG safe zone to be off-center for iPhone X #jira UE-52138 [CL 3793429 by Chris Babcock in Main branch]
2017-12-06 19:54:50 -05:00
if (FOpenGL::IsAndroidGLESCompatibilityModeEnabled())
{
glDisable(GL_FRAMEBUFFER_SRGB);
int32 RealSyncInterval = bLockToVsync ? SyncInterval : 0;
if (wglSwapIntervalEXT_ProcAddress && Context->SyncInterval != RealSyncInterval)
{
wglSwapIntervalEXT_ProcAddress(RealSyncInterval);
Context->SyncInterval = RealSyncInterval;
}
::SwapBuffers(Context->DeviceContext);
return true;
}
FScopeLock ScopeLock(Device->ContextUsageGuard);
{
FPlatformOpenGLContext TempContext = *Context;
if (Device->ViewportContexts.Num() == 1)
{
TempContext.OpenGLContext = Device->RenderingContext.OpenGLContext;
TempContext.ViewportFramebuffer = Device->RenderingContext.ViewportFramebuffer;
}
FScopeContext ScopeContext(&TempContext);
GLuint vfb = TempContext.ViewportFramebuffer;
if (Viewport.GetCustomPresent())
{
Device->TargetDirty = false;
glDisable(GL_FRAMEBUFFER_SRGB);
bool bShouldPresent = Viewport.GetCustomPresent()->Present(SyncInterval);
glEnable(GL_FRAMEBUFFER_SRGB);
if (!bShouldPresent)
{
return false;
}
else
{
Device->TargetDirty = true;
}
}
if (Device->ViewportContexts.Num() == 1 && Device->TargetDirty)
{
glBindFramebuffer(GL_FRAMEBUFFER, TempContext.ViewportFramebuffer);
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, Context->BackBufferTarget, Context->BackBufferResource, 0);
FOpenGL::CheckFrameBuffer();
Device->TargetDirty = false;
}
glDisable(GL_FRAMEBUFFER_SRGB);
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0);
FOpenGL::DrawBuffer(GL_BACK);
glBindFramebuffer(GL_READ_FRAMEBUFFER, TempContext.ViewportFramebuffer);
glReadBuffer(GL_COLOR_ATTACHMENT0);
glBlitFramebuffer(
0, 0, BackbufferSizeX, BackbufferSizeY,
0, BackbufferSizeY, BackbufferSizeX, 0,
GL_COLOR_BUFFER_BIT,
GL_NEAREST
);
glEnable(GL_FRAMEBUFFER_SRGB);
if (bPresent)
{
int32 RealSyncInterval = bLockToVsync ? SyncInterval : 0;
if (wglSwapIntervalEXT_ProcAddress && Context->SyncInterval != RealSyncInterval)
{
wglSwapIntervalEXT_ProcAddress(RealSyncInterval);
Context->SyncInterval = RealSyncInterval;
}
::SwapBuffers(Context->DeviceContext);
}
}
return true;
}
void PlatformFlushIfNeeded()
{
glFinish();
}
void PlatformRebindResources(FPlatformOpenGLDevice* Device)
{
// @todo: Figure out if we need to rebind frame & renderbuffers after switching contexts
}
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 4064755) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3873313 by Nick.Atamas Merging CL 3834212 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a Merging CL 3805354, CL 3822769, CL 3827454, CL 3831789 //UE4/Partner-Google-VR/Engine/... to //Tasks/UE4/Dev-VR-4.19a/Engine/... Change 3873330 by Nick.Atamas Merging CL 3835373 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a Merging CL 3777058 //UE4/Partner-Google-VR/Engine/... to //Tasks/UE4/Dev-VR-4.19a/Engine/... and fixing up QAARApp to work with latest ARCore changes. Change 3873791 by Nick.Atamas Merging //UE4/Dev-Main@3866324 to Dev-VR (//UE4/Dev-VR) to get missing files and fixing CIS. Change 3933769 by Keli.Hlodversson Remove unused IStereoRendering::GetCustomPresent #jira UEVR-1083 Change 3935219 by Nick.Atamas QAARApp re-write. Change 3935664 by Mike.Beach Oculus SI 1.23 changes Change 3941505 by Joe.Graf Made the send & recv buffer sizes for the BackChannel plugin configurable Added send & recv counters for tracking the amount of transmission data Change 3944003 by Joe.Graf Added -buildscw to the CMake build command lines for editors to match what XCode is doing on Mac Change 3945189 by Douglas.Copeland Saving Material with Use w/ Static Lighting Flag set to resolve Engine warnings Change 3945245 by Douglas.Copeland Resaving QA_MeshTypes asset to resolve warnings produced by missing info Change 3945266 by Douglas.Copeland Updating TM-HMDNodes LevelBP WallofGets to use PxielDensity instead of ScreenPercentage. Resolving Engine warnings Change 3947785 by Mike.Beach Oculus changes to Android core count - only count usable cores not deadicated to the OS, etc. Change 3951763 by Joe.Graf Fixed thread ordering bug with remote session frame compression Change 3952242 by Joe.Graf Saved about 20-25% of the cpu time for compressing jpeg when performing the cpu swizzle Change 3954571 by Keli.Hlodversson * Add FXRRenderBridge base class containing common code from different CustomPresent implementations. * Create a default implementation of UpdateViewportRHIBridge in FXRRenderTargetManager by adding GetActiveRenderBridge_GameThread. ** The default implementation now handles calling View->SetCustomPresent instead of making it up to the custom present (now XRRenderBridge) implementation (it already had to handle when the custom present was null.) * Remove unused member variable ViewportRHI from RHICustomPresent. #jira UEVR-1081 Change 3954572 by Keli.Hlodversson * Apply XRRenderBridge and XRRenderTargetManager changes to the SteamVR plugin * Move duplicated methods into an already existing BridgeBaseImpl class #jira UEVR-592 Change 3954573 by Keli.Hlodversson * Apply XRRenderBridge refactor to Oculus plugin #jira UEVR-590 Change 3954575 by Keli.Hlodversson * Apply XRRenderBridge refactor to OSVR #jira UEVR-595 Change 3954578 by Keli.Hlodversson * Apply XRRenderBridge refactor to GoogleVR #jira UEVR-594 Change 3954596 by Keli.Hlodversson Add file missing from cl#3954572 Change 3957882 by Jeff.Fisher UEVR-1100 bLockToHmd false doesn't work correctly -CameraComponent can now tell the LateUpdateManager to store, correctly buffered, the fact that we don't want to do late update this frame. DefaultXRCamera checks that flag before applying the late upate to the camera. #jira UEVR-1100 #review-3956168 Change 3957945 by Jeff.Fisher Fix for Oculus begin/end frame problem after XRRenderBridge refactor. -The 'Frame' lifetime in the frame was not long enough, so it was null by the time GetActiveRenderBridge_GameThread was called. NextFrameToRender is the same value, but has a long enough lifetime. #review-3957897 Change 3958760 by Dongsik.Seo Adding UseCameraRotation feature to StereoPanorama plug-in. To enable this feature, use console command SP.UseCameraRotation 7 Simply add numbers to mark axis to use. 1 = Pitch, 2 = Yaw, 4 = Roll 7 means all axis (1+2+4) #review-3958756 @Joe.Conley Change 3959347 by Douglas.Copeland Fixing spelling errors in test displays Change 3964331 by Jason.Bestimt Merging CL 3959979 from 4.19 to Dev-VR + uplugin change from CL 3954046 GoogleARCore Plugin fixes for Unreal 4.19.1 hotfix: Fixed the crash in Acquire/Release UGoogleARCorePointCloud. Fixed the issue that multiple line trace channel doesn't work correctly. Fixed the issue the passthrough camera texture has blue and red channel swapped when building against gles 3.1 Fixed the issue that UGoogleARCorePointCloud::GetPoint doesn't return position in world space. Change 3967485 by Ryan.Vance Removed the exlude rect, we want to clear stencil on the entire surface. Change 3968028 by Zak.Parrish Nuking contents of existing FaceARSample, to be replaced by the one from Release-4.19. Change 3968114 by Zak.Parrish Adding in the new version of FaceARSample from Release-4.19 #rb none Change 3978381 by Mike.Beach Mirroring CL 3969503 from 4.19 Only triggering new Blueprint event, OnMotionControllerUpdated, from the game thread (causing a assert/crash when triggered from the render thread and the component has been destroyed on the main thread). #jira UE-55445 Change 3981160 by Joe.Graf Merged the BackChannel unit test fix over from Owl Change 3981705 by Mike.Beach [WIP] MR Calibration - Expose a config setting that will alter the tracking origin type used to calibrate (eye vs. floor). #jira UE-55220 Change 3981898 by Joe.Graf Added support for Apple hardware accelerated image conversion to JPEG, TIFF, PNG, and HEIF Added a Blueprint latent action to perform the conversion in the background Change 3981910 by Joe.Graf WIP AR texture support so that other systems can interact with the camera data Change 3982102 by Joe.Graf Pull request: Update CMakefileGenerator.cs for CLion Fixed an issue in the PR and added cleanup for the macro errors that result in FOO()= definitions #jira: UE-57103 GitHub #4619 Change 3982883 by Joe.Graf Added a CLionGenerator for consistency Fixed editor preferred source code accessor parsing in the project file generator Added code to detect the bad assumption of the project name always being UE4 and stripped that off in the CLionSourceCodeAccessor #jira UE-54801 Change 3983687 by Joe.Graf Fixed the lack of platform checks for adding a framework in the Apple image utils plugin causing a Switch compile error Change 3984325 by Jeff.Fisher UEVR-1141 PSVR - fix morpheus on pc render target scaling -Hard coding the target size. Perhaps the old method broke with the pixel density change. #review-3983261 Change 3984563 by Joe.Graf Temporarily disabled ConvertToHEIF on Mac until the build machines are updated to XCode 9.3 Change 3985213 by Zak.Parrish Removing a ton of excess art assets that were taking up lots of space and possibly throwing warnings. We weren't going to use them anyway. #rb none Change 3985577 by Joe.Graf WIP support for the Apple Vision API to perform computer vision tasks on images Change 3985654 by Joe.Graf Fixed missing forward declaration hidden by unity files Change 3990596 by Mike.Beach Adding a delegate for handling when the active XR system modifies the tracking space origin, and a API function for getting a transform between floor and eye space. #jira UE-55220 Change 3990788 by Mike.Beach Attempted CIS fix (fallout from CL 3990596) Change 3990824 by Ryan.Vance Re-submitting 4.19.1 hotfox 3968537 Change 3995804 by Jeff.Fisher Merging cl 3995785 //UE4/Dev-VR-Seal/Engine/Source/... to //UE4/Dev-VR/Engine/Source/... UEVR-1148 bLockToHmd change breaking qagame entry level xr camera behavior -Fixing late update when no camera component is in use. -The camera component's bLockToHMD==false behavior is supposed to be that hmd motion is ignored, meaning we should not do a late update. This behavior is being applied TO the XRCamera system FROM the camera component, but the camera component can go away or be switched at any time. We want the default to be do apply hmd motion and late update, so disabling late update needs to be a positive setting applied each frame. #review-3995764 Change 3999842 by Nick.Whiting Exposing Apple ARKit function library as public for our buddies down under. Change 4005541 by Joe.Graf UE-57541 Blacklisted TVOS since it also defines PLATFORM_IOS as 1 #jira UE-57541 Change 4006308 by Jason.Bestimt #DEV_VR - Hopeful fix for possible unity issue Change 4006543 by Joe.Graf Added code to be more correct on setting face blendshapes Change 4007508 by Jason.Bestimt #LUMIN - Adjusting automation tests. - Moved QA specific content test into QA Game - Wrapped controller not found to only happen on device Change 4007515 by Jason.Bestimt #LUMIN - Disabling privilege warning except on device Change 4007552 by Jason.Bestimt #LUMIN - Wrapping LuminTargetPlatform internals that require WITH_ENGINE Change 4008585 by Joe.Graf Added virtual curves for the head rotation information from the FaceAR's face tracking for streaming via LiveLink #jira: UE-57830 Change 4008604 by Mike.Beach MR - Making the chroma key material easier to customize & switch out. Updating the calibration to let you set whatever params you've exposed in the video processing material (removing hardcoded params for old chroma keying material). #jira UEVR-1153 Change 4009396 by Jason.Bestimt #DEV-VR - Removing warning about stat on different threads (CL 4009124) Change 4009514 by Joe.Graf Added a weighted moving average method to the modify curve anim node Change 4010125 by Jason.Bestimt #DEV-VR - Integrating 0.12 changes from Dev-VR-Seal to Dev-VR Change 4010434 by Jason.Bestimt #DEV-VR - Fix for Lumin Haptic Test include Change 4010945 by Jeff.Fisher QAHapticTests build fix -removed unused bad include Change 4011002 by Nick.Atamas Fixed Android compilation. Change 4011220 by Nick.Atamas - Adding visualization for boundary polygons. - Adding support for vertical planes. Change 4011298 by Mike.Beach MR - Revamping the VideoProcessing/ChromaKeying material so that it: 1) Better extracts luminance from the image 2) Utilizes despill to remove chroma bleed from the scene 3) Leverages the generated despill mask to add back in a faux bounce #jira UEVR-1153 Change 4011858 by Keli.Hlodversson Move ExecuteOn(RHI|Render)Thread from Oculus plugin into XRThreadUtils.{h|cpp} inside the HMD module Use TFunction and TFunctionRef instead of std::function as arguments. (Depends on the changes in CL#3987166: Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures.) -- Ref for methods that guarantee the function has been invoked before returning, TFunction for *_NoWait, as the function may not get execured until later when RHI is in a separate thtread and not bypassed. #jira UE-57380 Change 4011956 by Keli.Hlodversson Fix missing includes after CL#4011858 Change 4012096 by Joe.Graf Disabled building AppleVision on Mac until there's a good solution for older Mac OSes Change 4012294 by Jason.Bestimt #DEV-VR - Adding dependency on LuminRuntimeSettings to MagicLeap module. Hopefully, this will fix the generated files not being found Change 4012390 by Jason.Bestimt #DEV-VR - Misc fixes for static code analysis issues - Guards around GEngine usage - Fix from Rolando for uint32 -> uint64 + shifting warning - Redundant if checks Change 4013426 by Jason.Bestimt #DEV-VR - Guarding RestoreBaseProfile so we don't crash on exit #JIRA: UE-57960 Change 4014661 by Ryan.Vance Initial support for omni-directional stereo captures. https://developers.google.com/vr/jump/rendering-ods-content.pdf Change 4015561 by Jason.Bestimt #DEV-VR - Moving MLSDK out of thirdparty directory to fix static code analysis issue Change 4016202 by Jason.Bestimt #DEV-VR - Integrated CL 2685 from Seal depot #JIRA: UEVR-1157 Change 4016448 by Jason.Bestimt #DEV-VR - Adding LuminRuntimeSettings as dependent modules for anything that references the MLSDK Change 4016457 by Ryan.Vance #jira UE-58018 Cleaning up compiler errors/warnings. Change 4017246 by Jason.Bestimt #DEV-VR - Potential fix for UE-58043 where metal asserts that it should be in the render thread rather than either the render thread OR RHI Thread #JIRA: UE-58043 Change 4018571 by Joe.Graf Added a remapping of curve values in a range to the modify curve anim node Change 4018991 by Joe.Graf Wrapped vertical plane detection in a if iOS 11.3 check since ARKit 1.5 is only availabe from 11.3 on #jira: UE-57999 Change 4019068 by Joe.Graf Changed how Apple Vision support is enabled in code #jira: UE-57552 Change 4019194 by Joe.Graf Added a console command to change where Face AR is publishing LiveLink curve data "LiveLinkFaceAR SendTo=192.168.1.1" Change 4019648 by Keli.Hlodversson Work around build failures caused by missing virtual destructor warnings. Reverting back to Oculus' original method of implementing own RHICommand wrapper around TFunctions and TFunctionRefs (using overloaded inline functions and templates to reduce code duplication.) Change 4019871 by Joe.Graf Changed the __IPHONE_11_3 to the raw numeric value Change 4020121 by Keli.Hlodversson Fix parameter types to match header declarations. Change 4020127 by Keli.Hlodversson Remove dllimport/export macros from cpp file. Change 4020621 by Joe.Graf Wrapped the Apple ARKit plane geometry building in a #if IOS_11_3 check Change 4020910 by Joe.Graf Refactored how ARKit support #define to make it easy to wrap individual features by ARKit version Change 4020952 by Joe.Graf Added checks to make sure PLATFORM_IOS and PLATFORM_TVOS are defined to 0 on non-Apple platforms when checking for ARKit Change 4021116 by Jason.Bestimt #DEV-VR - Integrating CL 4005915 from Dev-Core to remove plugin modules that aren't supported on target platform Change 4021320 by Joe.Graf Fixed warnings resulting from unity builds hiding them Change 4021738 by Chad.Garyet - adding lumin filters - changing defaults for platforms back to true, this was brought over erroneously. #jira none #ROBOMERGE: Dogma, Nightlies Change 4021898 by Chad.Garyet added missing bits from the ue4main script #jira none #ROBOMERGE: Dogma, Nightlies Change 4022583 by Joe.Graf Added functions for checking ARKit version availability at runtime Change 4022610 by Joe.Graf Added checks for ARKit 1.0 availability when creating the AR session to prevent calling invalid selectors on older iOSes Change 4022616 by Joe.Graf Added support for enabling the ARKit 1.5 autofocus setting Change 4022650 by Joe.Graf Defaulted autofocus for AR to on Change 4023026 by Joe.Graf Changed the ARKit video overlay to use the new availability api Change 4023124 by Joe.Graf Switched another version check in the ARKit overlay code to use the faster version Change 4023489 by Ethan.Geller [Dev-VR] #jira none fix AudioMixerModuleName for Lumin. #fyi nick.whiting, jason.bestimt Change 4023995 by Nick.Atamas Properly deprecated the bitfield for plane detection mode. #jira UE-57842 Change 4024992 by Jason.Bestimt #DEV-VR - Adding SupportPlatforms to MagicLeapAnalytics plugin Change 4025702 by Jason.Bestimt #DEV-VR - Fix for loading ML libraries even when the MLSDK is not present #JIRA: UE-58033 Change 4026639 by Mike.Beach Removing innocuous Oculus error that did not match up with the rest of the code - it is handled/acceptable when Frame_RenderThread has been reset. #jira UE-58001 Change 4026949 by Mike.Beach MR - Making a few fixes to the lens undistortion and how it interacts with the MRC component... - Switching to a 16bit displacement map instead of a 32bit UV map (updating the materials accordingly) - Using the OpenCV focal ratio to scale the aspect ratio to avoid stretching from the undistortion - Adding CVar commands to enable/disable pieces of the undistortion - Changing the default undistortion cropping to be uncropped - Removing the need for the 'EnableMapping' material parameter #jira UE-55195 Change 4027147 by Jason.Bestimt #DEV-VR - Fix for UE-58043 (more call sites where it should be Render OR RHI thread) #JIRA: UE-58043 Change 4027301 by Mike.Beach Updating the MRCalibration project's ini so it doesn't error on packaging. Change 4027469 by Mike.Beach MR Calibration - Setting StartInVR to true, so when we package the app, we don't have to manually enable it. Change 4027957 by Mike.Beach As part of renaming the MR plugin, first renaming the root folder to be MixedRealityCaptureFramework. #jira UE-57782 Change 4029182 by Keli.Hlodversson Revert back to not enqueuing RHI tasks when RHI is not on a separate thread. Oculus code depends on being able to call ExecuteOnRHIThread from code potentially called from within other calls to ExecuteOnRHIThread. #jira UE-58079 Change 4029687 by Dragan.Jerosimovic Boy rig and pose asset mb files, maps and masks Change 4030059 by Mike.Beach As part of renaming the MR plugin, renaming the inner module to be MixedRealityCaptureFramework. #jira UE-57782 Change 4030296 by Charles.Egenbacher #LUMIN Copying from Dev-Incoming-Staging to Dev-VR Change 4030593 by Jason.Bestimt #DEV-VR - Merging olaf test maps to Dev-VR Change 4031042 by Keli.Hlodversson Allow executing ExecuteOnRHIThread* on the RHI thread. Enables simplifying destructors that can either be invoked on the RHI or Render thread. #jira UE-58239 Change 4031046 by Keli.Hlodversson Use the new XRThreadUtils functions in the HMD module for executing tasks on the RHI thread #jira UE-58238 Change 4032593 by Mike.Beach As part of renaming the MR plugin, renaming the inner module to be MixedRealityCaptureCalibration. #jira UE-57782 Change 4033911 by Jason.Bestimt #DEV-VR - Fix to LuminToolChain to allow it use a custom strip executable (android instead of gcc) Change 4034087 by Mike.Beach Renaming the MR plugin to be the 'MixedRealityCaptureFramework' plugin. #jira UE-57782 Change 4034253 by Joe.Graf Made the Apple Vision plugin use version checking consistent with ARKit Change 4034543 by Joe.Graf Added availability checks for the Apple Image Utils plugin similar to ARKit #jira: UE-57541 Change 4034548 by Joe.Graf Fixed the implicit conversion in the head rotation curves from the face ar feed causing the values to be 0 Change 4034577 by Jason.Bestimt #DEV-VR - Removing MAC Custom Metal present (fixes Mac with -game rendering all black) Change 4034605 by zak.parrish Checking in test case for head rotation tracking - minor temporary change to AnimBP #rb none Change 4034686 by Jason.Bestimt #DEV-VR - Integrating (most of) CL 3980919 to disable instances of deprecation warnings caused by building for ios11 #JIRA: UE-58046 Change 4034799 by Joe.Graf Added base types for detecting images in a AR session Change 4034820 by Joe.Graf Added a friendly name to UARCandidateImage objects Change 4035010 by Joe.Graf Added support for handling ARImageAnchor notifications from ARKit Change 4035355 by Mike.Beach [WIP] MR - Renaming some classes to reflect the plugin's new name. #jira UE-57782 Change 4035464 by Joe.Graf Added orientation to the ARCandidateImage object to pass to the detection system Change 4035524 by Mike.Beach [WIP] MR - More renaming of some classes to better match the plugin's new name. #jira UE-57782 Change 4035606 by Mike.Beach [WIP] MR - More renaming of some classes to better match the plugin's new name. #jira UE-57782 Change 4035918 by Mike.Beach [WIP] MR - Renaming the MrcFramework module's source files to better match the plugin's new name. #jira UE-57782 Change 4035976 by Mike.Beach [WIP] MR - Renaming some more files and classes to better match the MRC framework's new name. #jira UE-57782 Change 4036044 by Ryan.Vance #jira UEVR-377 Adding support for ISR Translucency. Change 4036069 by Ryan.Vance We can remove the last word PrimitiveVisibilityMap masking for ISR since the maps are always the same size between views. Change 4036073 by Chance.Ivey Fixed select blocks on LuminSamplePawn and GesturesAndTotem map to reflect recent changes. Fixes #JIRA UE-58328 #rb none Change 4036307 by Mike.Beach [WIP] MR - Renaming the MRC calibration files to better match the MRC framework's new name. #jira UE-57782 Change 4036314 by Mike.Beach [WIP] MR - Renaming some more calibration classes to better match the MRC framework's new name. #jira UE-57782 Change 4036319 by Charles.Egenbacher #LUMIN this is an out-of-date version of the lumin sample. Nuking. Change 4036396 by Charles.Egenbacher #LUMIN Adding the up to date version of the LuminSample. Change 4036485 by Sorin.Gradinaru UE-57773 Disable Thermals Message #4.20 #iOS Add in the Remote Session App BP an Execute Console Command node immediately after Event Begin Play, disabling all on-screen messages, for all builds. Change 4036695 by Jason.Bestimt #DEV-VR - Adding Lumin case to PrecompileTargetType check Change 4037110 by Jason.Bestimt #DEV-VR - Extra deprecated macro guards around HarfBuzz includes #JIRA: UE-58046 Change 4037443 by Jason.Bestimt #DEV-VR - Merging CL 4028003 from Partners-Google Change 4037490 by Jason.Bestimt #DEV-VR - Integrating CL 4028922 from Partners-Google (+ assignment guarding) Change 4037691 by Jason.Bestimt #DEV-VR - Swapping order of comparrison operator to deal with const error Change 4037892 by Joe.Graf Added UTexture2D to CGImage conversion in Apple Image Utils plugin Change 4037894 by Joe.Graf Changed the name of a property to make it clearer as to what it is and to have fewer things named similar in the same system Change 4037901 by Joe.Graf Added support for configuring which images you'd like detected during a AR session Change 4037906 by Jason.Bestimt #DEV-VR - Fixing buckled logic for =operator (derp) Change 4038293 by Mike.Beach [WIP] MR - Moving the calibration setup/level/content into its own project, and out of the MR plugin. #jira UE-57782 Change 4038403 by Joe.Graf Added the name from the candidate image when creating the Apple side representation Change 4038488 by Mike.Beach [WIP] MR Calibration - Moving calibration specific files to the MRCalibration project, out of the plugin (followup to CL 4038293). This makes the MRCalibration project a code project now. #jira UE-57782 Change 4038776 by Chance.Ivey Updates to Fix for Gestures change. Affects #JIRA UE-58328, though other non-content issues may cause packaging to fail #rb none #fyi Nick.Whiting Change 4038877 by Mike.Beach [WIP] MR - Renaming assets to better match the new plugin name. #jira UE-57782 Change 4039097 by Joe.Graf Fixed the public include path warnings in the Apple* plugins I added Change 4039106 by Joe.Graf Worked around a bad compile time assert that blocked valid FString::Printf debug code Change 4039209 by Jeff.Fisher Fixing one build script paths Change 4039275 by Jeff.Fisher More include path fixes. Change 4039415 by Joe.Graf Added support for remote session sending AR camera image data to be rendered on the host like we do for AR on device Change 4039471 by Joe.Graf Added a file I missed when adding to the remote session plugin Change 4039473 by Joe.Graf #ifdef-ed some code out until the linkage can be fixed Change 4040249 by Mike.Beach [WIP] MR - Moving some more asset files that aren't needed for the MRC plugin #jira UE-57782 Change 4040365 by Mike.Beach Fixing a compiler issue in the MRCalibration project, since moving MRC files there (WITH_OPENCV is not defined for the project). #jira UE-57782 Change 4040455 by Mike.Beach Moving the few remaining methods that were calibration specific, sprinkled through the MRC plugin. #jira UE-57782 Change 4041404 by Mike.Beach Fixing an issue with BP async nodes - making it so their wrapped function can be renamed and redirected. Change 4041406 by Mike.Beach MR - Splitting the Mrc video util library so that the BP functions needed for calibration aren't exposed to users. #jira UE-57782 Change 4042110 by Jason.Bestimt #DEV-VR - Stopping spew for ML eye tracking when not on platform #JIRA: UE-58365 Change 4042407 by Joe.Graf Disabled HEIF compression on Mac #jira: UE-58479 Change 4042727 by Jason.Bestimt #DEV-VR - Fix for Android compiling without version 24 Change 4042861 by Olaf.Piesche #jira UE-57784 Change 4043105 by Mike.Beach Exposing a way for programmers to strip save game headers from save data, and get to the tagged object serialization portion. #jira UE-58389 Change 4043120 by Mike.Beach MR - Loading the base save data, even if we're unable to fully construct the original save object class. #jira UE-58389 Change 4043401 by Mike.Beach New Oculus poke-a-hole material, in support on SI 1.25. Checking in to alleviate QA contention for testing the rest of SI 1.25. #jira UEVR-1143 Change 4043424 by Mike.Beach Oculus SI 1.24/1.25 - Engine rendering changes #jira UEVR-1143 Change 4043495 by Mike.Beach CIS fix - Missing files needed for the Oculus SI 1.24/25 Vulkan changes. #jira UEVR-1143 Change 4043642 by Zak.Parrish Changes to FaceARSample: added in support for JoeG's smoothing algorithm, also refactored calibration to use the new Modify Curves node. Added some more comments to the AnimBp to make it easier to read. #rb none Change 4045638 by Zak.Parrish Some minor updates to FaceARSample content. Mostly refactoring for new ModifyCurve stuff. Change 4046003 by Jason.Bestimt #DEV-VR - Fix for bEnableAlphaChannelInPostProcessing reading in as false for LuminSample bEnableAlphaChannelInPostProcessing translates to r.PostProcessing.PropagateAlpha in ini files #JIRA: UE-58523 Change 4046548 by Jules.Blok Fix SetInstancedEyeIndex() ignoring the left eye. #jira UE-54044 Change 4046859 by zak.parrish Checking in the new rig from 3Lateral - this prevents the eyelashes from separating Change 4047060 by Nick.Whiting Wrapping -norhithread in PLATFORM_LUMIN to prevent the ML plugin from always disabling RHI threading. #jira UEVR-1192 Change 4047667 by Mike.Beach CIS fix - removing uneeded line from bad merge. Change 4047673 by Mike.Beach More CIS fixes for fallout from recent rendering merge. Change 4048227 by Rolando.Caloca VR - vk - Some Vulkan merge conflicts resolved Change 4048421 by Jason.Bestimt #DEV-VR - Converting OwnerName to EventName in UpdateSceneCaptureContent_RenderThread call Change 4048423 by Jason.Bestimt #DEV-VR - Fixing mediandk version check Change 4048452 by Rolando.Caloca VR - Merge fix Change 4048530 by Rolando.Caloca VR - Merge fix Change 4048607 by Jason.Bestimt #DEV-VR - Probable repair of Mr Mesh post merge Change 4048794 by Rolando.Caloca VK - Fix mobile from merge Change 4048972 by Jeff.Fisher Fixing MeshReconstructor merge problems. Change 4049969 by Ryan.Vance Fixing missing shader assert. Change 4050831 by Ryan.Vance Merge clean up. This is still needed to build w/ vulkan on Lumin. Change 4050854 by Ryan.Vance Merge clean up. We need GetAllocationHandle for the ML Vulkan custom present sRGB workaround. Change 4051495 by Jason.Bestimt #DEV-VR - Adding Android, Quail, Linux vulkan include clauses Change 4052528 by Zak.Parrish Changing defaultEngine.ini for the higher res version of Gremlin Change 4052880 by Ryan.Vance Merge clean up. Now with more Lumin #jira UE-58645 Change 4052991 by zak.parrish Update to FaceTrackingMap2 for proper camera positioning Change 4053139 by Nick.Whiting Fixing Lumin Vulkan platform header Change 4053352 by Mike.Beach On PC (in editor), not enabling ML stereo by default. Waiting for it to be enable by the EnableStereo() call (like we do for Oculus/SteamVR). #jira UE-57991 Change 4053644 by Nick.Whiting Fix for build break by wrapping bStereoDesired in !PLATFORM_LUMIN Change 4054329 by Jason.Bestimt #DEV-VR - Resave of GoogleARCorePassthroughCameraMaterial.uasset #JIRA: UE-58689 Change 4054785 by Mike.Beach Fixing a MRCalibration BP compilation error from the latest merge - was using a deprecated variable which was no longer exposed to BPs. Change 4055466 by Jules.Blok Suppress SteamVR submission errors after they've been logged once. Change 4055500 by Jason.Bestimt #DEV-VR - MrMeshComponent fix for unsupported pixel format #JIRA: UE-58759 Change 4055761 by Ryan.Vance #jira UE-58729 There's a single frame where the TLV textures are not initialized when using FCanvasTileRendererItem on startup. Change 4056008 by Mike.Beach Fixing bad merge from Main. Change 4056616 by Nick.Whiting Changing UBT configs to use Lumin-specific config files #jira UE-58760 Change 4056969 by Keli.Hlodversson MRCalibration: Set r.SceneRenderTargetResizeMethod to "Grow" to avoid cycling the scene render target size on every frame causing a flicker #jira UE-58191 Change 4057356 by Jason.Bestimt #DEV-VR - Guard around JNI function for Lumin Change 4059353 by Nick.Whiting Fix for shadow variable warnings on Linux #jira UE-58843 Change 4060158 by Rolando.Caloca DVR - vk - Temporarily add backbuffer delay/extra copy blit on android #jira UE-58859 Change 4060432 by Mike.Beach Fix for shadow variable warnings on Linux #jira UE-58843 Change 4060520 by Rolando.Caloca VR - Proper fix for r.Vulkan.DelayAcquireBackBuffer=0 - Restore Android to not delay #jira UE-58859 Change 4060587 by Nick.Whiting Fix for minimum iOS version being set to iOS 8 on MRCalibration, which was causing CIS warnings #jira UE-58762 Change 4061277 by Jeff.Fisher UE-58861 //UE4/Dev-VR - Compile UE4Game Lumin - ERROR: MLSDK is not specified; cannot use Lumin toolchain. -Overriding HasAnySDK to setup the MLSDK. Change 4061308 by Jason.Bestimt #DEV-VR - Work around of UE-58864 crashing when mousing over project launcher with only a Lumin device plugged in #JIRA: UE-58864 Change 4062111 by Ryan.Vance #jira UE-58875 Fixing audio compilation failure. Change 4064091 by Jason.Bestimt #DEV-VR - Disabling ML Plugin with the editor when bIsVDZIEnabled is off #JIRA: UE-58954 Change 4064554 by Jason.Bestimt #DEV-VR - Removing ML haptic tests when not on the platform #JIRA: UE-58966 Change 4064755 by Jeff.Fisher UE-58970 Dev-VR - Incremental UE4Editor Linux - Referenced directory 'D:\Build\AutoSDK\HostWin64\Lumin\0.12\lib\linux64' does not exist. -Removed linux from magicleap plugin whitelists, we have no sdk for linux. #review-4064614 #jira UE-58970 [CL 4064889 by Mike Beach in Main branch]
2018-05-10 14:17:01 -04:00
FPlatformOpenGLContext* PlatformGetOpenGLRenderingContext(FPlatformOpenGLDevice* Device)
{
return &Device->RenderingContext;
}
void PlatformRenderingContextSetup(FPlatformOpenGLDevice* Device)
{
check(Device && Device->RenderingContext.DeviceContext && Device->RenderingContext.OpenGLContext);
if (GetCurrentContext())
{
glFlush();
}
if (Device->ViewportContexts.Num() == 1)
{
// use the HDC of the window, to reduce context swap overhead
ContextMakeCurrent(Device->ViewportContexts[0]->DeviceContext, Device->RenderingContext.OpenGLContext);
}
else
{
ContextMakeCurrent(Device->RenderingContext.DeviceContext, Device->RenderingContext.OpenGLContext);
}
}
void PlatformSharedContextSetup(FPlatformOpenGLDevice* Device)
{
check(Device && Device->SharedContext.DeviceContext && Device->SharedContext.OpenGLContext);
// no need to glFlush() on Windows, it does flush by itself before switching contexts
ContextMakeCurrent(Device->SharedContext.DeviceContext, Device->SharedContext.OpenGLContext);
}
void PlatformNULLContextSetup()
{
if (wglGetCurrentDC())
{
// no need to glFlush() on Windows, it does flush by itself before switching contexts
ContextMakeCurrent(NULL, NULL);
}
}
/**
* Resize the GL context.
*/
void PlatformResizeGLContext( FPlatformOpenGLDevice* Device, FPlatformOpenGLContext* Context, uint32 SizeX, uint32 SizeY, bool bFullscreen, bool bWasFullscreen, GLenum BackBufferTarget, GLuint BackBufferResource)
{
FScopeLock ScopeLock(Device->ContextUsageGuard);
{
uint32 WindowStyle = WS_CAPTION | WS_SYSMENU;
uint32 WindowStyleEx = 0;
HWND InsertAfter = HWND_NOTOPMOST;
if (bFullscreen)
{
// Get the monitor info from the window handle.
HMONITOR hMonitor = MonitorFromWindow(Context->WindowHandle, MONITOR_DEFAULTTOPRIMARY);
MONITORINFOEX MonitorInfo;
memset(&MonitorInfo, 0, sizeof(MONITORINFOEX));
MonitorInfo.cbSize = sizeof(MONITORINFOEX);
GetMonitorInfo(hMonitor, &MonitorInfo);
DEVMODE Mode;
Mode.dmSize = sizeof(DEVMODE);
Mode.dmBitsPerPel = 32;
Mode.dmPelsWidth = SizeX;
Mode.dmPelsHeight = SizeY;
Mode.dmFields = DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT;
// Turn on fullscreen mode for the current monitor
ChangeDisplaySettingsEx(MonitorInfo.szDevice, &Mode, NULL, CDS_FULLSCREEN, NULL);
WindowStyle = WS_POPUP;
WindowStyleEx = WS_EX_APPWINDOW | WS_EX_TOPMOST;
InsertAfter = HWND_TOPMOST;
}
else if (bWasFullscreen)
{
ChangeDisplaySettings(NULL, 0);
}
Device->TargetDirty = true;
Context->BackBufferResource = BackBufferResource;
Context->BackBufferTarget = BackBufferTarget;
//SetWindowLong(Context->WindowHandle, GWL_STYLE, WindowStyle);
//SetWindowLong(Context->WindowHandle, GWL_EXSTYLE, WindowStyleEx);
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3793423) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3771581 by Chris.Babcock Add proxy support for Android #jira UE-52671 #ue4 #android Change 3771990 by Jack.Porter Fixed a crash when duplicating a landscape level in a cooked build. #jira UE-46550 Change 3772922 by Allan.Bentham Convert half float texture coordinates to float during serialize if HW does not support halfs. #jira UE-52397 Change 3772973 by Allan.Bentham Add GLES3.1 compatibility mode to mobile preview. Use -GLESCompat alongside -featureleveles31 to run windows mobile preview with android ES3.1 shaders. Change 3775585 by Cosmin.Sulea Safe zone rotation iPhoneX #jira UEMOB-52138 Change 3776702 by Peter.Sauerbrei addition of missing default icons #jira UE-52387 Change 3776775 by Peter.Sauerbrei fix for marketing icon size in the project settings #jira UE-52388 Change 3777336 by Peter.Sauerbrei properly call OnOpenURL in the main thread start if the engine hasn't been initialized previously fix courtesy of sangpan #jira UE-51133 Change 3777602 by Dmitriy.Dyomin Fxied: Project fails to package for Android with RenderDoc debugger enabled #jira UE-52758 Change 3778247 by Bogdan.Vasilache UE-50257 --> Skeletal meshes silently fail to render if they have more than 75 bones #jira UE-50257 Change 3778318 by Peter.Sauerbrei copy NSLocalizationfiles from Build/IOS/Resources/Localizations courtesty of alexchicn #jira UE-52317 Change 3778597 by Allan.Bentham Mobile support for CSM shader culling with movable lights. Add 'Support movable light CSM shader culling' option to render settings. (default on) Add new culling mode which tests against only the shadow receiving frustum, saves on CPU searching for shadow casters intersects. (default cull mode.) Add FPrimitiveSceneProxy.bReceiveMobileCSMShadows which now applies to both stationary and movable lights. (default = true) removed FPrimitiveSceneProxy.bReceiveCombinedCSMAndStaticShadowsFromStationaryLights removed 'r.AllReceiveDynamicCSM' cvar Change 3778703 by Allan.Bentham Mobile CSM distance fading. Change 3780805 by Allan.Bentham Attempt to silence CIS static analysis. Change 3781098 by Allan.Bentham Pass per project maximum shadow cascade value to mobile shader compile environment. CSM shaders no longer loop over non-existant cascades. Change 3781155 by Chris.Babcock Fix support for GL_OES_standard_derivatives on Android (contributed by jlc-innerspace) #jira UE-52872 #PR #4267 #ue4 #android Change 3785116 by Peter.Sauerbrei fix for new iOS 11 api being called on iOS 9, 10 #jia UE-52912 Change 3785240 by Chris.Babcock Updated Android SDK license agreement #jira UE-52788 #ue4 #android Change 3786652 by Cosmin.Sulea UE-50381 - Using FMallocProfiler extremely slow resolving symbols on iOS - .udebugsymbols approach #jira UE-50381 Change 3787587 by Chris.Babcock Fix oversized UMG Designed button #jira UE-53014 #ue4 Change 3772888 by Cosmin.Sulea UE-52138 - Add support to UMG safe zone to be off-center for iPhone X #jira UE-52138 [CL 3793429 by Chris Babcock in Main branch]
2017-12-06 19:54:50 -05:00
if (!FOpenGL::IsAndroidGLESCompatibilityModeEnabled())
{
FScopeContext ScopeContext(Context);
glBindFramebuffer(GL_FRAMEBUFFER, Context->ViewportFramebuffer);
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, BackBufferTarget, BackBufferResource, 0);
#if UE_BUILD_DEBUG
glReadBuffer(GL_COLOR_ATTACHMENT0);
FOpenGL::DrawBuffer(GL_COLOR_ATTACHMENT0);
#endif
FOpenGL::CheckFrameBuffer();
glViewport(0, 0, SizeX, SizeY);
static GLfloat ZeroColor[4] = { 0.0f, 0.0f, 0.0f, 0.0f };
glClearBufferfv(GL_COLOR, 0, ZeroColor );
}
}
}
void PlatformGetSupportedResolution(uint32 &Width, uint32 &Height)
{
uint32 InitializedMode = false;
uint32 BestWidth = 0;
uint32 BestHeight = 0;
uint32 ModeIndex = 0;
DEVMODE DisplayMode;
FMemory::Memzero(&DisplayMode, sizeof(DEVMODE));
while(EnumDisplaySettings(NULL, ModeIndex++, &DisplayMode))
{
bool IsEqualOrBetterWidth = FMath::Abs((int32)DisplayMode.dmPelsWidth - (int32)Width) <= FMath::Abs((int32)BestWidth - (int32)Width);
bool IsEqualOrBetterHeight = FMath::Abs((int32)DisplayMode.dmPelsHeight - (int32)Height) <= FMath::Abs((int32)BestHeight - (int32)Height);
if(!InitializedMode || (IsEqualOrBetterWidth && IsEqualOrBetterHeight))
{
BestWidth = DisplayMode.dmPelsWidth;
BestHeight = DisplayMode.dmPelsHeight;
InitializedMode = true;
}
}
check(InitializedMode);
Width = BestWidth;
Height = BestHeight;
}
bool PlatformGetAvailableResolutions(FScreenResolutionArray& Resolutions, bool bIgnoreRefreshRate)
{
int32 MinAllowableResolutionX = 0;
int32 MinAllowableResolutionY = 0;
int32 MaxAllowableResolutionX = 10480;
int32 MaxAllowableResolutionY = 10480;
int32 MinAllowableRefreshRate = 0;
int32 MaxAllowableRefreshRate = 10480;
if (MaxAllowableResolutionX == 0) //-V547
{
MaxAllowableResolutionX = 10480;
}
if (MaxAllowableResolutionY == 0) //-V547
{
MaxAllowableResolutionY = 10480;
}
if (MaxAllowableRefreshRate == 0) //-V547
{
MaxAllowableRefreshRate = 10480;
}
uint32 ModeIndex = 0;
DEVMODE DisplayMode;
FMemory::Memzero(&DisplayMode, sizeof(DEVMODE));
while(EnumDisplaySettings(NULL, ModeIndex++, &DisplayMode))
{
if (((int32)DisplayMode.dmPelsWidth >= MinAllowableResolutionX) &&
((int32)DisplayMode.dmPelsWidth <= MaxAllowableResolutionX) &&
((int32)DisplayMode.dmPelsHeight >= MinAllowableResolutionY) &&
((int32)DisplayMode.dmPelsHeight <= MaxAllowableResolutionY)
)
{
bool bAddIt = true;
if (bIgnoreRefreshRate == false)
{
if (((int32)DisplayMode.dmDisplayFrequency < MinAllowableRefreshRate) ||
((int32)DisplayMode.dmDisplayFrequency > MaxAllowableRefreshRate)
)
{
continue;
}
}
else
{
// See if it is in the list already
for (int32 CheckIndex = 0; CheckIndex < Resolutions.Num(); CheckIndex++)
{
FScreenResolutionRHI& CheckResolution = Resolutions[CheckIndex];
if ((CheckResolution.Width == DisplayMode.dmPelsWidth) &&
(CheckResolution.Height == DisplayMode.dmPelsHeight))
{
// Already in the list...
bAddIt = false;
break;
}
}
}
if (bAddIt)
{
// Add the mode to the list
int32 Temp2Index = Resolutions.AddZeroed();
FScreenResolutionRHI& ScreenResolution = Resolutions[Temp2Index];
ScreenResolution.Width = DisplayMode.dmPelsWidth;
ScreenResolution.Height = DisplayMode.dmPelsHeight;
ScreenResolution.RefreshRate = DisplayMode.dmDisplayFrequency;
}
}
}
return true;
}
void PlatformRestoreDesktopDisplayMode()
{
ChangeDisplaySettings(NULL, 0);
}
bool PlatformInitOpenGL()
{
static bool bInitialized = false;
static bool bOpenGLSupported = false;
if (!bInitialized)
{
// Disable warning C4191: 'type cast' : unsafe conversion from 'PROC' to 'XXX' while getting GL entry points.
#pragma warning(push)
#pragma warning(disable:4191)
// Create a dummy context so that wglCreateContextAttribsARB can be initialized.
FPlatformOpenGLContext DummyContext;
PlatformCreateDummyGLWindow(&DummyContext);
DummyContext.OpenGLContext = wglCreateContext(DummyContext.DeviceContext);
check(DummyContext.OpenGLContext);
ContextMakeCurrent(DummyContext.DeviceContext, DummyContext.OpenGLContext);
wglCreateContextAttribsARB = (PFNWGLCREATECONTEXTATTRIBSARBPROC)wglGetProcAddress("wglCreateContextAttribsARB");
if (wglCreateContextAttribsARB)
{
int MajorVersion = 0;
int MinorVersion = 0;
ContextMakeCurrent(NULL,NULL);
wglDeleteContext(DummyContext.OpenGLContext);
GetOpenGLVersionForCoreProfile(MajorVersion, MinorVersion);
PlatformCreateOpenGLContextCore(&DummyContext, MajorVersion, MinorVersion, NULL);
if (DummyContext.OpenGLContext)
{
bOpenGLSupported = true;
ContextMakeCurrent(DummyContext.DeviceContext, DummyContext.OpenGLContext);
}
else
{
UE_LOG(LogRHI,Error,TEXT("OpenGL %d.%d not supported by driver"),MajorVersion,MinorVersion);
}
}
if (bOpenGLSupported)
{
// Retrieve the OpenGL DLL.
void* OpenGLDLL = FPlatformProcess::GetDllHandle(TEXT("opengl32.dll"));
if (!OpenGLDLL)
{
UE_LOG(LogRHI,Fatal,TEXT("Couldn't load opengl32.dll"));
}
// Initialize entry points required by Unreal from opengl32.dll
#define GET_GL_ENTRYPOINTS_DLL(Type,Func) Func = (Type)FPlatformProcess::GetDllExport(OpenGLDLL,TEXT(#Func));
ENUM_GL_ENTRYPOINTS_DLL(GET_GL_ENTRYPOINTS_DLL);
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3807299) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3528776 by Yannick.Lange Allow thumbnails to be captured from a viewport always. #jira UE-45392 Change 3564359 by Yannick.Lange Back out part of changelist 3528776: Revert allowing thumbnails to be captured from a viewport to fix UE-47827 & UE-47785. #jira UE-47785, UE-47827 Change 3740671 by Matt.Kuhlenschmidt Make the font editor canvas respect dpi scale Change 3740810 by Josh.Engebretson PR #4138: Log GenerateProjectFiles to file when using UVS (Contributed by projectgheist) #jira UE-51358 Change 3740939 by Cody.Albert Fixing some #ifdefs that should be #ifs Change 3741089 by Alexis.Matte Make sure bImportBoneTracks is set to true when importing into level #jira UE-51999 Change 3741101 by Alexis.Matte Fix the import material search #jira UE-51857 Change 3741690 by Jamie.Dale Guard against an invalid index in SLocalizationCommandletExecutor::Tick #jira UE-52067 Change 3741710 by Jamie.Dale Made a static variable also const Change 3741724 by Michael.Dupuis Added missing shader cache Change 3742037 by Lauren.Ridge Details panels can now "own" a color picker so a different details panel refreshing doesn't close it. Also fixed refreshing state of the graph after changing texture or color parameter values Change 3742250 by Matt.Kuhlenschmidt PR #4185: Output Log Filter tooltip shows %s instead of category. (Contributed by LordNed) Change 3742308 by Lauren.Ridge Adding axis input to the material editor's viewport client Change 3742380 by Matt.Kuhlenschmidt USD importer improvements - USD now stores source file information for reimports - Fixed bug where no geometry would be imported if an exporter had set a time code even without animated data - Prevent a crash if a mesh doesnt have enough valid data to be imported Change 3742536 by Matt.Kuhlenschmidt Remove usd wrapper test project Change 3743564 by Alexis.Matte Fix skeletal mesh screen size auto set value when importing a LOD #test none #jira UE-52100 Change 3743582 by Lauren.Ridge Fixing non-desktop compiles Change 3743598 by Lauren.Ridge Fixing shadowed variable by renaming the global color picker weak ptr variable. Change 3743636 by Lauren.Ridge Creating a new parameter immediately allows naming Change 3743855 by Michael.Dupuis Added missing shader from cache Change 3744277 by Lauren.Ridge Don't show empty Global group if it only contained the material layer param. Change 3744330 by Lauren.Ridge Clarifying "no parameter" text Change 3744529 by Lauren.Ridge Making Save to Child and Save To Sibling buttons work for material layer params, show on material layer param panel Change 3744668 by Chris.Bunner Added shared layer input collection asset, a list of float/texture redirectors that allow setting globally in a material graph then retrieving within layer/blend graphs. Added output for number of unique shaders generated by a particular material instance. Show instruction counts when working on a material layer. Relaxed restrictions on material layers, base MA input is now optional. #jira UETOOL-1271, UETOOL-1278, UETOOL-1279 Change 3744669 by Chris.Bunner Added automated test for material layers, layer/blend instances and shared inputs. Change 3744754 by Laz.Matech Adding localization data to QAGame for the Realtime Preview localization test. #jira none Change 3744860 by Michael.Dupuis #jira UE-52049 : Do not update random stream in most case, only when adding new instances, or filling from built data Change 3744965 by Chris.Bunner Rebuilt lighting in automated test map and updated reflection capture screenshot. Change 3746015 by Michael.Dupuis #jira UE-52090: Added missing shader for forward rendering Change 3746038 by Michael.Dupuis #jira UE-51494: Make sure index is valid for this instance as instances from template and instance could mismatch due to in level changes Change 3746076 by Michael.Dupuis Removed unused code Change 3746998 by Tim.Gautier QAGame: - Renamed UMG_RealtimePreview > UMG_InEditorPreview - Moved UMG_InEditorPreview into UMG > Localization, setting up for future Localization tests Change 3747206 by Arciel.Rekman Linux: make UI scale more coarse to prevent unnecessary scaling (UE-52086). - Monitors whose physical dimensions fall in range of 80-110 DPI should still have scale=1.0. (Edigrating CL 3740942 from Release-4.18 to Dev-Editor) Change 3747211 by Arciel.Rekman Make failure to launch SCW more apparent to the user (UE-47263). - Fixes frequent crash on Linux. (Merging 3747070 from Release-4.18 to Dev-Editor) Change 3747726 by Tim.Gautier QAGame: Resubmitting updated Loc files Change 3747872 by Tim.Gautier QAGame: Resubmitting compiled Loc assets Change 3748118 by Lauren.Ridge Adding help text to the material layers preview tab Change 3748398 by Lauren.Ridge Fixing tooltips for the material layer read-only preview Change 3748565 by Arciel.Rekman Linux: fix RHIs settings being wrong when removed via project properties (UE-51203). - This was a deeper issue with config system than just Linux RHIs. - This is a better fix than one submitted to 4.18 branch in CL 3747086. Change 3749441 by Matt.Kuhlenschmidt PR #4201: Fix a typo in a comment. (Contributed by dneelyep) Change 3749442 by Matt.Kuhlenschmidt PR #4195: Incorrect specifier used for FText::Format (Contributed by projectgheist) Change 3749496 by Matt.Kuhlenschmidt Fix static analysis Change 3749805 by Lauren.Ridge Fixing reset to default on MaterialLayerParam in base material Change 3749838 by Lauren.Ridge Also correctly resetting names and layer states Change 3750442 by Mieszko.Zielinski Added a safety check which addresses the crash #UE4 Note that this is a temp fix. A proper fix is making sure ConvexShapeIndices doesn't contain any duplicates and will be inplemented in Dev-Framework. #jira UE-52123 Change 3752266 by Arciel.Rekman OpenGL: remove PLATFORM_WINDOWS exceptions. - Discrepancy in behavior between Windows and Linux OpenGL is unhelpful for bug reproducibility. - VAB bug should have been fixed long ago (on both platforms). Change 3752929 by Arciel.Rekman Linux: avoid crashing on unknown drivers. - See https://answers.unrealengine.com/questions/724100/crashes-on-startup-after-first-run.html - Checks in IsDeviceIntel() and such fail if the drivers were not detected. Change 3753254 by Michael.Dupuis Added missing shader for shader cache Change 3753426 by Michael.Dupuis #jira UE-5751: Added the possibility to change material instance exposed params at runtime using a MID for texture, vector and scalar for 1 component or all components Change 3753440 by Alexis.Matte Fix fbx scene importer morph target import crash #jira UE-52255 Change 3753457 by Michael.Dupuis build fix Change 3753700 by Chris.Bunner Make GetSharedInput preview fallback always available in editor as this should handle previews, thumbnails and other editor-only cases. Refactor to remove duplicate code in material translator. Material layer expressions are required for client load, fixes cooked builds using layer instances in the base material layer stack. Change 3754760 by Chris.Bunner Tidying up EngineTest/ShaderModels map. Change 3754765 by Arciel.Rekman Avoid placing tooltip windows under the cursor (UE-12288). - Fixes inability to use some corners of the screen on Linux (the tooltips there aren't click-through). Change 3754788 by Matt.Kuhlenschmidt Fix details panel crash after compiling blueprints that have edit conditon properties Change 3754933 by Christina.TempelaarL Fixed typo in heightLerp (transistion->transition). #jira UE-46736 Change 3754946 by Cody.Albert Update loading movie code to properly calculate delta time when throttled at 60fps Change 3755059 by Jamie.Dale Fixed game preview language not updating in realtime while PIE was enabled #jira UE-52209 Change 3755130 by Jamie.Dale Fixed game preview language not updating from native when switching between preview languages #jira UE-52348 Change 3755664 by Michael.Dupuis Fixed compile warning Change 3755714 by Yannick.Lange Always allow capturing thumbnails from viewport. This also hides the thumbnail editing UI when a thumbnail was captured from a viewport. Change 3755944 by Alexis.Matte Fix crash when importing morph target with "built in" tangent option #jira UE-52319 Change 3756109 by Christina.TempelaarL fixed FBX importer Import Textures tooltip, UMaterial -> Material in tooltip text #jira UE-48389 Change 3756169 by Jamie.Dale Added plural form pattern to SContentBrowser::GetPathText Change 3756493 by Laz.Matech Updating Localization content to further test InEditor Preview Language in UMG #jira none Change 3758336 by Alexis.Matte Fix a crash when importing morph target there was a unsync between some buffer depending on the import options #jira UE-52319 Change 3758947 by Jamie.Dale Fixed cursor position regression in search boxes This was caused by a call to SetText that was added in CL# 3627864 This caused the text to update as it was changed, which made the cursor jump to the end of the text and made it impossible to type in the middle of a search term. This was done as a bound FText value had been passed to the InitalText of SSearchBox, which made the text resolution behave strangely. InitalText should always be a value, and SSearchBox now resolves any bindings during its constructor. #jira UE-48874 Change 3759000 by Laz.Matech Submitting the .PO file for CL 3756493 #jira none Change 3759480 by Matt.Kuhlenschmidt Safe guard against brush details crash #jira UE-52278 Change 3759665 by Matt.Kuhlenschmidt PR #4214: UE-52249: Use valid PreviewShadowsIndicatorMaterialName (Contributed by projectgheist) Change 3761211 by Matt.Kuhlenschmidt Remove the restriction that a level must be writable to be locked/unlocked. Fixed duplicate icons being used by the level browser Change 3761304 by Chris.Bunner MaterialAttributeLayers graph node BaseMA input is no longer required. Note: Requires "Use Preview Value" set to true on inputs. Change 3761307 by Chris.Bunner New material layers and blends will have "Use Preview Value" set to true by default to avoid the need for connected inputs - Missed file on previous commit. Change 3761357 by Chris.Bunner Renamed material shared input enum. Change 3761419 by Chris.Bunner Updating material layers automated test assets after recent changes. Reverted some naming changes so existing screenshot tests can be reused. Change 3762058 by tim.gautier QAGame: Adding Material Layer assets for testing (Content/Materials/LayerFunction) Change 3763328 by Matt.Kuhlenschmidt Fix Slate warning at editor startup Change 3763354 by Alexis.Matte Fix skeletal mesh material assign when reducing a LOD that was import from a file using simplygon reduction #jira UE-52505 Change 3763501 by Matt.Kuhlenschmidt Prevent shared asset thumbnail pools from having their resources forcefully released when they are in use. ReleaseResources is now private and only called on destruction of the pool Change 3763574 by Matt.Kuhlenschmidt Fix slate material box brushes not being keyed off image size #jira UE-40219 Change 3763678 by Jamie.Dale Disable realtime level editor viewport if running under remote desktop This makes the main editor window much more responsive by default under remote desktop Change 3763679 by Jamie.Dale Added asset caching metrics for the loc gather Change 3763693 by Matt.Kuhlenschmidt Changed the code that activates the actor details tab when selection changes to a flash. There are simply too many things that change the selection and steal focus away from a tab being used #jira UE-51754 Change 3763826 by Michael.Dupuis Fixed Fortnite cooking crash Change 3763864 by Harrison.Moore Adding New Default 'LayerBlend' assets Change 3764028 by Christina.TempelaarL #jira UE-47695 Auto LOD bug Moved the sections dropdown to the LOD Picker category and modified Custom cb behavior, based on suggestions from charlie. Change 3764031 by Christina.TempelaarL #jira UE-47695 Auto LOD in StaticMeshViewer moved LOD combo widget to LOD picker category and hide custom checkboxes until custom checked. Change 3764076 by tim.gautier QAGame: Submitting UMG_Multitouch_test for initial Multitouch testing Change 3764263 by Matt.Kuhlenschmidt Fix the floor mesh thumbnail Change 3764284 by Chris.Bunner Removing some asserts for cases that can validly fail and are already handled. Change 3764372 by Matt.Kuhlenschmidt PR #4196: Show edit icons in editor (Contributed by projectgheist) Change 3764388 by Chris.Bunner Fixing logic for material, function and instance updating active materials and instances and their editors. Change 3764674 by Harrison.Moore test materials added, Blend updates Change 3764681 by Harrison.Moore Adding HMtest map Change 3766238 by Chris.Bunner Material layer callers need to let their internal material function calls update their inputs/outputs. Change 3766556 by Jamie.Dale Fixed crashes that could happen if some of the data table panels were closed We now always create the underlying widgets, even if they're currently hidden from view #jira UE-52552 Change 3767753 by Chris.Bunner When rebuilding a material function instance editor we must re-create and re-apply the proxies as the expressions have likely changed. Take care to maintain local parameter changes as these have not been saved yet. Change 3768719 by Michael.Dupuis #jira UE-52521: Prevent possible crash if a segment have no point or invalid point Change 3769157 by Jamie.Dale Fixed incorrect text selection if selecting via double click beyond the bounds of the line It would previously select the second to last word, rather than the last word #jira UE-51609 Change 3769159 by Harrison.Moore Belica Test update, New layer blends updated with texture type fix. Change 3769205 by Jamie.Dale Fixed Windows file save dialog not appending the correct extension when there were multiple options available #jira UE-52180 Change 3769220 by Harrison.Moore Layer blend tweaks Change 3769292 by Jamie.Dale Removing redundant code Applying the correct package ID, only to then strip it off again is rather pointless Change 3769479 by Arciel.Rekman UBT: Use response files for compiler when compiling for Linux. - Some command lines are too long when cross-compiling on Windows. Change 3769920 by Arciel.Rekman Linux: convert yet another initialization crash to a user-friendly message (UE-52457). #jira UE-52457 Change 3771055 by Alexis.Matte Make sure we set the Used by morph target material flag to material use by the morphtarget instead of all skinned mesh component Use the morph vertex factory only for section that has active morph target #jira UE-51483 Change 3771135 by Michael.Dupuis Fixed fortnite cooking Change 3773054 by Yannick.Lange Avoid loading viewport interaction assets when starting the editor. Change 3774184 by Arciel.Rekman Linux: disabled some gdb visualizers until the issue is fixed. - CL 3773942 by CengizT. Change 3774303 by Matt.Kuhlenschmidt Pull requests to fix various typos Change 3774305 by Matt.Kuhlenschmidt PR #4237: Visual Studio Repeatedly Opens (UE-51608) (Contributed by LordNed) #jira UE-51608 Change 3774701 by Arciel.Rekman OpenGL: fix ARB callback errors when hitting Build Lighting. - Merged from 4.18 shelf. Change 3775812 by Matt.Kuhlenschmidt Fix One-off crash undo-ing while working with Material Params / Material Functions #jira UE-52680 Change 3775849 by Matt.Kuhlenschmidt More info for UE-52610 Change 3775850 by Matt.Kuhlenschmidt Guard against mesh paint crashes #jira UE-52618 Change 3775904 by Matt.Kuhlenschmidt Added logging to track down window shutdown issues Change 3775913 by Matt.Kuhlenschmidt Pull requests for typos #jira UE-52751, UE-52748 Change 3776676 by Jamie.Dale Fixed being able to insert tabs into spin boxes with units #jira UE-52776 Change 3777006 by Michael.Trepka Process Mac windowDidBecomeMain and windowDidResignMain notifications immediately instead of deferring them. This solves issues with Slate code that closes and immediately opens new menu windows. Previously closing a window would schedule menu parent's activation event that could be processed after another menu's creation, making it immediately disappear. #jira UE-52145 Change 3777170 by Arciel.Rekman Linux: use Xft.dpi (most desktop environments expose their scale through that) as a DPI value (UE-52086, UE-52766). - Change by Brandon.Schaefer. - Limitation: no per-monitor DPI. (Edigrating CL 3776509 //UE4/Release-4.18/... to //UE4/Dev-Editor/...) Change 3777292 by Arciel.Rekman Linux: fix symbol collision causing problems with AMD drivers (UE-51843). - We cannot have elf_end() hidden, because libcuda.so calls elf_end from libnvidia-fatbinaryloader.so and this breaks linking monolithic binaries ("hidden symbol referenced in DSO"). - We cannot have elf_end() visible, because of a name collision with a different libelf used by AMD drivers. - The only possible workaround is to have elf_end() renamed. (Edigrating CL 3777242 from //UE4/Release-4.18/... to //UE4/Dev-Editor/...) Change 3777686 by Joe.Conley Blueprint editor variable type tooltips: fix case mismatch that was preventing type name to be displayed properly in soft object/class reference tooltips. Change 3778180 by Jamie.Dale Avoid a crash if a regex pattern or matcher outlive ICU during shutdown #jira UE-52770 Change 3778182 by Jamie.Dale Avoid a crash if a break iterator outlives ICU during shutdown Change 3778368 by Jamie.Dale Added missing pragma once Change 3778560 by Matt.Kuhlenschmidt Prevent non-shared DDC notification from triggering for epic internal builds Change 3778709 by Lauren.Ridge Copying 4.18.2 array reordering propagating to children fix (originally 3778547) Change 3779205 by Lauren.Ridge Duplicating 3776649 to fix a crash on compile due to partial GC of a widget. #jira UE-52260 Change 3779217 by Brandon.Schaefer GitHub #3678 Fix Setup.sh handling of special characters in PNG path #jira UE-46103 Change 3779341 by Brandon.Schaefer GitHub #3012 Use elemtry OS versions to set the ubuntu versions for depencies #jira UE-39364 Change 3780274 by Joe.Conley DataTables: Add documentation tooltips showing type information to header columns Change 3780840 by Alexis.Matte Do a re-import when user re-import LOD 0 Prevent importing more then MAX_SKELETAL_MESH_LODS #jira UE-52373 Change 3781067 by Arciel.Rekman Linux: fix OSSSteam cross-compilation (and CIS). - Broken by previous change that put compile-time arguments into response file and bulk-replaced \ with /, which affected things like Definitions.Add("STEAM_SDK_VER_PATH=TEXT(\"Steam" + SteamVersion + "\")"); Change 3781110 by Christina.TempelaarL #jira UE-47695 moved Static Mesh Editor LOD menu from tools to viewport tool bar Change 3781531 by Christina.TempelaarL #jira UE-47695 added LOD menu to Static Mesh Editor viewport Change 3781663 by Alexis.Matte Fix for cancel export fbx when previewing animation sequence export #jira UE-49743 Change 3782007 by Jamie.Dale Improved the ability to lockdown available game languages In addition to the previous "DisabledCultures" array, you can now add an array of "EnabledCultures" (using the same per-build config filters) to explicitly list the cultures that are allowed to be used in your build (if the list is empty, then everything is allowed unless otherwise disabled). This also stops the game from attempting to fallback to the native language if the native language has been disabled (we will fallback to the first available language instead). Change 3782122 by Jordan.Walker test assets for material layers Change 3782131 by Joe.Graf Added support for IOS and TVOS targets when generating CMake files on Mac Change 3782218 by Christina.TempelaarL fixing include paths and capitalization causing build errors. Change 3783171 by Michael.Dupuis Added the possibility to override default LOD rules for visible primitive and whole scene shadow casting primitive Added the possibility to store Custom data per view for the frame duration Change 3783172 by Michael.Dupuis #jira UE-35097 : Refactored landscape rendering logic to improve general performance while using new custom data and custom lod feature Exposed many new settings to control component using sub sections rendering, tessellated component, shadow should be include into tessellation, tessellation falloff based on camera location Changed how LOD distribution is done to be in screen size instead of distance. Give the possibility to have a different distribution for LOD0 vs the other one. Change 3783174 by Michael.Dupuis missing file to landscape refactor Change 3783315 by Lauren.Ridge Changing a parameter in the Material Parameter Panel now dirties the material correctly. Changing a layer parameter in the Material Instance Editor now refreshes the details panel as well. Change 3783374 by Chris.Bunner Adding MaterialSharedInputCollection to hidden list when MaterialLayers disabled. Change 3783617 by Chris.Bunner Added a Channel Mask material expression parameter. Wraps up a vector parameter and dot product with a single channel selection interface, internally a regular vector parameter. Fixed GetSharedInput failing to return the preview texture in the Function Instance editor. Change 3783676 by Lauren.Ridge Adding access to a material function instance's parent in the Material Instance Editor Change 3783751 by Michael.Trepka PR #4248: Fixed C++ std in generated Xcode project to match rest of engine (C++14) (Contributed by Bo98) Change 3783971 by Brandon.Schaefer Rename/Move all deploy/Deploy folder/files into AlembicDeploy. Due to case sensitivity on linux, need to maintain the correct case. #jira UE-37631 Change 3783992 by Michael.Dupuis #jira UE-35097: Remove tessellation on editor tools Fixed a case where tessellation multiplier at 0 would cause the component to not be visible Fixed minor tessellation falloff calculation error Change 3784502 by Chris.Bunner Restored missing bool setter. Coding standards fix. Change 3784614 by Arciel.Rekman Linux: better error message when running out of inotify watches (UE-50459). #jira UE-50459 Change 3784620 by Chris.Bunner Updated LayerBlend_TextureMask to use new ChannelMask parameter. Change 3784725 by Lauren.Ridge Fixing groups not sorting correctly Change 3785645 by Chris.Bunner Non-editor compile fix. Change 3785666 by Arciel.Rekman Linux: restore ability to use Wayland instead of X11. - SDL libs recompiled and Wayland version is set to lower one to be compatible with the compositor shipped on Ubuntu 16.04 LTS - Change by Anthony.Bills. Change 3785708 by Arciel.Rekman Linux: implement voice capture using SDL (non-server only) (UE-51298). - Based on pull request #4131 by mkirzinger. Change 3785878 by Arciel.Rekman UBT: add VSCode to default generators on Linux. Change 3786058 by Arciel.Rekman Do not add dependencies on other RHIs for servers (UE-48894). - Pull request #3944 contributed by pfoote. #jira UE-48894 Change 3786845 by Arciel.Rekman Code changes to make gcc support easier (UE-51978). - Contributed by a licensee (pull request #4181 by tomwardio "Collection of fixes to allow UE4 to be compiled by GCC on Linux"). Change 3786871 by Matt.Kuhlenschmidt Fix static analysis Change 3786883 by Matt.Kuhlenschmidt Fix HTML5 Change 3786923 by Matt.Kuhlenschmidt Fix engine layer blend asset referencing game content. This is not allowed #jira UE-52888 Change 3786927 by Brandon.Schaefer Linux: Alembic support #jira: UE-37631 Change 3786994 by Arciel.Rekman Remove support for /-prefixed switches (UE-47429). - They collide with absolute file paths on Mac/Linux and a source of inconsistencies between platforms. #jira UE-47429 Change 3787032 by Michael.Trepka Initial support for building and running Niagara on Mac Change 3787035 by Brandon.Schaefer GitHub #4166 Undef GL entrypoint macros after use #jira UE-51663 Change 3787144 by Lauren.Ridge Fixing material parameter group association resetting after undo #jira UE-52514 Change 3787839 by Jordan.Walker updated engine level layer blends to not include game content switched them to use Chris B's new mask selection node Change 3787967 by Lauren.Ridge Fix for broken layer groups, related crash Change 3787991 by Lauren.Ridge Fixing thumbnails for material function instances, resolving not being able to delete new function instances #jira UE-52967 Change 3788226 by Michael.Trepka Fixed a deadlock when closing Mac CrashReportClient which resulted from changes in CL 3777006 #jira UE-53002 Change 3788557 by Brandon.Schaefer Fix shadow compiler warnings around our includes Change 3789700 by Lauren.Ridge Experimental setting for turning on Material Layers - off by default. Change 3789703 by Jamie.Dale Harden the LocMeta and LocRes loading to prevent loading files that are too new Change 3789706 by Jamie.Dale Added localization ID to the package summary This will allow the localization gatherer to query it without having to load the entire package Change 3789708 by Jamie.Dale Added a way to display and reset the package localization ID via the Content Browser Change 3789709 by Jamie.Dale Added warning for duplicate package localization IDs when gathering asset localization Change 3789713 by Jamie.Dale Special case zero-width space in the text shaper to avoid fonts rendering the fallback glyph Change 3789736 by Christina.TempelaarL Fixed recently-introduced StaticMeshEditor bug - changing LOD dropdown menu selection was not changing LOD sections category. Change 3789853 by Chris.Bunner Material instances should return overridden values when the caller is requesting the default, not leaving the request to fall through to the base material. #jira UE-52796 Change 3790185 by Brandon.Schaefer Add better error handling when using new SDK for linux on windows. #jira UE-50527 Change 3790195 by Jamie.Dale Fixed line-ending inconsistency when retrieving rich-text We were using LINE_TERMINATOR when getting the offsets, but \n when getting the text Change 3790473 by Chris.Bunner When finding expression by GUID, only return FunctionCall result if expression was found. Fixes cases where searched-for expression is after a FunctionCall in the expressions list. #jira UE-52729 Change 3790650 by Arciel.Rekman UBT: Linux: print build details first before refusing to build. - Tweak to the previous feature that we forgot. Change 3790681 by Arciel.Rekman UBT: Linux: tweaks to wording (SDK -> toolchain). Change 3791459 by Brandon.Schaefer Linux: libcurl rebuild for version 7.57 #jira OGS-870 Change 3791533 by Arciel.Rekman Better error messaging when UMB is unusable (UE-50658). - Should be replaced by a better fix, but merging this workaround in case the better fix will not be done in time for 4.19. (Edigrating CL 3789387, 3789787 from Release-4.18 to Dev-Editor) Change 3791885 by Matt.Kuhlenschmidt Fix static analysis #jira UE-53097 Change 3791910 by Brandon.Schaefer Fix for not using proper libraries on x86_64 for libcurl #jira OGS-870 Change 3792017 by Jamie.Dale Fixed a conflict between the path settings and favorite settings Change 3792022 by Jamie.Dale Fixed a crash that could happen when performing ARO on the property chains of a struct #jira UE-52999 Change 3792025 by Jamie.Dale Changed package summary localization ID to be versioned by the object version to avoid changing data in unversioned cooked assets Change 3792066 by Michael.Dupuis #jira UE-5751: Fixed possible crash when using dynamic matrial instance Added missing shaders for landscape when using tessellation Change 3792718 by Arciel.Rekman OpenGL: bringing back Windows workarounds to unblock copy-up (UE-52534). #jira UE-52534 Change 3793018 by Mike.Erwin new glTF importer plugin Import StaticMesh, Material, and Texture assets from the Khronos glTF 2.0 format. Text (.gltf) and binary (.glb) files are supported. Limitations: - There is no options UI. All assets from the file are imported. - The glTF format can describe animation and whole scenes, but the initial version of this plugin does not attempt either. - Data encoded as Base64 data URI is not supported. This is uncommon but is part of the glTF spec. #jira: UE-50695 Change 3793626 by Matt.Kuhlenschmidt Logging for HTML5 issue Change 3794034 by Matt.Kuhlenschmidt Fix CIS Change 3794271 by Michael.Dupuis #jira UE-53133: Fxed shadow calculation when using non whole scene shadow Change 3794273 by Chris.Bunner Function call material nodes should be created with no outputs by default. #jira UE-53127, UE-53128, UE-52616 Change 3794334 by Lina.Halper - Fix animation reinitializing when just setting new animation with single node - Deprecated GetScalarParameterDefault and replace that with GetScalarParameterDefaultValue #jira: UE-52796 Change 3794338 by Michael.Dupuis Fixed lod visual popping when texture mip used for landscape is not ready Change 3794350 by Mike.Erwin Fix glTF importer header includes. Build was failing on Linux. Change 3794357 by Michael.Dupuis #jira UE-53166: buildfix: removed phase 2 landscape optim leftover... Change 3794549 by Michael.Dupuis #jira UE-53166 : fixed compile error Change 3794755 by Matt.Kuhlenschmidt Fix automation warning Change 3794910 by Lina.Halper Change material default value to be red to keep the behavior same. - Previous code was getting default value of parent, which was wrong, but now since we're grabbing correct value, it's not doing what it meant to do. Changed content to keep same value as parent as default. Change 3795296 by Mike.Erwin glTF: fix Linux build errors A variable was being shadowed. The other errors are due to an obscure corner of the C++ spec which clang enforces. https://stackoverflow.com/questions/21900237/do-i-really-need-to-implement-user-provided-constructor-for-const-objects #jira UE-53204 Change 3797313 by Chris.Bunner Re-built lighting in Rendering/ShaderModels automated test map and updated failing screenshots. #jira UE-53198 Change 3803962 by Jamie.Dale Fixed struct instances not comparing against the correct default values when gathering for localization Change 3804771 by Michael.Dupuis Back out changelist 3783171 Change 3804772 by Michael.Dupuis Back out changelist 3783172 Change 3805258 by Michael.Dupuis Added missing shader cache for landscape Change 3806105 by Matt.Kuhlenschmidt Disable harware benchmarking during automation tests, commandlets, and on the build machine Change 3806438 by Michael.Dupuis #jira UE-53228: Fixed rendering path of new landscape optim when using GDoInitViewsLightingAfterPrepass(used in Orion) Change 3806577 by Matt.Kuhlenschmidt Change plugin uploading to crash reporter to only do so in editor builds Change 3806588 by Michael.Dupuis Remove temp test version in landscape version Change 3806900 by Jamie.Dale Fixed 'inconsistent DLL linkage' error when using older versions of Python 2.7 #jira UE-53353 Change 3807125 by Jamie.Dale Fixed UBT warning after Dev-Core merge Change 3807299 by tim.gautier QAGame: Checking in test asset M_LandscapeMaterial_Foliage, quicker repro for UE-53442 [CL 3807911 by Matt Kuhlenschmidt in Main branch]
2017-12-14 10:07:13 -05:00
#undef GET_GL_ENTRYPOINTS_DLL
// Release the OpenGL DLL.
FPlatformProcess::FreeDllHandle(OpenGLDLL);
// Initialize all entry points required by Unreal.
#define GET_GL_ENTRYPOINTS(Type,Func) Func = (Type)wglGetProcAddress(#Func);
ENUM_GL_ENTRYPOINTS(GET_GL_ENTRYPOINTS);
ENUM_GL_ENTRYPOINTS_OPTIONAL(GET_GL_ENTRYPOINTS);
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3807299) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3528776 by Yannick.Lange Allow thumbnails to be captured from a viewport always. #jira UE-45392 Change 3564359 by Yannick.Lange Back out part of changelist 3528776: Revert allowing thumbnails to be captured from a viewport to fix UE-47827 & UE-47785. #jira UE-47785, UE-47827 Change 3740671 by Matt.Kuhlenschmidt Make the font editor canvas respect dpi scale Change 3740810 by Josh.Engebretson PR #4138: Log GenerateProjectFiles to file when using UVS (Contributed by projectgheist) #jira UE-51358 Change 3740939 by Cody.Albert Fixing some #ifdefs that should be #ifs Change 3741089 by Alexis.Matte Make sure bImportBoneTracks is set to true when importing into level #jira UE-51999 Change 3741101 by Alexis.Matte Fix the import material search #jira UE-51857 Change 3741690 by Jamie.Dale Guard against an invalid index in SLocalizationCommandletExecutor::Tick #jira UE-52067 Change 3741710 by Jamie.Dale Made a static variable also const Change 3741724 by Michael.Dupuis Added missing shader cache Change 3742037 by Lauren.Ridge Details panels can now "own" a color picker so a different details panel refreshing doesn't close it. Also fixed refreshing state of the graph after changing texture or color parameter values Change 3742250 by Matt.Kuhlenschmidt PR #4185: Output Log Filter tooltip shows %s instead of category. (Contributed by LordNed) Change 3742308 by Lauren.Ridge Adding axis input to the material editor's viewport client Change 3742380 by Matt.Kuhlenschmidt USD importer improvements - USD now stores source file information for reimports - Fixed bug where no geometry would be imported if an exporter had set a time code even without animated data - Prevent a crash if a mesh doesnt have enough valid data to be imported Change 3742536 by Matt.Kuhlenschmidt Remove usd wrapper test project Change 3743564 by Alexis.Matte Fix skeletal mesh screen size auto set value when importing a LOD #test none #jira UE-52100 Change 3743582 by Lauren.Ridge Fixing non-desktop compiles Change 3743598 by Lauren.Ridge Fixing shadowed variable by renaming the global color picker weak ptr variable. Change 3743636 by Lauren.Ridge Creating a new parameter immediately allows naming Change 3743855 by Michael.Dupuis Added missing shader from cache Change 3744277 by Lauren.Ridge Don't show empty Global group if it only contained the material layer param. Change 3744330 by Lauren.Ridge Clarifying "no parameter" text Change 3744529 by Lauren.Ridge Making Save to Child and Save To Sibling buttons work for material layer params, show on material layer param panel Change 3744668 by Chris.Bunner Added shared layer input collection asset, a list of float/texture redirectors that allow setting globally in a material graph then retrieving within layer/blend graphs. Added output for number of unique shaders generated by a particular material instance. Show instruction counts when working on a material layer. Relaxed restrictions on material layers, base MA input is now optional. #jira UETOOL-1271, UETOOL-1278, UETOOL-1279 Change 3744669 by Chris.Bunner Added automated test for material layers, layer/blend instances and shared inputs. Change 3744754 by Laz.Matech Adding localization data to QAGame for the Realtime Preview localization test. #jira none Change 3744860 by Michael.Dupuis #jira UE-52049 : Do not update random stream in most case, only when adding new instances, or filling from built data Change 3744965 by Chris.Bunner Rebuilt lighting in automated test map and updated reflection capture screenshot. Change 3746015 by Michael.Dupuis #jira UE-52090: Added missing shader for forward rendering Change 3746038 by Michael.Dupuis #jira UE-51494: Make sure index is valid for this instance as instances from template and instance could mismatch due to in level changes Change 3746076 by Michael.Dupuis Removed unused code Change 3746998 by Tim.Gautier QAGame: - Renamed UMG_RealtimePreview > UMG_InEditorPreview - Moved UMG_InEditorPreview into UMG > Localization, setting up for future Localization tests Change 3747206 by Arciel.Rekman Linux: make UI scale more coarse to prevent unnecessary scaling (UE-52086). - Monitors whose physical dimensions fall in range of 80-110 DPI should still have scale=1.0. (Edigrating CL 3740942 from Release-4.18 to Dev-Editor) Change 3747211 by Arciel.Rekman Make failure to launch SCW more apparent to the user (UE-47263). - Fixes frequent crash on Linux. (Merging 3747070 from Release-4.18 to Dev-Editor) Change 3747726 by Tim.Gautier QAGame: Resubmitting updated Loc files Change 3747872 by Tim.Gautier QAGame: Resubmitting compiled Loc assets Change 3748118 by Lauren.Ridge Adding help text to the material layers preview tab Change 3748398 by Lauren.Ridge Fixing tooltips for the material layer read-only preview Change 3748565 by Arciel.Rekman Linux: fix RHIs settings being wrong when removed via project properties (UE-51203). - This was a deeper issue with config system than just Linux RHIs. - This is a better fix than one submitted to 4.18 branch in CL 3747086. Change 3749441 by Matt.Kuhlenschmidt PR #4201: Fix a typo in a comment. (Contributed by dneelyep) Change 3749442 by Matt.Kuhlenschmidt PR #4195: Incorrect specifier used for FText::Format (Contributed by projectgheist) Change 3749496 by Matt.Kuhlenschmidt Fix static analysis Change 3749805 by Lauren.Ridge Fixing reset to default on MaterialLayerParam in base material Change 3749838 by Lauren.Ridge Also correctly resetting names and layer states Change 3750442 by Mieszko.Zielinski Added a safety check which addresses the crash #UE4 Note that this is a temp fix. A proper fix is making sure ConvexShapeIndices doesn't contain any duplicates and will be inplemented in Dev-Framework. #jira UE-52123 Change 3752266 by Arciel.Rekman OpenGL: remove PLATFORM_WINDOWS exceptions. - Discrepancy in behavior between Windows and Linux OpenGL is unhelpful for bug reproducibility. - VAB bug should have been fixed long ago (on both platforms). Change 3752929 by Arciel.Rekman Linux: avoid crashing on unknown drivers. - See https://answers.unrealengine.com/questions/724100/crashes-on-startup-after-first-run.html - Checks in IsDeviceIntel() and such fail if the drivers were not detected. Change 3753254 by Michael.Dupuis Added missing shader for shader cache Change 3753426 by Michael.Dupuis #jira UE-5751: Added the possibility to change material instance exposed params at runtime using a MID for texture, vector and scalar for 1 component or all components Change 3753440 by Alexis.Matte Fix fbx scene importer morph target import crash #jira UE-52255 Change 3753457 by Michael.Dupuis build fix Change 3753700 by Chris.Bunner Make GetSharedInput preview fallback always available in editor as this should handle previews, thumbnails and other editor-only cases. Refactor to remove duplicate code in material translator. Material layer expressions are required for client load, fixes cooked builds using layer instances in the base material layer stack. Change 3754760 by Chris.Bunner Tidying up EngineTest/ShaderModels map. Change 3754765 by Arciel.Rekman Avoid placing tooltip windows under the cursor (UE-12288). - Fixes inability to use some corners of the screen on Linux (the tooltips there aren't click-through). Change 3754788 by Matt.Kuhlenschmidt Fix details panel crash after compiling blueprints that have edit conditon properties Change 3754933 by Christina.TempelaarL Fixed typo in heightLerp (transistion->transition). #jira UE-46736 Change 3754946 by Cody.Albert Update loading movie code to properly calculate delta time when throttled at 60fps Change 3755059 by Jamie.Dale Fixed game preview language not updating in realtime while PIE was enabled #jira UE-52209 Change 3755130 by Jamie.Dale Fixed game preview language not updating from native when switching between preview languages #jira UE-52348 Change 3755664 by Michael.Dupuis Fixed compile warning Change 3755714 by Yannick.Lange Always allow capturing thumbnails from viewport. This also hides the thumbnail editing UI when a thumbnail was captured from a viewport. Change 3755944 by Alexis.Matte Fix crash when importing morph target with "built in" tangent option #jira UE-52319 Change 3756109 by Christina.TempelaarL fixed FBX importer Import Textures tooltip, UMaterial -> Material in tooltip text #jira UE-48389 Change 3756169 by Jamie.Dale Added plural form pattern to SContentBrowser::GetPathText Change 3756493 by Laz.Matech Updating Localization content to further test InEditor Preview Language in UMG #jira none Change 3758336 by Alexis.Matte Fix a crash when importing morph target there was a unsync between some buffer depending on the import options #jira UE-52319 Change 3758947 by Jamie.Dale Fixed cursor position regression in search boxes This was caused by a call to SetText that was added in CL# 3627864 This caused the text to update as it was changed, which made the cursor jump to the end of the text and made it impossible to type in the middle of a search term. This was done as a bound FText value had been passed to the InitalText of SSearchBox, which made the text resolution behave strangely. InitalText should always be a value, and SSearchBox now resolves any bindings during its constructor. #jira UE-48874 Change 3759000 by Laz.Matech Submitting the .PO file for CL 3756493 #jira none Change 3759480 by Matt.Kuhlenschmidt Safe guard against brush details crash #jira UE-52278 Change 3759665 by Matt.Kuhlenschmidt PR #4214: UE-52249: Use valid PreviewShadowsIndicatorMaterialName (Contributed by projectgheist) Change 3761211 by Matt.Kuhlenschmidt Remove the restriction that a level must be writable to be locked/unlocked. Fixed duplicate icons being used by the level browser Change 3761304 by Chris.Bunner MaterialAttributeLayers graph node BaseMA input is no longer required. Note: Requires "Use Preview Value" set to true on inputs. Change 3761307 by Chris.Bunner New material layers and blends will have "Use Preview Value" set to true by default to avoid the need for connected inputs - Missed file on previous commit. Change 3761357 by Chris.Bunner Renamed material shared input enum. Change 3761419 by Chris.Bunner Updating material layers automated test assets after recent changes. Reverted some naming changes so existing screenshot tests can be reused. Change 3762058 by tim.gautier QAGame: Adding Material Layer assets for testing (Content/Materials/LayerFunction) Change 3763328 by Matt.Kuhlenschmidt Fix Slate warning at editor startup Change 3763354 by Alexis.Matte Fix skeletal mesh material assign when reducing a LOD that was import from a file using simplygon reduction #jira UE-52505 Change 3763501 by Matt.Kuhlenschmidt Prevent shared asset thumbnail pools from having their resources forcefully released when they are in use. ReleaseResources is now private and only called on destruction of the pool Change 3763574 by Matt.Kuhlenschmidt Fix slate material box brushes not being keyed off image size #jira UE-40219 Change 3763678 by Jamie.Dale Disable realtime level editor viewport if running under remote desktop This makes the main editor window much more responsive by default under remote desktop Change 3763679 by Jamie.Dale Added asset caching metrics for the loc gather Change 3763693 by Matt.Kuhlenschmidt Changed the code that activates the actor details tab when selection changes to a flash. There are simply too many things that change the selection and steal focus away from a tab being used #jira UE-51754 Change 3763826 by Michael.Dupuis Fixed Fortnite cooking crash Change 3763864 by Harrison.Moore Adding New Default 'LayerBlend' assets Change 3764028 by Christina.TempelaarL #jira UE-47695 Auto LOD bug Moved the sections dropdown to the LOD Picker category and modified Custom cb behavior, based on suggestions from charlie. Change 3764031 by Christina.TempelaarL #jira UE-47695 Auto LOD in StaticMeshViewer moved LOD combo widget to LOD picker category and hide custom checkboxes until custom checked. Change 3764076 by tim.gautier QAGame: Submitting UMG_Multitouch_test for initial Multitouch testing Change 3764263 by Matt.Kuhlenschmidt Fix the floor mesh thumbnail Change 3764284 by Chris.Bunner Removing some asserts for cases that can validly fail and are already handled. Change 3764372 by Matt.Kuhlenschmidt PR #4196: Show edit icons in editor (Contributed by projectgheist) Change 3764388 by Chris.Bunner Fixing logic for material, function and instance updating active materials and instances and their editors. Change 3764674 by Harrison.Moore test materials added, Blend updates Change 3764681 by Harrison.Moore Adding HMtest map Change 3766238 by Chris.Bunner Material layer callers need to let their internal material function calls update their inputs/outputs. Change 3766556 by Jamie.Dale Fixed crashes that could happen if some of the data table panels were closed We now always create the underlying widgets, even if they're currently hidden from view #jira UE-52552 Change 3767753 by Chris.Bunner When rebuilding a material function instance editor we must re-create and re-apply the proxies as the expressions have likely changed. Take care to maintain local parameter changes as these have not been saved yet. Change 3768719 by Michael.Dupuis #jira UE-52521: Prevent possible crash if a segment have no point or invalid point Change 3769157 by Jamie.Dale Fixed incorrect text selection if selecting via double click beyond the bounds of the line It would previously select the second to last word, rather than the last word #jira UE-51609 Change 3769159 by Harrison.Moore Belica Test update, New layer blends updated with texture type fix. Change 3769205 by Jamie.Dale Fixed Windows file save dialog not appending the correct extension when there were multiple options available #jira UE-52180 Change 3769220 by Harrison.Moore Layer blend tweaks Change 3769292 by Jamie.Dale Removing redundant code Applying the correct package ID, only to then strip it off again is rather pointless Change 3769479 by Arciel.Rekman UBT: Use response files for compiler when compiling for Linux. - Some command lines are too long when cross-compiling on Windows. Change 3769920 by Arciel.Rekman Linux: convert yet another initialization crash to a user-friendly message (UE-52457). #jira UE-52457 Change 3771055 by Alexis.Matte Make sure we set the Used by morph target material flag to material use by the morphtarget instead of all skinned mesh component Use the morph vertex factory only for section that has active morph target #jira UE-51483 Change 3771135 by Michael.Dupuis Fixed fortnite cooking Change 3773054 by Yannick.Lange Avoid loading viewport interaction assets when starting the editor. Change 3774184 by Arciel.Rekman Linux: disabled some gdb visualizers until the issue is fixed. - CL 3773942 by CengizT. Change 3774303 by Matt.Kuhlenschmidt Pull requests to fix various typos Change 3774305 by Matt.Kuhlenschmidt PR #4237: Visual Studio Repeatedly Opens (UE-51608) (Contributed by LordNed) #jira UE-51608 Change 3774701 by Arciel.Rekman OpenGL: fix ARB callback errors when hitting Build Lighting. - Merged from 4.18 shelf. Change 3775812 by Matt.Kuhlenschmidt Fix One-off crash undo-ing while working with Material Params / Material Functions #jira UE-52680 Change 3775849 by Matt.Kuhlenschmidt More info for UE-52610 Change 3775850 by Matt.Kuhlenschmidt Guard against mesh paint crashes #jira UE-52618 Change 3775904 by Matt.Kuhlenschmidt Added logging to track down window shutdown issues Change 3775913 by Matt.Kuhlenschmidt Pull requests for typos #jira UE-52751, UE-52748 Change 3776676 by Jamie.Dale Fixed being able to insert tabs into spin boxes with units #jira UE-52776 Change 3777006 by Michael.Trepka Process Mac windowDidBecomeMain and windowDidResignMain notifications immediately instead of deferring them. This solves issues with Slate code that closes and immediately opens new menu windows. Previously closing a window would schedule menu parent's activation event that could be processed after another menu's creation, making it immediately disappear. #jira UE-52145 Change 3777170 by Arciel.Rekman Linux: use Xft.dpi (most desktop environments expose their scale through that) as a DPI value (UE-52086, UE-52766). - Change by Brandon.Schaefer. - Limitation: no per-monitor DPI. (Edigrating CL 3776509 //UE4/Release-4.18/... to //UE4/Dev-Editor/...) Change 3777292 by Arciel.Rekman Linux: fix symbol collision causing problems with AMD drivers (UE-51843). - We cannot have elf_end() hidden, because libcuda.so calls elf_end from libnvidia-fatbinaryloader.so and this breaks linking monolithic binaries ("hidden symbol referenced in DSO"). - We cannot have elf_end() visible, because of a name collision with a different libelf used by AMD drivers. - The only possible workaround is to have elf_end() renamed. (Edigrating CL 3777242 from //UE4/Release-4.18/... to //UE4/Dev-Editor/...) Change 3777686 by Joe.Conley Blueprint editor variable type tooltips: fix case mismatch that was preventing type name to be displayed properly in soft object/class reference tooltips. Change 3778180 by Jamie.Dale Avoid a crash if a regex pattern or matcher outlive ICU during shutdown #jira UE-52770 Change 3778182 by Jamie.Dale Avoid a crash if a break iterator outlives ICU during shutdown Change 3778368 by Jamie.Dale Added missing pragma once Change 3778560 by Matt.Kuhlenschmidt Prevent non-shared DDC notification from triggering for epic internal builds Change 3778709 by Lauren.Ridge Copying 4.18.2 array reordering propagating to children fix (originally 3778547) Change 3779205 by Lauren.Ridge Duplicating 3776649 to fix a crash on compile due to partial GC of a widget. #jira UE-52260 Change 3779217 by Brandon.Schaefer GitHub #3678 Fix Setup.sh handling of special characters in PNG path #jira UE-46103 Change 3779341 by Brandon.Schaefer GitHub #3012 Use elemtry OS versions to set the ubuntu versions for depencies #jira UE-39364 Change 3780274 by Joe.Conley DataTables: Add documentation tooltips showing type information to header columns Change 3780840 by Alexis.Matte Do a re-import when user re-import LOD 0 Prevent importing more then MAX_SKELETAL_MESH_LODS #jira UE-52373 Change 3781067 by Arciel.Rekman Linux: fix OSSSteam cross-compilation (and CIS). - Broken by previous change that put compile-time arguments into response file and bulk-replaced \ with /, which affected things like Definitions.Add("STEAM_SDK_VER_PATH=TEXT(\"Steam" + SteamVersion + "\")"); Change 3781110 by Christina.TempelaarL #jira UE-47695 moved Static Mesh Editor LOD menu from tools to viewport tool bar Change 3781531 by Christina.TempelaarL #jira UE-47695 added LOD menu to Static Mesh Editor viewport Change 3781663 by Alexis.Matte Fix for cancel export fbx when previewing animation sequence export #jira UE-49743 Change 3782007 by Jamie.Dale Improved the ability to lockdown available game languages In addition to the previous "DisabledCultures" array, you can now add an array of "EnabledCultures" (using the same per-build config filters) to explicitly list the cultures that are allowed to be used in your build (if the list is empty, then everything is allowed unless otherwise disabled). This also stops the game from attempting to fallback to the native language if the native language has been disabled (we will fallback to the first available language instead). Change 3782122 by Jordan.Walker test assets for material layers Change 3782131 by Joe.Graf Added support for IOS and TVOS targets when generating CMake files on Mac Change 3782218 by Christina.TempelaarL fixing include paths and capitalization causing build errors. Change 3783171 by Michael.Dupuis Added the possibility to override default LOD rules for visible primitive and whole scene shadow casting primitive Added the possibility to store Custom data per view for the frame duration Change 3783172 by Michael.Dupuis #jira UE-35097 : Refactored landscape rendering logic to improve general performance while using new custom data and custom lod feature Exposed many new settings to control component using sub sections rendering, tessellated component, shadow should be include into tessellation, tessellation falloff based on camera location Changed how LOD distribution is done to be in screen size instead of distance. Give the possibility to have a different distribution for LOD0 vs the other one. Change 3783174 by Michael.Dupuis missing file to landscape refactor Change 3783315 by Lauren.Ridge Changing a parameter in the Material Parameter Panel now dirties the material correctly. Changing a layer parameter in the Material Instance Editor now refreshes the details panel as well. Change 3783374 by Chris.Bunner Adding MaterialSharedInputCollection to hidden list when MaterialLayers disabled. Change 3783617 by Chris.Bunner Added a Channel Mask material expression parameter. Wraps up a vector parameter and dot product with a single channel selection interface, internally a regular vector parameter. Fixed GetSharedInput failing to return the preview texture in the Function Instance editor. Change 3783676 by Lauren.Ridge Adding access to a material function instance's parent in the Material Instance Editor Change 3783751 by Michael.Trepka PR #4248: Fixed C++ std in generated Xcode project to match rest of engine (C++14) (Contributed by Bo98) Change 3783971 by Brandon.Schaefer Rename/Move all deploy/Deploy folder/files into AlembicDeploy. Due to case sensitivity on linux, need to maintain the correct case. #jira UE-37631 Change 3783992 by Michael.Dupuis #jira UE-35097: Remove tessellation on editor tools Fixed a case where tessellation multiplier at 0 would cause the component to not be visible Fixed minor tessellation falloff calculation error Change 3784502 by Chris.Bunner Restored missing bool setter. Coding standards fix. Change 3784614 by Arciel.Rekman Linux: better error message when running out of inotify watches (UE-50459). #jira UE-50459 Change 3784620 by Chris.Bunner Updated LayerBlend_TextureMask to use new ChannelMask parameter. Change 3784725 by Lauren.Ridge Fixing groups not sorting correctly Change 3785645 by Chris.Bunner Non-editor compile fix. Change 3785666 by Arciel.Rekman Linux: restore ability to use Wayland instead of X11. - SDL libs recompiled and Wayland version is set to lower one to be compatible with the compositor shipped on Ubuntu 16.04 LTS - Change by Anthony.Bills. Change 3785708 by Arciel.Rekman Linux: implement voice capture using SDL (non-server only) (UE-51298). - Based on pull request #4131 by mkirzinger. Change 3785878 by Arciel.Rekman UBT: add VSCode to default generators on Linux. Change 3786058 by Arciel.Rekman Do not add dependencies on other RHIs for servers (UE-48894). - Pull request #3944 contributed by pfoote. #jira UE-48894 Change 3786845 by Arciel.Rekman Code changes to make gcc support easier (UE-51978). - Contributed by a licensee (pull request #4181 by tomwardio "Collection of fixes to allow UE4 to be compiled by GCC on Linux"). Change 3786871 by Matt.Kuhlenschmidt Fix static analysis Change 3786883 by Matt.Kuhlenschmidt Fix HTML5 Change 3786923 by Matt.Kuhlenschmidt Fix engine layer blend asset referencing game content. This is not allowed #jira UE-52888 Change 3786927 by Brandon.Schaefer Linux: Alembic support #jira: UE-37631 Change 3786994 by Arciel.Rekman Remove support for /-prefixed switches (UE-47429). - They collide with absolute file paths on Mac/Linux and a source of inconsistencies between platforms. #jira UE-47429 Change 3787032 by Michael.Trepka Initial support for building and running Niagara on Mac Change 3787035 by Brandon.Schaefer GitHub #4166 Undef GL entrypoint macros after use #jira UE-51663 Change 3787144 by Lauren.Ridge Fixing material parameter group association resetting after undo #jira UE-52514 Change 3787839 by Jordan.Walker updated engine level layer blends to not include game content switched them to use Chris B's new mask selection node Change 3787967 by Lauren.Ridge Fix for broken layer groups, related crash Change 3787991 by Lauren.Ridge Fixing thumbnails for material function instances, resolving not being able to delete new function instances #jira UE-52967 Change 3788226 by Michael.Trepka Fixed a deadlock when closing Mac CrashReportClient which resulted from changes in CL 3777006 #jira UE-53002 Change 3788557 by Brandon.Schaefer Fix shadow compiler warnings around our includes Change 3789700 by Lauren.Ridge Experimental setting for turning on Material Layers - off by default. Change 3789703 by Jamie.Dale Harden the LocMeta and LocRes loading to prevent loading files that are too new Change 3789706 by Jamie.Dale Added localization ID to the package summary This will allow the localization gatherer to query it without having to load the entire package Change 3789708 by Jamie.Dale Added a way to display and reset the package localization ID via the Content Browser Change 3789709 by Jamie.Dale Added warning for duplicate package localization IDs when gathering asset localization Change 3789713 by Jamie.Dale Special case zero-width space in the text shaper to avoid fonts rendering the fallback glyph Change 3789736 by Christina.TempelaarL Fixed recently-introduced StaticMeshEditor bug - changing LOD dropdown menu selection was not changing LOD sections category. Change 3789853 by Chris.Bunner Material instances should return overridden values when the caller is requesting the default, not leaving the request to fall through to the base material. #jira UE-52796 Change 3790185 by Brandon.Schaefer Add better error handling when using new SDK for linux on windows. #jira UE-50527 Change 3790195 by Jamie.Dale Fixed line-ending inconsistency when retrieving rich-text We were using LINE_TERMINATOR when getting the offsets, but \n when getting the text Change 3790473 by Chris.Bunner When finding expression by GUID, only return FunctionCall result if expression was found. Fixes cases where searched-for expression is after a FunctionCall in the expressions list. #jira UE-52729 Change 3790650 by Arciel.Rekman UBT: Linux: print build details first before refusing to build. - Tweak to the previous feature that we forgot. Change 3790681 by Arciel.Rekman UBT: Linux: tweaks to wording (SDK -> toolchain). Change 3791459 by Brandon.Schaefer Linux: libcurl rebuild for version 7.57 #jira OGS-870 Change 3791533 by Arciel.Rekman Better error messaging when UMB is unusable (UE-50658). - Should be replaced by a better fix, but merging this workaround in case the better fix will not be done in time for 4.19. (Edigrating CL 3789387, 3789787 from Release-4.18 to Dev-Editor) Change 3791885 by Matt.Kuhlenschmidt Fix static analysis #jira UE-53097 Change 3791910 by Brandon.Schaefer Fix for not using proper libraries on x86_64 for libcurl #jira OGS-870 Change 3792017 by Jamie.Dale Fixed a conflict between the path settings and favorite settings Change 3792022 by Jamie.Dale Fixed a crash that could happen when performing ARO on the property chains of a struct #jira UE-52999 Change 3792025 by Jamie.Dale Changed package summary localization ID to be versioned by the object version to avoid changing data in unversioned cooked assets Change 3792066 by Michael.Dupuis #jira UE-5751: Fixed possible crash when using dynamic matrial instance Added missing shaders for landscape when using tessellation Change 3792718 by Arciel.Rekman OpenGL: bringing back Windows workarounds to unblock copy-up (UE-52534). #jira UE-52534 Change 3793018 by Mike.Erwin new glTF importer plugin Import StaticMesh, Material, and Texture assets from the Khronos glTF 2.0 format. Text (.gltf) and binary (.glb) files are supported. Limitations: - There is no options UI. All assets from the file are imported. - The glTF format can describe animation and whole scenes, but the initial version of this plugin does not attempt either. - Data encoded as Base64 data URI is not supported. This is uncommon but is part of the glTF spec. #jira: UE-50695 Change 3793626 by Matt.Kuhlenschmidt Logging for HTML5 issue Change 3794034 by Matt.Kuhlenschmidt Fix CIS Change 3794271 by Michael.Dupuis #jira UE-53133: Fxed shadow calculation when using non whole scene shadow Change 3794273 by Chris.Bunner Function call material nodes should be created with no outputs by default. #jira UE-53127, UE-53128, UE-52616 Change 3794334 by Lina.Halper - Fix animation reinitializing when just setting new animation with single node - Deprecated GetScalarParameterDefault and replace that with GetScalarParameterDefaultValue #jira: UE-52796 Change 3794338 by Michael.Dupuis Fixed lod visual popping when texture mip used for landscape is not ready Change 3794350 by Mike.Erwin Fix glTF importer header includes. Build was failing on Linux. Change 3794357 by Michael.Dupuis #jira UE-53166: buildfix: removed phase 2 landscape optim leftover... Change 3794549 by Michael.Dupuis #jira UE-53166 : fixed compile error Change 3794755 by Matt.Kuhlenschmidt Fix automation warning Change 3794910 by Lina.Halper Change material default value to be red to keep the behavior same. - Previous code was getting default value of parent, which was wrong, but now since we're grabbing correct value, it's not doing what it meant to do. Changed content to keep same value as parent as default. Change 3795296 by Mike.Erwin glTF: fix Linux build errors A variable was being shadowed. The other errors are due to an obscure corner of the C++ spec which clang enforces. https://stackoverflow.com/questions/21900237/do-i-really-need-to-implement-user-provided-constructor-for-const-objects #jira UE-53204 Change 3797313 by Chris.Bunner Re-built lighting in Rendering/ShaderModels automated test map and updated failing screenshots. #jira UE-53198 Change 3803962 by Jamie.Dale Fixed struct instances not comparing against the correct default values when gathering for localization Change 3804771 by Michael.Dupuis Back out changelist 3783171 Change 3804772 by Michael.Dupuis Back out changelist 3783172 Change 3805258 by Michael.Dupuis Added missing shader cache for landscape Change 3806105 by Matt.Kuhlenschmidt Disable harware benchmarking during automation tests, commandlets, and on the build machine Change 3806438 by Michael.Dupuis #jira UE-53228: Fixed rendering path of new landscape optim when using GDoInitViewsLightingAfterPrepass(used in Orion) Change 3806577 by Matt.Kuhlenschmidt Change plugin uploading to crash reporter to only do so in editor builds Change 3806588 by Michael.Dupuis Remove temp test version in landscape version Change 3806900 by Jamie.Dale Fixed 'inconsistent DLL linkage' error when using older versions of Python 2.7 #jira UE-53353 Change 3807125 by Jamie.Dale Fixed UBT warning after Dev-Core merge Change 3807299 by tim.gautier QAGame: Checking in test asset M_LandscapeMaterial_Foliage, quicker repro for UE-53442 [CL 3807911 by Matt Kuhlenschmidt in Main branch]
2017-12-14 10:07:13 -05:00
#undef GET_GL_ENTRYPOINTS
// Restore warning C4191.
#pragma warning(pop)
// Check that all of the entry points have been initialized.
bool bFoundAllEntryPoints = true;
#define CHECK_GL_ENTRYPOINTS(Type,Func) if (Func == NULL) { bFoundAllEntryPoints = false; UE_LOG(LogRHI, Warning, TEXT("Failed to find entry point for %s"), TEXT(#Func)); }
ENUM_GL_ENTRYPOINTS_DLL(CHECK_GL_ENTRYPOINTS);
ENUM_GL_ENTRYPOINTS(CHECK_GL_ENTRYPOINTS);
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3807299) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3528776 by Yannick.Lange Allow thumbnails to be captured from a viewport always. #jira UE-45392 Change 3564359 by Yannick.Lange Back out part of changelist 3528776: Revert allowing thumbnails to be captured from a viewport to fix UE-47827 & UE-47785. #jira UE-47785, UE-47827 Change 3740671 by Matt.Kuhlenschmidt Make the font editor canvas respect dpi scale Change 3740810 by Josh.Engebretson PR #4138: Log GenerateProjectFiles to file when using UVS (Contributed by projectgheist) #jira UE-51358 Change 3740939 by Cody.Albert Fixing some #ifdefs that should be #ifs Change 3741089 by Alexis.Matte Make sure bImportBoneTracks is set to true when importing into level #jira UE-51999 Change 3741101 by Alexis.Matte Fix the import material search #jira UE-51857 Change 3741690 by Jamie.Dale Guard against an invalid index in SLocalizationCommandletExecutor::Tick #jira UE-52067 Change 3741710 by Jamie.Dale Made a static variable also const Change 3741724 by Michael.Dupuis Added missing shader cache Change 3742037 by Lauren.Ridge Details panels can now "own" a color picker so a different details panel refreshing doesn't close it. Also fixed refreshing state of the graph after changing texture or color parameter values Change 3742250 by Matt.Kuhlenschmidt PR #4185: Output Log Filter tooltip shows %s instead of category. (Contributed by LordNed) Change 3742308 by Lauren.Ridge Adding axis input to the material editor's viewport client Change 3742380 by Matt.Kuhlenschmidt USD importer improvements - USD now stores source file information for reimports - Fixed bug where no geometry would be imported if an exporter had set a time code even without animated data - Prevent a crash if a mesh doesnt have enough valid data to be imported Change 3742536 by Matt.Kuhlenschmidt Remove usd wrapper test project Change 3743564 by Alexis.Matte Fix skeletal mesh screen size auto set value when importing a LOD #test none #jira UE-52100 Change 3743582 by Lauren.Ridge Fixing non-desktop compiles Change 3743598 by Lauren.Ridge Fixing shadowed variable by renaming the global color picker weak ptr variable. Change 3743636 by Lauren.Ridge Creating a new parameter immediately allows naming Change 3743855 by Michael.Dupuis Added missing shader from cache Change 3744277 by Lauren.Ridge Don't show empty Global group if it only contained the material layer param. Change 3744330 by Lauren.Ridge Clarifying "no parameter" text Change 3744529 by Lauren.Ridge Making Save to Child and Save To Sibling buttons work for material layer params, show on material layer param panel Change 3744668 by Chris.Bunner Added shared layer input collection asset, a list of float/texture redirectors that allow setting globally in a material graph then retrieving within layer/blend graphs. Added output for number of unique shaders generated by a particular material instance. Show instruction counts when working on a material layer. Relaxed restrictions on material layers, base MA input is now optional. #jira UETOOL-1271, UETOOL-1278, UETOOL-1279 Change 3744669 by Chris.Bunner Added automated test for material layers, layer/blend instances and shared inputs. Change 3744754 by Laz.Matech Adding localization data to QAGame for the Realtime Preview localization test. #jira none Change 3744860 by Michael.Dupuis #jira UE-52049 : Do not update random stream in most case, only when adding new instances, or filling from built data Change 3744965 by Chris.Bunner Rebuilt lighting in automated test map and updated reflection capture screenshot. Change 3746015 by Michael.Dupuis #jira UE-52090: Added missing shader for forward rendering Change 3746038 by Michael.Dupuis #jira UE-51494: Make sure index is valid for this instance as instances from template and instance could mismatch due to in level changes Change 3746076 by Michael.Dupuis Removed unused code Change 3746998 by Tim.Gautier QAGame: - Renamed UMG_RealtimePreview > UMG_InEditorPreview - Moved UMG_InEditorPreview into UMG > Localization, setting up for future Localization tests Change 3747206 by Arciel.Rekman Linux: make UI scale more coarse to prevent unnecessary scaling (UE-52086). - Monitors whose physical dimensions fall in range of 80-110 DPI should still have scale=1.0. (Edigrating CL 3740942 from Release-4.18 to Dev-Editor) Change 3747211 by Arciel.Rekman Make failure to launch SCW more apparent to the user (UE-47263). - Fixes frequent crash on Linux. (Merging 3747070 from Release-4.18 to Dev-Editor) Change 3747726 by Tim.Gautier QAGame: Resubmitting updated Loc files Change 3747872 by Tim.Gautier QAGame: Resubmitting compiled Loc assets Change 3748118 by Lauren.Ridge Adding help text to the material layers preview tab Change 3748398 by Lauren.Ridge Fixing tooltips for the material layer read-only preview Change 3748565 by Arciel.Rekman Linux: fix RHIs settings being wrong when removed via project properties (UE-51203). - This was a deeper issue with config system than just Linux RHIs. - This is a better fix than one submitted to 4.18 branch in CL 3747086. Change 3749441 by Matt.Kuhlenschmidt PR #4201: Fix a typo in a comment. (Contributed by dneelyep) Change 3749442 by Matt.Kuhlenschmidt PR #4195: Incorrect specifier used for FText::Format (Contributed by projectgheist) Change 3749496 by Matt.Kuhlenschmidt Fix static analysis Change 3749805 by Lauren.Ridge Fixing reset to default on MaterialLayerParam in base material Change 3749838 by Lauren.Ridge Also correctly resetting names and layer states Change 3750442 by Mieszko.Zielinski Added a safety check which addresses the crash #UE4 Note that this is a temp fix. A proper fix is making sure ConvexShapeIndices doesn't contain any duplicates and will be inplemented in Dev-Framework. #jira UE-52123 Change 3752266 by Arciel.Rekman OpenGL: remove PLATFORM_WINDOWS exceptions. - Discrepancy in behavior between Windows and Linux OpenGL is unhelpful for bug reproducibility. - VAB bug should have been fixed long ago (on both platforms). Change 3752929 by Arciel.Rekman Linux: avoid crashing on unknown drivers. - See https://answers.unrealengine.com/questions/724100/crashes-on-startup-after-first-run.html - Checks in IsDeviceIntel() and such fail if the drivers were not detected. Change 3753254 by Michael.Dupuis Added missing shader for shader cache Change 3753426 by Michael.Dupuis #jira UE-5751: Added the possibility to change material instance exposed params at runtime using a MID for texture, vector and scalar for 1 component or all components Change 3753440 by Alexis.Matte Fix fbx scene importer morph target import crash #jira UE-52255 Change 3753457 by Michael.Dupuis build fix Change 3753700 by Chris.Bunner Make GetSharedInput preview fallback always available in editor as this should handle previews, thumbnails and other editor-only cases. Refactor to remove duplicate code in material translator. Material layer expressions are required for client load, fixes cooked builds using layer instances in the base material layer stack. Change 3754760 by Chris.Bunner Tidying up EngineTest/ShaderModels map. Change 3754765 by Arciel.Rekman Avoid placing tooltip windows under the cursor (UE-12288). - Fixes inability to use some corners of the screen on Linux (the tooltips there aren't click-through). Change 3754788 by Matt.Kuhlenschmidt Fix details panel crash after compiling blueprints that have edit conditon properties Change 3754933 by Christina.TempelaarL Fixed typo in heightLerp (transistion->transition). #jira UE-46736 Change 3754946 by Cody.Albert Update loading movie code to properly calculate delta time when throttled at 60fps Change 3755059 by Jamie.Dale Fixed game preview language not updating in realtime while PIE was enabled #jira UE-52209 Change 3755130 by Jamie.Dale Fixed game preview language not updating from native when switching between preview languages #jira UE-52348 Change 3755664 by Michael.Dupuis Fixed compile warning Change 3755714 by Yannick.Lange Always allow capturing thumbnails from viewport. This also hides the thumbnail editing UI when a thumbnail was captured from a viewport. Change 3755944 by Alexis.Matte Fix crash when importing morph target with "built in" tangent option #jira UE-52319 Change 3756109 by Christina.TempelaarL fixed FBX importer Import Textures tooltip, UMaterial -> Material in tooltip text #jira UE-48389 Change 3756169 by Jamie.Dale Added plural form pattern to SContentBrowser::GetPathText Change 3756493 by Laz.Matech Updating Localization content to further test InEditor Preview Language in UMG #jira none Change 3758336 by Alexis.Matte Fix a crash when importing morph target there was a unsync between some buffer depending on the import options #jira UE-52319 Change 3758947 by Jamie.Dale Fixed cursor position regression in search boxes This was caused by a call to SetText that was added in CL# 3627864 This caused the text to update as it was changed, which made the cursor jump to the end of the text and made it impossible to type in the middle of a search term. This was done as a bound FText value had been passed to the InitalText of SSearchBox, which made the text resolution behave strangely. InitalText should always be a value, and SSearchBox now resolves any bindings during its constructor. #jira UE-48874 Change 3759000 by Laz.Matech Submitting the .PO file for CL 3756493 #jira none Change 3759480 by Matt.Kuhlenschmidt Safe guard against brush details crash #jira UE-52278 Change 3759665 by Matt.Kuhlenschmidt PR #4214: UE-52249: Use valid PreviewShadowsIndicatorMaterialName (Contributed by projectgheist) Change 3761211 by Matt.Kuhlenschmidt Remove the restriction that a level must be writable to be locked/unlocked. Fixed duplicate icons being used by the level browser Change 3761304 by Chris.Bunner MaterialAttributeLayers graph node BaseMA input is no longer required. Note: Requires "Use Preview Value" set to true on inputs. Change 3761307 by Chris.Bunner New material layers and blends will have "Use Preview Value" set to true by default to avoid the need for connected inputs - Missed file on previous commit. Change 3761357 by Chris.Bunner Renamed material shared input enum. Change 3761419 by Chris.Bunner Updating material layers automated test assets after recent changes. Reverted some naming changes so existing screenshot tests can be reused. Change 3762058 by tim.gautier QAGame: Adding Material Layer assets for testing (Content/Materials/LayerFunction) Change 3763328 by Matt.Kuhlenschmidt Fix Slate warning at editor startup Change 3763354 by Alexis.Matte Fix skeletal mesh material assign when reducing a LOD that was import from a file using simplygon reduction #jira UE-52505 Change 3763501 by Matt.Kuhlenschmidt Prevent shared asset thumbnail pools from having their resources forcefully released when they are in use. ReleaseResources is now private and only called on destruction of the pool Change 3763574 by Matt.Kuhlenschmidt Fix slate material box brushes not being keyed off image size #jira UE-40219 Change 3763678 by Jamie.Dale Disable realtime level editor viewport if running under remote desktop This makes the main editor window much more responsive by default under remote desktop Change 3763679 by Jamie.Dale Added asset caching metrics for the loc gather Change 3763693 by Matt.Kuhlenschmidt Changed the code that activates the actor details tab when selection changes to a flash. There are simply too many things that change the selection and steal focus away from a tab being used #jira UE-51754 Change 3763826 by Michael.Dupuis Fixed Fortnite cooking crash Change 3763864 by Harrison.Moore Adding New Default 'LayerBlend' assets Change 3764028 by Christina.TempelaarL #jira UE-47695 Auto LOD bug Moved the sections dropdown to the LOD Picker category and modified Custom cb behavior, based on suggestions from charlie. Change 3764031 by Christina.TempelaarL #jira UE-47695 Auto LOD in StaticMeshViewer moved LOD combo widget to LOD picker category and hide custom checkboxes until custom checked. Change 3764076 by tim.gautier QAGame: Submitting UMG_Multitouch_test for initial Multitouch testing Change 3764263 by Matt.Kuhlenschmidt Fix the floor mesh thumbnail Change 3764284 by Chris.Bunner Removing some asserts for cases that can validly fail and are already handled. Change 3764372 by Matt.Kuhlenschmidt PR #4196: Show edit icons in editor (Contributed by projectgheist) Change 3764388 by Chris.Bunner Fixing logic for material, function and instance updating active materials and instances and their editors. Change 3764674 by Harrison.Moore test materials added, Blend updates Change 3764681 by Harrison.Moore Adding HMtest map Change 3766238 by Chris.Bunner Material layer callers need to let their internal material function calls update their inputs/outputs. Change 3766556 by Jamie.Dale Fixed crashes that could happen if some of the data table panels were closed We now always create the underlying widgets, even if they're currently hidden from view #jira UE-52552 Change 3767753 by Chris.Bunner When rebuilding a material function instance editor we must re-create and re-apply the proxies as the expressions have likely changed. Take care to maintain local parameter changes as these have not been saved yet. Change 3768719 by Michael.Dupuis #jira UE-52521: Prevent possible crash if a segment have no point or invalid point Change 3769157 by Jamie.Dale Fixed incorrect text selection if selecting via double click beyond the bounds of the line It would previously select the second to last word, rather than the last word #jira UE-51609 Change 3769159 by Harrison.Moore Belica Test update, New layer blends updated with texture type fix. Change 3769205 by Jamie.Dale Fixed Windows file save dialog not appending the correct extension when there were multiple options available #jira UE-52180 Change 3769220 by Harrison.Moore Layer blend tweaks Change 3769292 by Jamie.Dale Removing redundant code Applying the correct package ID, only to then strip it off again is rather pointless Change 3769479 by Arciel.Rekman UBT: Use response files for compiler when compiling for Linux. - Some command lines are too long when cross-compiling on Windows. Change 3769920 by Arciel.Rekman Linux: convert yet another initialization crash to a user-friendly message (UE-52457). #jira UE-52457 Change 3771055 by Alexis.Matte Make sure we set the Used by morph target material flag to material use by the morphtarget instead of all skinned mesh component Use the morph vertex factory only for section that has active morph target #jira UE-51483 Change 3771135 by Michael.Dupuis Fixed fortnite cooking Change 3773054 by Yannick.Lange Avoid loading viewport interaction assets when starting the editor. Change 3774184 by Arciel.Rekman Linux: disabled some gdb visualizers until the issue is fixed. - CL 3773942 by CengizT. Change 3774303 by Matt.Kuhlenschmidt Pull requests to fix various typos Change 3774305 by Matt.Kuhlenschmidt PR #4237: Visual Studio Repeatedly Opens (UE-51608) (Contributed by LordNed) #jira UE-51608 Change 3774701 by Arciel.Rekman OpenGL: fix ARB callback errors when hitting Build Lighting. - Merged from 4.18 shelf. Change 3775812 by Matt.Kuhlenschmidt Fix One-off crash undo-ing while working with Material Params / Material Functions #jira UE-52680 Change 3775849 by Matt.Kuhlenschmidt More info for UE-52610 Change 3775850 by Matt.Kuhlenschmidt Guard against mesh paint crashes #jira UE-52618 Change 3775904 by Matt.Kuhlenschmidt Added logging to track down window shutdown issues Change 3775913 by Matt.Kuhlenschmidt Pull requests for typos #jira UE-52751, UE-52748 Change 3776676 by Jamie.Dale Fixed being able to insert tabs into spin boxes with units #jira UE-52776 Change 3777006 by Michael.Trepka Process Mac windowDidBecomeMain and windowDidResignMain notifications immediately instead of deferring them. This solves issues with Slate code that closes and immediately opens new menu windows. Previously closing a window would schedule menu parent's activation event that could be processed after another menu's creation, making it immediately disappear. #jira UE-52145 Change 3777170 by Arciel.Rekman Linux: use Xft.dpi (most desktop environments expose their scale through that) as a DPI value (UE-52086, UE-52766). - Change by Brandon.Schaefer. - Limitation: no per-monitor DPI. (Edigrating CL 3776509 //UE4/Release-4.18/... to //UE4/Dev-Editor/...) Change 3777292 by Arciel.Rekman Linux: fix symbol collision causing problems with AMD drivers (UE-51843). - We cannot have elf_end() hidden, because libcuda.so calls elf_end from libnvidia-fatbinaryloader.so and this breaks linking monolithic binaries ("hidden symbol referenced in DSO"). - We cannot have elf_end() visible, because of a name collision with a different libelf used by AMD drivers. - The only possible workaround is to have elf_end() renamed. (Edigrating CL 3777242 from //UE4/Release-4.18/... to //UE4/Dev-Editor/...) Change 3777686 by Joe.Conley Blueprint editor variable type tooltips: fix case mismatch that was preventing type name to be displayed properly in soft object/class reference tooltips. Change 3778180 by Jamie.Dale Avoid a crash if a regex pattern or matcher outlive ICU during shutdown #jira UE-52770 Change 3778182 by Jamie.Dale Avoid a crash if a break iterator outlives ICU during shutdown Change 3778368 by Jamie.Dale Added missing pragma once Change 3778560 by Matt.Kuhlenschmidt Prevent non-shared DDC notification from triggering for epic internal builds Change 3778709 by Lauren.Ridge Copying 4.18.2 array reordering propagating to children fix (originally 3778547) Change 3779205 by Lauren.Ridge Duplicating 3776649 to fix a crash on compile due to partial GC of a widget. #jira UE-52260 Change 3779217 by Brandon.Schaefer GitHub #3678 Fix Setup.sh handling of special characters in PNG path #jira UE-46103 Change 3779341 by Brandon.Schaefer GitHub #3012 Use elemtry OS versions to set the ubuntu versions for depencies #jira UE-39364 Change 3780274 by Joe.Conley DataTables: Add documentation tooltips showing type information to header columns Change 3780840 by Alexis.Matte Do a re-import when user re-import LOD 0 Prevent importing more then MAX_SKELETAL_MESH_LODS #jira UE-52373 Change 3781067 by Arciel.Rekman Linux: fix OSSSteam cross-compilation (and CIS). - Broken by previous change that put compile-time arguments into response file and bulk-replaced \ with /, which affected things like Definitions.Add("STEAM_SDK_VER_PATH=TEXT(\"Steam" + SteamVersion + "\")"); Change 3781110 by Christina.TempelaarL #jira UE-47695 moved Static Mesh Editor LOD menu from tools to viewport tool bar Change 3781531 by Christina.TempelaarL #jira UE-47695 added LOD menu to Static Mesh Editor viewport Change 3781663 by Alexis.Matte Fix for cancel export fbx when previewing animation sequence export #jira UE-49743 Change 3782007 by Jamie.Dale Improved the ability to lockdown available game languages In addition to the previous "DisabledCultures" array, you can now add an array of "EnabledCultures" (using the same per-build config filters) to explicitly list the cultures that are allowed to be used in your build (if the list is empty, then everything is allowed unless otherwise disabled). This also stops the game from attempting to fallback to the native language if the native language has been disabled (we will fallback to the first available language instead). Change 3782122 by Jordan.Walker test assets for material layers Change 3782131 by Joe.Graf Added support for IOS and TVOS targets when generating CMake files on Mac Change 3782218 by Christina.TempelaarL fixing include paths and capitalization causing build errors. Change 3783171 by Michael.Dupuis Added the possibility to override default LOD rules for visible primitive and whole scene shadow casting primitive Added the possibility to store Custom data per view for the frame duration Change 3783172 by Michael.Dupuis #jira UE-35097 : Refactored landscape rendering logic to improve general performance while using new custom data and custom lod feature Exposed many new settings to control component using sub sections rendering, tessellated component, shadow should be include into tessellation, tessellation falloff based on camera location Changed how LOD distribution is done to be in screen size instead of distance. Give the possibility to have a different distribution for LOD0 vs the other one. Change 3783174 by Michael.Dupuis missing file to landscape refactor Change 3783315 by Lauren.Ridge Changing a parameter in the Material Parameter Panel now dirties the material correctly. Changing a layer parameter in the Material Instance Editor now refreshes the details panel as well. Change 3783374 by Chris.Bunner Adding MaterialSharedInputCollection to hidden list when MaterialLayers disabled. Change 3783617 by Chris.Bunner Added a Channel Mask material expression parameter. Wraps up a vector parameter and dot product with a single channel selection interface, internally a regular vector parameter. Fixed GetSharedInput failing to return the preview texture in the Function Instance editor. Change 3783676 by Lauren.Ridge Adding access to a material function instance's parent in the Material Instance Editor Change 3783751 by Michael.Trepka PR #4248: Fixed C++ std in generated Xcode project to match rest of engine (C++14) (Contributed by Bo98) Change 3783971 by Brandon.Schaefer Rename/Move all deploy/Deploy folder/files into AlembicDeploy. Due to case sensitivity on linux, need to maintain the correct case. #jira UE-37631 Change 3783992 by Michael.Dupuis #jira UE-35097: Remove tessellation on editor tools Fixed a case where tessellation multiplier at 0 would cause the component to not be visible Fixed minor tessellation falloff calculation error Change 3784502 by Chris.Bunner Restored missing bool setter. Coding standards fix. Change 3784614 by Arciel.Rekman Linux: better error message when running out of inotify watches (UE-50459). #jira UE-50459 Change 3784620 by Chris.Bunner Updated LayerBlend_TextureMask to use new ChannelMask parameter. Change 3784725 by Lauren.Ridge Fixing groups not sorting correctly Change 3785645 by Chris.Bunner Non-editor compile fix. Change 3785666 by Arciel.Rekman Linux: restore ability to use Wayland instead of X11. - SDL libs recompiled and Wayland version is set to lower one to be compatible with the compositor shipped on Ubuntu 16.04 LTS - Change by Anthony.Bills. Change 3785708 by Arciel.Rekman Linux: implement voice capture using SDL (non-server only) (UE-51298). - Based on pull request #4131 by mkirzinger. Change 3785878 by Arciel.Rekman UBT: add VSCode to default generators on Linux. Change 3786058 by Arciel.Rekman Do not add dependencies on other RHIs for servers (UE-48894). - Pull request #3944 contributed by pfoote. #jira UE-48894 Change 3786845 by Arciel.Rekman Code changes to make gcc support easier (UE-51978). - Contributed by a licensee (pull request #4181 by tomwardio "Collection of fixes to allow UE4 to be compiled by GCC on Linux"). Change 3786871 by Matt.Kuhlenschmidt Fix static analysis Change 3786883 by Matt.Kuhlenschmidt Fix HTML5 Change 3786923 by Matt.Kuhlenschmidt Fix engine layer blend asset referencing game content. This is not allowed #jira UE-52888 Change 3786927 by Brandon.Schaefer Linux: Alembic support #jira: UE-37631 Change 3786994 by Arciel.Rekman Remove support for /-prefixed switches (UE-47429). - They collide with absolute file paths on Mac/Linux and a source of inconsistencies between platforms. #jira UE-47429 Change 3787032 by Michael.Trepka Initial support for building and running Niagara on Mac Change 3787035 by Brandon.Schaefer GitHub #4166 Undef GL entrypoint macros after use #jira UE-51663 Change 3787144 by Lauren.Ridge Fixing material parameter group association resetting after undo #jira UE-52514 Change 3787839 by Jordan.Walker updated engine level layer blends to not include game content switched them to use Chris B's new mask selection node Change 3787967 by Lauren.Ridge Fix for broken layer groups, related crash Change 3787991 by Lauren.Ridge Fixing thumbnails for material function instances, resolving not being able to delete new function instances #jira UE-52967 Change 3788226 by Michael.Trepka Fixed a deadlock when closing Mac CrashReportClient which resulted from changes in CL 3777006 #jira UE-53002 Change 3788557 by Brandon.Schaefer Fix shadow compiler warnings around our includes Change 3789700 by Lauren.Ridge Experimental setting for turning on Material Layers - off by default. Change 3789703 by Jamie.Dale Harden the LocMeta and LocRes loading to prevent loading files that are too new Change 3789706 by Jamie.Dale Added localization ID to the package summary This will allow the localization gatherer to query it without having to load the entire package Change 3789708 by Jamie.Dale Added a way to display and reset the package localization ID via the Content Browser Change 3789709 by Jamie.Dale Added warning for duplicate package localization IDs when gathering asset localization Change 3789713 by Jamie.Dale Special case zero-width space in the text shaper to avoid fonts rendering the fallback glyph Change 3789736 by Christina.TempelaarL Fixed recently-introduced StaticMeshEditor bug - changing LOD dropdown menu selection was not changing LOD sections category. Change 3789853 by Chris.Bunner Material instances should return overridden values when the caller is requesting the default, not leaving the request to fall through to the base material. #jira UE-52796 Change 3790185 by Brandon.Schaefer Add better error handling when using new SDK for linux on windows. #jira UE-50527 Change 3790195 by Jamie.Dale Fixed line-ending inconsistency when retrieving rich-text We were using LINE_TERMINATOR when getting the offsets, but \n when getting the text Change 3790473 by Chris.Bunner When finding expression by GUID, only return FunctionCall result if expression was found. Fixes cases where searched-for expression is after a FunctionCall in the expressions list. #jira UE-52729 Change 3790650 by Arciel.Rekman UBT: Linux: print build details first before refusing to build. - Tweak to the previous feature that we forgot. Change 3790681 by Arciel.Rekman UBT: Linux: tweaks to wording (SDK -> toolchain). Change 3791459 by Brandon.Schaefer Linux: libcurl rebuild for version 7.57 #jira OGS-870 Change 3791533 by Arciel.Rekman Better error messaging when UMB is unusable (UE-50658). - Should be replaced by a better fix, but merging this workaround in case the better fix will not be done in time for 4.19. (Edigrating CL 3789387, 3789787 from Release-4.18 to Dev-Editor) Change 3791885 by Matt.Kuhlenschmidt Fix static analysis #jira UE-53097 Change 3791910 by Brandon.Schaefer Fix for not using proper libraries on x86_64 for libcurl #jira OGS-870 Change 3792017 by Jamie.Dale Fixed a conflict between the path settings and favorite settings Change 3792022 by Jamie.Dale Fixed a crash that could happen when performing ARO on the property chains of a struct #jira UE-52999 Change 3792025 by Jamie.Dale Changed package summary localization ID to be versioned by the object version to avoid changing data in unversioned cooked assets Change 3792066 by Michael.Dupuis #jira UE-5751: Fixed possible crash when using dynamic matrial instance Added missing shaders for landscape when using tessellation Change 3792718 by Arciel.Rekman OpenGL: bringing back Windows workarounds to unblock copy-up (UE-52534). #jira UE-52534 Change 3793018 by Mike.Erwin new glTF importer plugin Import StaticMesh, Material, and Texture assets from the Khronos glTF 2.0 format. Text (.gltf) and binary (.glb) files are supported. Limitations: - There is no options UI. All assets from the file are imported. - The glTF format can describe animation and whole scenes, but the initial version of this plugin does not attempt either. - Data encoded as Base64 data URI is not supported. This is uncommon but is part of the glTF spec. #jira: UE-50695 Change 3793626 by Matt.Kuhlenschmidt Logging for HTML5 issue Change 3794034 by Matt.Kuhlenschmidt Fix CIS Change 3794271 by Michael.Dupuis #jira UE-53133: Fxed shadow calculation when using non whole scene shadow Change 3794273 by Chris.Bunner Function call material nodes should be created with no outputs by default. #jira UE-53127, UE-53128, UE-52616 Change 3794334 by Lina.Halper - Fix animation reinitializing when just setting new animation with single node - Deprecated GetScalarParameterDefault and replace that with GetScalarParameterDefaultValue #jira: UE-52796 Change 3794338 by Michael.Dupuis Fixed lod visual popping when texture mip used for landscape is not ready Change 3794350 by Mike.Erwin Fix glTF importer header includes. Build was failing on Linux. Change 3794357 by Michael.Dupuis #jira UE-53166: buildfix: removed phase 2 landscape optim leftover... Change 3794549 by Michael.Dupuis #jira UE-53166 : fixed compile error Change 3794755 by Matt.Kuhlenschmidt Fix automation warning Change 3794910 by Lina.Halper Change material default value to be red to keep the behavior same. - Previous code was getting default value of parent, which was wrong, but now since we're grabbing correct value, it's not doing what it meant to do. Changed content to keep same value as parent as default. Change 3795296 by Mike.Erwin glTF: fix Linux build errors A variable was being shadowed. The other errors are due to an obscure corner of the C++ spec which clang enforces. https://stackoverflow.com/questions/21900237/do-i-really-need-to-implement-user-provided-constructor-for-const-objects #jira UE-53204 Change 3797313 by Chris.Bunner Re-built lighting in Rendering/ShaderModels automated test map and updated failing screenshots. #jira UE-53198 Change 3803962 by Jamie.Dale Fixed struct instances not comparing against the correct default values when gathering for localization Change 3804771 by Michael.Dupuis Back out changelist 3783171 Change 3804772 by Michael.Dupuis Back out changelist 3783172 Change 3805258 by Michael.Dupuis Added missing shader cache for landscape Change 3806105 by Matt.Kuhlenschmidt Disable harware benchmarking during automation tests, commandlets, and on the build machine Change 3806438 by Michael.Dupuis #jira UE-53228: Fixed rendering path of new landscape optim when using GDoInitViewsLightingAfterPrepass(used in Orion) Change 3806577 by Matt.Kuhlenschmidt Change plugin uploading to crash reporter to only do so in editor builds Change 3806588 by Michael.Dupuis Remove temp test version in landscape version Change 3806900 by Jamie.Dale Fixed 'inconsistent DLL linkage' error when using older versions of Python 2.7 #jira UE-53353 Change 3807125 by Jamie.Dale Fixed UBT warning after Dev-Core merge Change 3807299 by tim.gautier QAGame: Checking in test asset M_LandscapeMaterial_Foliage, quicker repro for UE-53442 [CL 3807911 by Matt Kuhlenschmidt in Main branch]
2017-12-14 10:07:13 -05:00
#undef CHECK_GL_ENTRYPOINTS
checkf(bFoundAllEntryPoints, TEXT("Failed to find all OpenGL entry points."));
}
// The dummy context can now be released.
if (DummyContext.OpenGLContext)
{
ContextMakeCurrent(NULL,NULL);
wglDeleteContext(DummyContext.OpenGLContext);
}
ReleaseDC(DummyContext.WindowHandle, DummyContext.DeviceContext);
check(DummyContext.bReleaseWindowOnDestroy);
DestroyWindow(DummyContext.WindowHandle);
}
return bOpenGLSupported;
}
bool PlatformOpenGLContextValid()
{
return( GetCurrentContext() != NULL );
}
int32 PlatformGlGetError()
{
return glGetError();
}
EOpenGLCurrentContext PlatformOpenGLCurrentContext(FPlatformOpenGLDevice* Device)
{
HGLRC Context = GetCurrentContext();
if (Context == Device->RenderingContext.OpenGLContext) // most common case
{
return CONTEXT_Rendering;
}
else if (Context == Device->SharedContext.OpenGLContext)
{
return CONTEXT_Shared;
}
else if (Context)
{
return CONTEXT_Other;
}
else
{
return CONTEXT_Invalid;
}
}
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 4064755) #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 3873313 by Nick.Atamas Merging CL 3834212 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a Merging CL 3805354, CL 3822769, CL 3827454, CL 3831789 //UE4/Partner-Google-VR/Engine/... to //Tasks/UE4/Dev-VR-4.19a/Engine/... Change 3873330 by Nick.Atamas Merging CL 3835373 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a Merging CL 3777058 //UE4/Partner-Google-VR/Engine/... to //Tasks/UE4/Dev-VR-4.19a/Engine/... and fixing up QAARApp to work with latest ARCore changes. Change 3873791 by Nick.Atamas Merging //UE4/Dev-Main@3866324 to Dev-VR (//UE4/Dev-VR) to get missing files and fixing CIS. Change 3933769 by Keli.Hlodversson Remove unused IStereoRendering::GetCustomPresent #jira UEVR-1083 Change 3935219 by Nick.Atamas QAARApp re-write. Change 3935664 by Mike.Beach Oculus SI 1.23 changes Change 3941505 by Joe.Graf Made the send & recv buffer sizes for the BackChannel plugin configurable Added send & recv counters for tracking the amount of transmission data Change 3944003 by Joe.Graf Added -buildscw to the CMake build command lines for editors to match what XCode is doing on Mac Change 3945189 by Douglas.Copeland Saving Material with Use w/ Static Lighting Flag set to resolve Engine warnings Change 3945245 by Douglas.Copeland Resaving QA_MeshTypes asset to resolve warnings produced by missing info Change 3945266 by Douglas.Copeland Updating TM-HMDNodes LevelBP WallofGets to use PxielDensity instead of ScreenPercentage. Resolving Engine warnings Change 3947785 by Mike.Beach Oculus changes to Android core count - only count usable cores not deadicated to the OS, etc. Change 3951763 by Joe.Graf Fixed thread ordering bug with remote session frame compression Change 3952242 by Joe.Graf Saved about 20-25% of the cpu time for compressing jpeg when performing the cpu swizzle Change 3954571 by Keli.Hlodversson * Add FXRRenderBridge base class containing common code from different CustomPresent implementations. * Create a default implementation of UpdateViewportRHIBridge in FXRRenderTargetManager by adding GetActiveRenderBridge_GameThread. ** The default implementation now handles calling View->SetCustomPresent instead of making it up to the custom present (now XRRenderBridge) implementation (it already had to handle when the custom present was null.) * Remove unused member variable ViewportRHI from RHICustomPresent. #jira UEVR-1081 Change 3954572 by Keli.Hlodversson * Apply XRRenderBridge and XRRenderTargetManager changes to the SteamVR plugin * Move duplicated methods into an already existing BridgeBaseImpl class #jira UEVR-592 Change 3954573 by Keli.Hlodversson * Apply XRRenderBridge refactor to Oculus plugin #jira UEVR-590 Change 3954575 by Keli.Hlodversson * Apply XRRenderBridge refactor to OSVR #jira UEVR-595 Change 3954578 by Keli.Hlodversson * Apply XRRenderBridge refactor to GoogleVR #jira UEVR-594 Change 3954596 by Keli.Hlodversson Add file missing from cl#3954572 Change 3957882 by Jeff.Fisher UEVR-1100 bLockToHmd false doesn't work correctly -CameraComponent can now tell the LateUpdateManager to store, correctly buffered, the fact that we don't want to do late update this frame. DefaultXRCamera checks that flag before applying the late upate to the camera. #jira UEVR-1100 #review-3956168 Change 3957945 by Jeff.Fisher Fix for Oculus begin/end frame problem after XRRenderBridge refactor. -The 'Frame' lifetime in the frame was not long enough, so it was null by the time GetActiveRenderBridge_GameThread was called. NextFrameToRender is the same value, but has a long enough lifetime. #review-3957897 Change 3958760 by Dongsik.Seo Adding UseCameraRotation feature to StereoPanorama plug-in. To enable this feature, use console command SP.UseCameraRotation 7 Simply add numbers to mark axis to use. 1 = Pitch, 2 = Yaw, 4 = Roll 7 means all axis (1+2+4) #review-3958756 @Joe.Conley Change 3959347 by Douglas.Copeland Fixing spelling errors in test displays Change 3964331 by Jason.Bestimt Merging CL 3959979 from 4.19 to Dev-VR + uplugin change from CL 3954046 GoogleARCore Plugin fixes for Unreal 4.19.1 hotfix: Fixed the crash in Acquire/Release UGoogleARCorePointCloud. Fixed the issue that multiple line trace channel doesn't work correctly. Fixed the issue the passthrough camera texture has blue and red channel swapped when building against gles 3.1 Fixed the issue that UGoogleARCorePointCloud::GetPoint doesn't return position in world space. Change 3967485 by Ryan.Vance Removed the exlude rect, we want to clear stencil on the entire surface. Change 3968028 by Zak.Parrish Nuking contents of existing FaceARSample, to be replaced by the one from Release-4.19. Change 3968114 by Zak.Parrish Adding in the new version of FaceARSample from Release-4.19 #rb none Change 3978381 by Mike.Beach Mirroring CL 3969503 from 4.19 Only triggering new Blueprint event, OnMotionControllerUpdated, from the game thread (causing a assert/crash when triggered from the render thread and the component has been destroyed on the main thread). #jira UE-55445 Change 3981160 by Joe.Graf Merged the BackChannel unit test fix over from Owl Change 3981705 by Mike.Beach [WIP] MR Calibration - Expose a config setting that will alter the tracking origin type used to calibrate (eye vs. floor). #jira UE-55220 Change 3981898 by Joe.Graf Added support for Apple hardware accelerated image conversion to JPEG, TIFF, PNG, and HEIF Added a Blueprint latent action to perform the conversion in the background Change 3981910 by Joe.Graf WIP AR texture support so that other systems can interact with the camera data Change 3982102 by Joe.Graf Pull request: Update CMakefileGenerator.cs for CLion Fixed an issue in the PR and added cleanup for the macro errors that result in FOO()= definitions #jira: UE-57103 GitHub #4619 Change 3982883 by Joe.Graf Added a CLionGenerator for consistency Fixed editor preferred source code accessor parsing in the project file generator Added code to detect the bad assumption of the project name always being UE4 and stripped that off in the CLionSourceCodeAccessor #jira UE-54801 Change 3983687 by Joe.Graf Fixed the lack of platform checks for adding a framework in the Apple image utils plugin causing a Switch compile error Change 3984325 by Jeff.Fisher UEVR-1141 PSVR - fix morpheus on pc render target scaling -Hard coding the target size. Perhaps the old method broke with the pixel density change. #review-3983261 Change 3984563 by Joe.Graf Temporarily disabled ConvertToHEIF on Mac until the build machines are updated to XCode 9.3 Change 3985213 by Zak.Parrish Removing a ton of excess art assets that were taking up lots of space and possibly throwing warnings. We weren't going to use them anyway. #rb none Change 3985577 by Joe.Graf WIP support for the Apple Vision API to perform computer vision tasks on images Change 3985654 by Joe.Graf Fixed missing forward declaration hidden by unity files Change 3990596 by Mike.Beach Adding a delegate for handling when the active XR system modifies the tracking space origin, and a API function for getting a transform between floor and eye space. #jira UE-55220 Change 3990788 by Mike.Beach Attempted CIS fix (fallout from CL 3990596) Change 3990824 by Ryan.Vance Re-submitting 4.19.1 hotfox 3968537 Change 3995804 by Jeff.Fisher Merging cl 3995785 //UE4/Dev-VR-Seal/Engine/Source/... to //UE4/Dev-VR/Engine/Source/... UEVR-1148 bLockToHmd change breaking qagame entry level xr camera behavior -Fixing late update when no camera component is in use. -The camera component's bLockToHMD==false behavior is supposed to be that hmd motion is ignored, meaning we should not do a late update. This behavior is being applied TO the XRCamera system FROM the camera component, but the camera component can go away or be switched at any time. We want the default to be do apply hmd motion and late update, so disabling late update needs to be a positive setting applied each frame. #review-3995764 Change 3999842 by Nick.Whiting Exposing Apple ARKit function library as public for our buddies down under. Change 4005541 by Joe.Graf UE-57541 Blacklisted TVOS since it also defines PLATFORM_IOS as 1 #jira UE-57541 Change 4006308 by Jason.Bestimt #DEV_VR - Hopeful fix for possible unity issue Change 4006543 by Joe.Graf Added code to be more correct on setting face blendshapes Change 4007508 by Jason.Bestimt #LUMIN - Adjusting automation tests. - Moved QA specific content test into QA Game - Wrapped controller not found to only happen on device Change 4007515 by Jason.Bestimt #LUMIN - Disabling privilege warning except on device Change 4007552 by Jason.Bestimt #LUMIN - Wrapping LuminTargetPlatform internals that require WITH_ENGINE Change 4008585 by Joe.Graf Added virtual curves for the head rotation information from the FaceAR's face tracking for streaming via LiveLink #jira: UE-57830 Change 4008604 by Mike.Beach MR - Making the chroma key material easier to customize & switch out. Updating the calibration to let you set whatever params you've exposed in the video processing material (removing hardcoded params for old chroma keying material). #jira UEVR-1153 Change 4009396 by Jason.Bestimt #DEV-VR - Removing warning about stat on different threads (CL 4009124) Change 4009514 by Joe.Graf Added a weighted moving average method to the modify curve anim node Change 4010125 by Jason.Bestimt #DEV-VR - Integrating 0.12 changes from Dev-VR-Seal to Dev-VR Change 4010434 by Jason.Bestimt #DEV-VR - Fix for Lumin Haptic Test include Change 4010945 by Jeff.Fisher QAHapticTests build fix -removed unused bad include Change 4011002 by Nick.Atamas Fixed Android compilation. Change 4011220 by Nick.Atamas - Adding visualization for boundary polygons. - Adding support for vertical planes. Change 4011298 by Mike.Beach MR - Revamping the VideoProcessing/ChromaKeying material so that it: 1) Better extracts luminance from the image 2) Utilizes despill to remove chroma bleed from the scene 3) Leverages the generated despill mask to add back in a faux bounce #jira UEVR-1153 Change 4011858 by Keli.Hlodversson Move ExecuteOn(RHI|Render)Thread from Oculus plugin into XRThreadUtils.{h|cpp} inside the HMD module Use TFunction and TFunctionRef instead of std::function as arguments. (Depends on the changes in CL#3987166: Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures.) -- Ref for methods that guarantee the function has been invoked before returning, TFunction for *_NoWait, as the function may not get execured until later when RHI is in a separate thtread and not bypassed. #jira UE-57380 Change 4011956 by Keli.Hlodversson Fix missing includes after CL#4011858 Change 4012096 by Joe.Graf Disabled building AppleVision on Mac until there's a good solution for older Mac OSes Change 4012294 by Jason.Bestimt #DEV-VR - Adding dependency on LuminRuntimeSettings to MagicLeap module. Hopefully, this will fix the generated files not being found Change 4012390 by Jason.Bestimt #DEV-VR - Misc fixes for static code analysis issues - Guards around GEngine usage - Fix from Rolando for uint32 -> uint64 + shifting warning - Redundant if checks Change 4013426 by Jason.Bestimt #DEV-VR - Guarding RestoreBaseProfile so we don't crash on exit #JIRA: UE-57960 Change 4014661 by Ryan.Vance Initial support for omni-directional stereo captures. https://developers.google.com/vr/jump/rendering-ods-content.pdf Change 4015561 by Jason.Bestimt #DEV-VR - Moving MLSDK out of thirdparty directory to fix static code analysis issue Change 4016202 by Jason.Bestimt #DEV-VR - Integrated CL 2685 from Seal depot #JIRA: UEVR-1157 Change 4016448 by Jason.Bestimt #DEV-VR - Adding LuminRuntimeSettings as dependent modules for anything that references the MLSDK Change 4016457 by Ryan.Vance #jira UE-58018 Cleaning up compiler errors/warnings. Change 4017246 by Jason.Bestimt #DEV-VR - Potential fix for UE-58043 where metal asserts that it should be in the render thread rather than either the render thread OR RHI Thread #JIRA: UE-58043 Change 4018571 by Joe.Graf Added a remapping of curve values in a range to the modify curve anim node Change 4018991 by Joe.Graf Wrapped vertical plane detection in a if iOS 11.3 check since ARKit 1.5 is only availabe from 11.3 on #jira: UE-57999 Change 4019068 by Joe.Graf Changed how Apple Vision support is enabled in code #jira: UE-57552 Change 4019194 by Joe.Graf Added a console command to change where Face AR is publishing LiveLink curve data "LiveLinkFaceAR SendTo=192.168.1.1" Change 4019648 by Keli.Hlodversson Work around build failures caused by missing virtual destructor warnings. Reverting back to Oculus' original method of implementing own RHICommand wrapper around TFunctions and TFunctionRefs (using overloaded inline functions and templates to reduce code duplication.) Change 4019871 by Joe.Graf Changed the __IPHONE_11_3 to the raw numeric value Change 4020121 by Keli.Hlodversson Fix parameter types to match header declarations. Change 4020127 by Keli.Hlodversson Remove dllimport/export macros from cpp file. Change 4020621 by Joe.Graf Wrapped the Apple ARKit plane geometry building in a #if IOS_11_3 check Change 4020910 by Joe.Graf Refactored how ARKit support #define to make it easy to wrap individual features by ARKit version Change 4020952 by Joe.Graf Added checks to make sure PLATFORM_IOS and PLATFORM_TVOS are defined to 0 on non-Apple platforms when checking for ARKit Change 4021116 by Jason.Bestimt #DEV-VR - Integrating CL 4005915 from Dev-Core to remove plugin modules that aren't supported on target platform Change 4021320 by Joe.Graf Fixed warnings resulting from unity builds hiding them Change 4021738 by Chad.Garyet - adding lumin filters - changing defaults for platforms back to true, this was brought over erroneously. #jira none #ROBOMERGE: Dogma, Nightlies Change 4021898 by Chad.Garyet added missing bits from the ue4main script #jira none #ROBOMERGE: Dogma, Nightlies Change 4022583 by Joe.Graf Added functions for checking ARKit version availability at runtime Change 4022610 by Joe.Graf Added checks for ARKit 1.0 availability when creating the AR session to prevent calling invalid selectors on older iOSes Change 4022616 by Joe.Graf Added support for enabling the ARKit 1.5 autofocus setting Change 4022650 by Joe.Graf Defaulted autofocus for AR to on Change 4023026 by Joe.Graf Changed the ARKit video overlay to use the new availability api Change 4023124 by Joe.Graf Switched another version check in the ARKit overlay code to use the faster version Change 4023489 by Ethan.Geller [Dev-VR] #jira none fix AudioMixerModuleName for Lumin. #fyi nick.whiting, jason.bestimt Change 4023995 by Nick.Atamas Properly deprecated the bitfield for plane detection mode. #jira UE-57842 Change 4024992 by Jason.Bestimt #DEV-VR - Adding SupportPlatforms to MagicLeapAnalytics plugin Change 4025702 by Jason.Bestimt #DEV-VR - Fix for loading ML libraries even when the MLSDK is not present #JIRA: UE-58033 Change 4026639 by Mike.Beach Removing innocuous Oculus error that did not match up with the rest of the code - it is handled/acceptable when Frame_RenderThread has been reset. #jira UE-58001 Change 4026949 by Mike.Beach MR - Making a few fixes to the lens undistortion and how it interacts with the MRC component... - Switching to a 16bit displacement map instead of a 32bit UV map (updating the materials accordingly) - Using the OpenCV focal ratio to scale the aspect ratio to avoid stretching from the undistortion - Adding CVar commands to enable/disable pieces of the undistortion - Changing the default undistortion cropping to be uncropped - Removing the need for the 'EnableMapping' material parameter #jira UE-55195 Change 4027147 by Jason.Bestimt #DEV-VR - Fix for UE-58043 (more call sites where it should be Render OR RHI thread) #JIRA: UE-58043 Change 4027301 by Mike.Beach Updating the MRCalibration project's ini so it doesn't error on packaging. Change 4027469 by Mike.Beach MR Calibration - Setting StartInVR to true, so when we package the app, we don't have to manually enable it. Change 4027957 by Mike.Beach As part of renaming the MR plugin, first renaming the root folder to be MixedRealityCaptureFramework. #jira UE-57782 Change 4029182 by Keli.Hlodversson Revert back to not enqueuing RHI tasks when RHI is not on a separate thread. Oculus code depends on being able to call ExecuteOnRHIThread from code potentially called from within other calls to ExecuteOnRHIThread. #jira UE-58079 Change 4029687 by Dragan.Jerosimovic Boy rig and pose asset mb files, maps and masks Change 4030059 by Mike.Beach As part of renaming the MR plugin, renaming the inner module to be MixedRealityCaptureFramework. #jira UE-57782 Change 4030296 by Charles.Egenbacher #LUMIN Copying from Dev-Incoming-Staging to Dev-VR Change 4030593 by Jason.Bestimt #DEV-VR - Merging olaf test maps to Dev-VR Change 4031042 by Keli.Hlodversson Allow executing ExecuteOnRHIThread* on the RHI thread. Enables simplifying destructors that can either be invoked on the RHI or Render thread. #jira UE-58239 Change 4031046 by Keli.Hlodversson Use the new XRThreadUtils functions in the HMD module for executing tasks on the RHI thread #jira UE-58238 Change 4032593 by Mike.Beach As part of renaming the MR plugin, renaming the inner module to be MixedRealityCaptureCalibration. #jira UE-57782 Change 4033911 by Jason.Bestimt #DEV-VR - Fix to LuminToolChain to allow it use a custom strip executable (android instead of gcc) Change 4034087 by Mike.Beach Renaming the MR plugin to be the 'MixedRealityCaptureFramework' plugin. #jira UE-57782 Change 4034253 by Joe.Graf Made the Apple Vision plugin use version checking consistent with ARKit Change 4034543 by Joe.Graf Added availability checks for the Apple Image Utils plugin similar to ARKit #jira: UE-57541 Change 4034548 by Joe.Graf Fixed the implicit conversion in the head rotation curves from the face ar feed causing the values to be 0 Change 4034577 by Jason.Bestimt #DEV-VR - Removing MAC Custom Metal present (fixes Mac with -game rendering all black) Change 4034605 by zak.parrish Checking in test case for head rotation tracking - minor temporary change to AnimBP #rb none Change 4034686 by Jason.Bestimt #DEV-VR - Integrating (most of) CL 3980919 to disable instances of deprecation warnings caused by building for ios11 #JIRA: UE-58046 Change 4034799 by Joe.Graf Added base types for detecting images in a AR session Change 4034820 by Joe.Graf Added a friendly name to UARCandidateImage objects Change 4035010 by Joe.Graf Added support for handling ARImageAnchor notifications from ARKit Change 4035355 by Mike.Beach [WIP] MR - Renaming some classes to reflect the plugin's new name. #jira UE-57782 Change 4035464 by Joe.Graf Added orientation to the ARCandidateImage object to pass to the detection system Change 4035524 by Mike.Beach [WIP] MR - More renaming of some classes to better match the plugin's new name. #jira UE-57782 Change 4035606 by Mike.Beach [WIP] MR - More renaming of some classes to better match the plugin's new name. #jira UE-57782 Change 4035918 by Mike.Beach [WIP] MR - Renaming the MrcFramework module's source files to better match the plugin's new name. #jira UE-57782 Change 4035976 by Mike.Beach [WIP] MR - Renaming some more files and classes to better match the MRC framework's new name. #jira UE-57782 Change 4036044 by Ryan.Vance #jira UEVR-377 Adding support for ISR Translucency. Change 4036069 by Ryan.Vance We can remove the last word PrimitiveVisibilityMap masking for ISR since the maps are always the same size between views. Change 4036073 by Chance.Ivey Fixed select blocks on LuminSamplePawn and GesturesAndTotem map to reflect recent changes. Fixes #JIRA UE-58328 #rb none Change 4036307 by Mike.Beach [WIP] MR - Renaming the MRC calibration files to better match the MRC framework's new name. #jira UE-57782 Change 4036314 by Mike.Beach [WIP] MR - Renaming some more calibration classes to better match the MRC framework's new name. #jira UE-57782 Change 4036319 by Charles.Egenbacher #LUMIN this is an out-of-date version of the lumin sample. Nuking. Change 4036396 by Charles.Egenbacher #LUMIN Adding the up to date version of the LuminSample. Change 4036485 by Sorin.Gradinaru UE-57773 Disable Thermals Message #4.20 #iOS Add in the Remote Session App BP an Execute Console Command node immediately after Event Begin Play, disabling all on-screen messages, for all builds. Change 4036695 by Jason.Bestimt #DEV-VR - Adding Lumin case to PrecompileTargetType check Change 4037110 by Jason.Bestimt #DEV-VR - Extra deprecated macro guards around HarfBuzz includes #JIRA: UE-58046 Change 4037443 by Jason.Bestimt #DEV-VR - Merging CL 4028003 from Partners-Google Change 4037490 by Jason.Bestimt #DEV-VR - Integrating CL 4028922 from Partners-Google (+ assignment guarding) Change 4037691 by Jason.Bestimt #DEV-VR - Swapping order of comparrison operator to deal with const error Change 4037892 by Joe.Graf Added UTexture2D to CGImage conversion in Apple Image Utils plugin Change 4037894 by Joe.Graf Changed the name of a property to make it clearer as to what it is and to have fewer things named similar in the same system Change 4037901 by Joe.Graf Added support for configuring which images you'd like detected during a AR session Change 4037906 by Jason.Bestimt #DEV-VR - Fixing buckled logic for =operator (derp) Change 4038293 by Mike.Beach [WIP] MR - Moving the calibration setup/level/content into its own project, and out of the MR plugin. #jira UE-57782 Change 4038403 by Joe.Graf Added the name from the candidate image when creating the Apple side representation Change 4038488 by Mike.Beach [WIP] MR Calibration - Moving calibration specific files to the MRCalibration project, out of the plugin (followup to CL 4038293). This makes the MRCalibration project a code project now. #jira UE-57782 Change 4038776 by Chance.Ivey Updates to Fix for Gestures change. Affects #JIRA UE-58328, though other non-content issues may cause packaging to fail #rb none #fyi Nick.Whiting Change 4038877 by Mike.Beach [WIP] MR - Renaming assets to better match the new plugin name. #jira UE-57782 Change 4039097 by Joe.Graf Fixed the public include path warnings in the Apple* plugins I added Change 4039106 by Joe.Graf Worked around a bad compile time assert that blocked valid FString::Printf debug code Change 4039209 by Jeff.Fisher Fixing one build script paths Change 4039275 by Jeff.Fisher More include path fixes. Change 4039415 by Joe.Graf Added support for remote session sending AR camera image data to be rendered on the host like we do for AR on device Change 4039471 by Joe.Graf Added a file I missed when adding to the remote session plugin Change 4039473 by Joe.Graf #ifdef-ed some code out until the linkage can be fixed Change 4040249 by Mike.Beach [WIP] MR - Moving some more asset files that aren't needed for the MRC plugin #jira UE-57782 Change 4040365 by Mike.Beach Fixing a compiler issue in the MRCalibration project, since moving MRC files there (WITH_OPENCV is not defined for the project). #jira UE-57782 Change 4040455 by Mike.Beach Moving the few remaining methods that were calibration specific, sprinkled through the MRC plugin. #jira UE-57782 Change 4041404 by Mike.Beach Fixing an issue with BP async nodes - making it so their wrapped function can be renamed and redirected. Change 4041406 by Mike.Beach MR - Splitting the Mrc video util library so that the BP functions needed for calibration aren't exposed to users. #jira UE-57782 Change 4042110 by Jason.Bestimt #DEV-VR - Stopping spew for ML eye tracking when not on platform #JIRA: UE-58365 Change 4042407 by Joe.Graf Disabled HEIF compression on Mac #jira: UE-58479 Change 4042727 by Jason.Bestimt #DEV-VR - Fix for Android compiling without version 24 Change 4042861 by Olaf.Piesche #jira UE-57784 Change 4043105 by Mike.Beach Exposing a way for programmers to strip save game headers from save data, and get to the tagged object serialization portion. #jira UE-58389 Change 4043120 by Mike.Beach MR - Loading the base save data, even if we're unable to fully construct the original save object class. #jira UE-58389 Change 4043401 by Mike.Beach New Oculus poke-a-hole material, in support on SI 1.25. Checking in to alleviate QA contention for testing the rest of SI 1.25. #jira UEVR-1143 Change 4043424 by Mike.Beach Oculus SI 1.24/1.25 - Engine rendering changes #jira UEVR-1143 Change 4043495 by Mike.Beach CIS fix - Missing files needed for the Oculus SI 1.24/25 Vulkan changes. #jira UEVR-1143 Change 4043642 by Zak.Parrish Changes to FaceARSample: added in support for JoeG's smoothing algorithm, also refactored calibration to use the new Modify Curves node. Added some more comments to the AnimBp to make it easier to read. #rb none Change 4045638 by Zak.Parrish Some minor updates to FaceARSample content. Mostly refactoring for new ModifyCurve stuff. Change 4046003 by Jason.Bestimt #DEV-VR - Fix for bEnableAlphaChannelInPostProcessing reading in as false for LuminSample bEnableAlphaChannelInPostProcessing translates to r.PostProcessing.PropagateAlpha in ini files #JIRA: UE-58523 Change 4046548 by Jules.Blok Fix SetInstancedEyeIndex() ignoring the left eye. #jira UE-54044 Change 4046859 by zak.parrish Checking in the new rig from 3Lateral - this prevents the eyelashes from separating Change 4047060 by Nick.Whiting Wrapping -norhithread in PLATFORM_LUMIN to prevent the ML plugin from always disabling RHI threading. #jira UEVR-1192 Change 4047667 by Mike.Beach CIS fix - removing uneeded line from bad merge. Change 4047673 by Mike.Beach More CIS fixes for fallout from recent rendering merge. Change 4048227 by Rolando.Caloca VR - vk - Some Vulkan merge conflicts resolved Change 4048421 by Jason.Bestimt #DEV-VR - Converting OwnerName to EventName in UpdateSceneCaptureContent_RenderThread call Change 4048423 by Jason.Bestimt #DEV-VR - Fixing mediandk version check Change 4048452 by Rolando.Caloca VR - Merge fix Change 4048530 by Rolando.Caloca VR - Merge fix Change 4048607 by Jason.Bestimt #DEV-VR - Probable repair of Mr Mesh post merge Change 4048794 by Rolando.Caloca VK - Fix mobile from merge Change 4048972 by Jeff.Fisher Fixing MeshReconstructor merge problems. Change 4049969 by Ryan.Vance Fixing missing shader assert. Change 4050831 by Ryan.Vance Merge clean up. This is still needed to build w/ vulkan on Lumin. Change 4050854 by Ryan.Vance Merge clean up. We need GetAllocationHandle for the ML Vulkan custom present sRGB workaround. Change 4051495 by Jason.Bestimt #DEV-VR - Adding Android, Quail, Linux vulkan include clauses Change 4052528 by Zak.Parrish Changing defaultEngine.ini for the higher res version of Gremlin Change 4052880 by Ryan.Vance Merge clean up. Now with more Lumin #jira UE-58645 Change 4052991 by zak.parrish Update to FaceTrackingMap2 for proper camera positioning Change 4053139 by Nick.Whiting Fixing Lumin Vulkan platform header Change 4053352 by Mike.Beach On PC (in editor), not enabling ML stereo by default. Waiting for it to be enable by the EnableStereo() call (like we do for Oculus/SteamVR). #jira UE-57991 Change 4053644 by Nick.Whiting Fix for build break by wrapping bStereoDesired in !PLATFORM_LUMIN Change 4054329 by Jason.Bestimt #DEV-VR - Resave of GoogleARCorePassthroughCameraMaterial.uasset #JIRA: UE-58689 Change 4054785 by Mike.Beach Fixing a MRCalibration BP compilation error from the latest merge - was using a deprecated variable which was no longer exposed to BPs. Change 4055466 by Jules.Blok Suppress SteamVR submission errors after they've been logged once. Change 4055500 by Jason.Bestimt #DEV-VR - MrMeshComponent fix for unsupported pixel format #JIRA: UE-58759 Change 4055761 by Ryan.Vance #jira UE-58729 There's a single frame where the TLV textures are not initialized when using FCanvasTileRendererItem on startup. Change 4056008 by Mike.Beach Fixing bad merge from Main. Change 4056616 by Nick.Whiting Changing UBT configs to use Lumin-specific config files #jira UE-58760 Change 4056969 by Keli.Hlodversson MRCalibration: Set r.SceneRenderTargetResizeMethod to "Grow" to avoid cycling the scene render target size on every frame causing a flicker #jira UE-58191 Change 4057356 by Jason.Bestimt #DEV-VR - Guard around JNI function for Lumin Change 4059353 by Nick.Whiting Fix for shadow variable warnings on Linux #jira UE-58843 Change 4060158 by Rolando.Caloca DVR - vk - Temporarily add backbuffer delay/extra copy blit on android #jira UE-58859 Change 4060432 by Mike.Beach Fix for shadow variable warnings on Linux #jira UE-58843 Change 4060520 by Rolando.Caloca VR - Proper fix for r.Vulkan.DelayAcquireBackBuffer=0 - Restore Android to not delay #jira UE-58859 Change 4060587 by Nick.Whiting Fix for minimum iOS version being set to iOS 8 on MRCalibration, which was causing CIS warnings #jira UE-58762 Change 4061277 by Jeff.Fisher UE-58861 //UE4/Dev-VR - Compile UE4Game Lumin - ERROR: MLSDK is not specified; cannot use Lumin toolchain. -Overriding HasAnySDK to setup the MLSDK. Change 4061308 by Jason.Bestimt #DEV-VR - Work around of UE-58864 crashing when mousing over project launcher with only a Lumin device plugged in #JIRA: UE-58864 Change 4062111 by Ryan.Vance #jira UE-58875 Fixing audio compilation failure. Change 4064091 by Jason.Bestimt #DEV-VR - Disabling ML Plugin with the editor when bIsVDZIEnabled is off #JIRA: UE-58954 Change 4064554 by Jason.Bestimt #DEV-VR - Removing ML haptic tests when not on the platform #JIRA: UE-58966 Change 4064755 by Jeff.Fisher UE-58970 Dev-VR - Incremental UE4Editor Linux - Referenced directory 'D:\Build\AutoSDK\HostWin64\Lumin\0.12\lib\linux64' does not exist. -Removed linux from magicleap plugin whitelists, we have no sdk for linux. #review-4064614 #jira UE-58970 [CL 4064889 by Mike Beach in Main branch]
2018-05-10 14:17:01 -04:00
void* PlatformOpenGLCurrentContextHandle(FPlatformOpenGLDevice* Device)
{
return GetCurrentContext();
}
void PlatformGetBackbufferDimensions( uint32& OutWidth, uint32& OutHeight )
{
OutWidth = OutHeight = 0;
HDC DeviceContext = wglGetCurrentDC();
if( DeviceContext )
{
OutWidth = GetDeviceCaps( DeviceContext, HORZRES );
OutHeight = GetDeviceCaps( DeviceContext, VERTRES );
}
}
// =============================================================
struct FOpenGLReleasedQuery
{
HGLRC Context;
GLuint Query;
};
static TArray<FOpenGLReleasedQuery> ReleasedQueries;
static FCriticalSection* ReleasedQueriesGuard;
void PlatformGetNewRenderQuery( GLuint* OutQuery, uint64* OutQueryContext )
{
if( !ReleasedQueriesGuard )
{
ReleasedQueriesGuard = new FCriticalSection;
}
{
FScopeLock Lock(ReleasedQueriesGuard);
#ifdef UE_BUILD_DEBUG
check( OutQuery && OutQueryContext );
#endif
HGLRC Context = GetCurrentContext();
check( Context );
GLuint NewQuery = 0;
// Check for possible query reuse
const int32 ArraySize = ReleasedQueries.Num();
for( int32 Index = 0; Index < ArraySize; ++Index )
{
if( ReleasedQueries[Index].Context == Context )
{
NewQuery = ReleasedQueries[Index].Query;
ReleasedQueries.RemoveAtSwap(Index);
break;
}
}
if( !NewQuery )
{
FOpenGL::GenQueries( 1, &NewQuery );
}
*OutQuery = NewQuery;
*OutQueryContext = (uint64)Context;
}
}
void PlatformReleaseRenderQuery( GLuint Query, uint64 QueryContext )
{
HGLRC Context = GetCurrentContext();
if( (uint64)Context == QueryContext )
{
FOpenGL::DeleteQueries(1, &Query );
}
else
{
FScopeLock Lock(ReleasedQueriesGuard);
#ifdef UE_BUILD_DEBUG
check( Query && QueryContext && ReleasedQueriesGuard );
#endif
FOpenGLReleasedQuery ReleasedQuery;
ReleasedQuery.Context = (HGLRC)QueryContext;
ReleasedQuery.Query = Query;
ReleasedQueries.Add(ReleasedQuery);
}
}
void DeleteQueriesForCurrentContext( HGLRC Context )
{
if( !ReleasedQueriesGuard )
{
ReleasedQueriesGuard = new FCriticalSection;
}
{
FScopeLock Lock(ReleasedQueriesGuard);
for( int32 Index = 0; Index < ReleasedQueries.Num(); ++Index )
{
if( ReleasedQueries[Index].Context == Context )
{
FOpenGL::DeleteQueries(1,&ReleasedQueries[Index].Query);
ReleasedQueries.RemoveAtSwap(Index);
--Index;
}
}
}
}
bool PlatformContextIsCurrent( uint64 QueryContext )
{
return (uint64)GetCurrentContext() == QueryContext;
}
FOpenGLTexture* PlatformCreateBuiltinBackBuffer(FOpenGLDynamicRHI* OpenGLRHI, uint32 SizeX, uint32 SizeY)
{
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3793423) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3771581 by Chris.Babcock Add proxy support for Android #jira UE-52671 #ue4 #android Change 3771990 by Jack.Porter Fixed a crash when duplicating a landscape level in a cooked build. #jira UE-46550 Change 3772922 by Allan.Bentham Convert half float texture coordinates to float during serialize if HW does not support halfs. #jira UE-52397 Change 3772973 by Allan.Bentham Add GLES3.1 compatibility mode to mobile preview. Use -GLESCompat alongside -featureleveles31 to run windows mobile preview with android ES3.1 shaders. Change 3775585 by Cosmin.Sulea Safe zone rotation iPhoneX #jira UEMOB-52138 Change 3776702 by Peter.Sauerbrei addition of missing default icons #jira UE-52387 Change 3776775 by Peter.Sauerbrei fix for marketing icon size in the project settings #jira UE-52388 Change 3777336 by Peter.Sauerbrei properly call OnOpenURL in the main thread start if the engine hasn't been initialized previously fix courtesy of sangpan #jira UE-51133 Change 3777602 by Dmitriy.Dyomin Fxied: Project fails to package for Android with RenderDoc debugger enabled #jira UE-52758 Change 3778247 by Bogdan.Vasilache UE-50257 --> Skeletal meshes silently fail to render if they have more than 75 bones #jira UE-50257 Change 3778318 by Peter.Sauerbrei copy NSLocalizationfiles from Build/IOS/Resources/Localizations courtesty of alexchicn #jira UE-52317 Change 3778597 by Allan.Bentham Mobile support for CSM shader culling with movable lights. Add 'Support movable light CSM shader culling' option to render settings. (default on) Add new culling mode which tests against only the shadow receiving frustum, saves on CPU searching for shadow casters intersects. (default cull mode.) Add FPrimitiveSceneProxy.bReceiveMobileCSMShadows which now applies to both stationary and movable lights. (default = true) removed FPrimitiveSceneProxy.bReceiveCombinedCSMAndStaticShadowsFromStationaryLights removed 'r.AllReceiveDynamicCSM' cvar Change 3778703 by Allan.Bentham Mobile CSM distance fading. Change 3780805 by Allan.Bentham Attempt to silence CIS static analysis. Change 3781098 by Allan.Bentham Pass per project maximum shadow cascade value to mobile shader compile environment. CSM shaders no longer loop over non-existant cascades. Change 3781155 by Chris.Babcock Fix support for GL_OES_standard_derivatives on Android (contributed by jlc-innerspace) #jira UE-52872 #PR #4267 #ue4 #android Change 3785116 by Peter.Sauerbrei fix for new iOS 11 api being called on iOS 9, 10 #jia UE-52912 Change 3785240 by Chris.Babcock Updated Android SDK license agreement #jira UE-52788 #ue4 #android Change 3786652 by Cosmin.Sulea UE-50381 - Using FMallocProfiler extremely slow resolving symbols on iOS - .udebugsymbols approach #jira UE-50381 Change 3787587 by Chris.Babcock Fix oversized UMG Designed button #jira UE-53014 #ue4 Change 3772888 by Cosmin.Sulea UE-52138 - Add support to UMG safe zone to be off-center for iPhone X #jira UE-52138 [CL 3793429 by Chris Babcock in Main branch]
2017-12-06 19:54:50 -05:00
if (FOpenGL::IsAndroidGLESCompatibilityModeEnabled())
{
const FRHITextureCreateDesc Desc =
FRHITextureCreateDesc::Create2D(TEXT("PlatformCreateBuiltinBackBuffer"), SizeX, SizeY, PF_B8G8R8A8)
.SetClearValue(FClearValueBinding::Transparent)
.SetFlags(ETextureCreateFlags::RenderTargetable | ETextureCreateFlags::Presentable | ETextureCreateFlags::ResolveTargetable)
.DetermineInititialState();
return new FOpenGLTexture(Desc);
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3793423) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3771581 by Chris.Babcock Add proxy support for Android #jira UE-52671 #ue4 #android Change 3771990 by Jack.Porter Fixed a crash when duplicating a landscape level in a cooked build. #jira UE-46550 Change 3772922 by Allan.Bentham Convert half float texture coordinates to float during serialize if HW does not support halfs. #jira UE-52397 Change 3772973 by Allan.Bentham Add GLES3.1 compatibility mode to mobile preview. Use -GLESCompat alongside -featureleveles31 to run windows mobile preview with android ES3.1 shaders. Change 3775585 by Cosmin.Sulea Safe zone rotation iPhoneX #jira UEMOB-52138 Change 3776702 by Peter.Sauerbrei addition of missing default icons #jira UE-52387 Change 3776775 by Peter.Sauerbrei fix for marketing icon size in the project settings #jira UE-52388 Change 3777336 by Peter.Sauerbrei properly call OnOpenURL in the main thread start if the engine hasn't been initialized previously fix courtesy of sangpan #jira UE-51133 Change 3777602 by Dmitriy.Dyomin Fxied: Project fails to package for Android with RenderDoc debugger enabled #jira UE-52758 Change 3778247 by Bogdan.Vasilache UE-50257 --> Skeletal meshes silently fail to render if they have more than 75 bones #jira UE-50257 Change 3778318 by Peter.Sauerbrei copy NSLocalizationfiles from Build/IOS/Resources/Localizations courtesty of alexchicn #jira UE-52317 Change 3778597 by Allan.Bentham Mobile support for CSM shader culling with movable lights. Add 'Support movable light CSM shader culling' option to render settings. (default on) Add new culling mode which tests against only the shadow receiving frustum, saves on CPU searching for shadow casters intersects. (default cull mode.) Add FPrimitiveSceneProxy.bReceiveMobileCSMShadows which now applies to both stationary and movable lights. (default = true) removed FPrimitiveSceneProxy.bReceiveCombinedCSMAndStaticShadowsFromStationaryLights removed 'r.AllReceiveDynamicCSM' cvar Change 3778703 by Allan.Bentham Mobile CSM distance fading. Change 3780805 by Allan.Bentham Attempt to silence CIS static analysis. Change 3781098 by Allan.Bentham Pass per project maximum shadow cascade value to mobile shader compile environment. CSM shaders no longer loop over non-existant cascades. Change 3781155 by Chris.Babcock Fix support for GL_OES_standard_derivatives on Android (contributed by jlc-innerspace) #jira UE-52872 #PR #4267 #ue4 #android Change 3785116 by Peter.Sauerbrei fix for new iOS 11 api being called on iOS 9, 10 #jia UE-52912 Change 3785240 by Chris.Babcock Updated Android SDK license agreement #jira UE-52788 #ue4 #android Change 3786652 by Cosmin.Sulea UE-50381 - Using FMallocProfiler extremely slow resolving symbols on iOS - .udebugsymbols approach #jira UE-50381 Change 3787587 by Chris.Babcock Fix oversized UMG Designed button #jira UE-53014 #ue4 Change 3772888 by Cosmin.Sulea UE-52138 - Add support to UMG safe zone to be off-center for iPhone X #jira UE-52138 [CL 3793429 by Chris Babcock in Main branch]
2017-12-06 19:54:50 -05:00
}
return nullptr;
}
void* PlatformGetWindow(FPlatformOpenGLContext* Context, void** AddParam)
{
check(Context && Context->WindowHandle);
return (void*)&Context->WindowHandle;
}