2016-12-08 08:52:44 -05:00
|
|
|
// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
|
2014-03-14 14:13:41 -04:00
|
|
|
|
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 "CoreMinimal.h"
|
|
|
|
|
#include "GenericPlatform/GenericPlatformStackWalk.h"
|
|
|
|
|
#include "Misc/Paths.h"
|
2014-03-14 14:13:41 -04:00
|
|
|
#include "ImageCore.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 "Modules/ModuleManager.h"
|
|
|
|
|
#include "Interfaces/ITextureFormat.h"
|
|
|
|
|
#include "Interfaces/ITextureFormatModule.h"
|
2014-03-14 14:13:41 -04:00
|
|
|
#include "TextureCompressorModule.h"
|
|
|
|
|
#include "PixelFormat.h"
|
|
|
|
|
#include "TextureConverter.h"
|
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3232619)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3121996 on 2016/09/12 by Ben.Marsh
Add support for Visual Studio 2017 (aka "15"; assuming consistent naming with other versions until final name is announced).
* Compiler, STL implementation and CRT are binary compatible with VS2015 (see https://blogs.msdn.microsoft.com/vcblog/2016/08/24/c1417-features-and-stl-fixes-in-vs-15-preview-4/), so no new third-party libraries needed so far. WindowsPlatform.GetVisualStudioCompilerVersionName() returns "2015" as a result.
* Default compiler for compiling and generating project files is still VS 2015 for now. Pass -2017 on the command line to GenerateProjectFiles.bat to generate VS2017 projects. Projects generated for VS2017 will use the 2017 compiler by default.
* Visual Studio source code accessor can talk to VS 2017 instances.
* Added a VS2017 configuration for UnrealVS, and added precompiled vsix package.
* Switched GetVSComnTools to check the SOFTWARE\Microsoft\VisualStudio\SxS\VS7 registry key rather than the individual product install registry key. "15" doesn't seem to have it's own "InstallDir" key, but this system seems to work for all versions of Visual Studio (including previous releases of VS Express).
* Removed ATL dependency from VisualStudioSourceCodeAccessor. It's not installed with VS by default any more, and is only used for a couple of smart pointer classes.
Tested running the editor and packaging TP_Flying for Win64. Packaging from the editor still defaults to using the 2015 compiler, so ConfigureToolchain() needs to be overriden from the .target.cs file if multiple Visual Studio versions are installed.
Change 3189363 on 2016/11/07 by Ben.Marsh
Consolidate functionality for determining the path to MSBuild.exe to use for compiling UE4 tools into a single batch file (GetMSBuildToolPath) and fix "Clean" not working on PS4 due to include/library paths being set to something by the Visual Studio environment.
Change 3210598 on 2016/11/27 by Ben.Marsh
UBT: Prevent the name of each file compiled being output twice on XboxOne. Compiler already outputs this string; the action doesn't need to.
Change 3210601 on 2016/11/27 by Ben.Marsh
PR #2967: Add silent version of switch game version (Contributed by EricLeeFriedman)
Change 3210602 on 2016/11/27 by Ben.Marsh
PR #2964: GitDependencies shouldn't try to clean up working directory files that are excluded or ignored (Contributed by joelmcginnis)
Change 3210605 on 2016/11/27 by Ben.Marsh
UGS: Add a warning when syncing latest would remove changes that have been authored locally. Typically happens when working with precompiled binaries.
Change 3211656 on 2016/11/28 by Ben.Marsh
UBT: Move ModuleRules and TargetRules into their own file.
Change 3211797 on 2016/11/28 by Ben.Marsh
UBT: Remove utility functions from TargetRules for checking different classes of target types. Moving TargetRules to be data-only.
Change 3211833 on 2016/11/28 by Ben.Marsh
UBT: Remove overridable configuration name from target rules. This feature is not used anywhere.
Change 3211859 on 2016/11/28 by Ben.Marsh
UBT: Deprecate the GetGeneratedCodeVersion() callback in favor of a member variable instead.
Change 3211942 on 2016/11/28 by Ben.Marsh
UBT: Remove legacy code which tries to change the output paths for console binaries. Output paths for monolithic binaries are always in the project folder now.
Change 3215333 on 2016/11/30 by Ben.Marsh
UBT: Replace the GetSupportedPlatforms() callback on TargetRules with a SupportedPlatforms attribute. Since a TargetRules object can only be instantiated with an actual platform, it doesn't make sense for it to be an instance method.
Change 3215482 on 2016/11/30 by Ben.Marsh
UBT: Remove the GetSupportedConfigurations() callback on the TargetRules class. A configuration is required to construct a TargetRules instance, so it doesn't make sense to need to call an instance method to find out which configurations are supported.
Change 3215743 on 2016/11/30 by Ben.Marsh
UBT: Deprecate the TargetRules.ShouldCompileMonolithic() function: this function requires access to the global command line to operate correctly, which prevents creating target-specific instances, and does not use the platform/configuration passed into the TargetRules constructor.
Rather than being a callback, the LinkType field can now be set to TargetLinkType.Modular or TargetLinkType.Monolithic from the constructor as appropriate. The default value (TargetLinkType.Default) results in the default link type for the target type being used. Parsing of the command-line overrides is now done when building the TargetDescriptor.
Change 3215778 on 2016/11/30 by Ben.Marsh
UBT: Mark overrides of the TargetRules.GetModulesToPrecompile method as obsolete.
Change 3217681 on 2016/12/01 by Ben.Marsh
UAT: Prevent UE4Build deleting .modules files when running with the -Clean argument; these files are artifacts generated by UBT itself, not by the exported XGE script.
Change 3217723 on 2016/12/01 by Ben.Marsh
UBT: Run pre- and post-build steps for all plugins that are being built, not just those that are enabled.
Change 3217930 on 2016/12/01 by Ben.Marsh
UGS: Add a perforce settings window, allowing users to set optional values for tuning Perforce performance on unreliable connections.
Change 3218762 on 2016/12/02 by Ben.Marsh
Enable warnings whenever an undefined macro is used in a constant expression inside an #if or #elif directive, and fix existing violations.
Change 3219161 on 2016/12/02 by Ben.Marsh
Core: Use the directory containing the current module to derive the UE4 base directory, rather than the executable directory. Allows UE4 to be hosted by a process in a different directory.
Change 3219197 on 2016/12/02 by Ben.Marsh
Core: When loading a DLL from disk, convert any relative paths to absolute before calling LoadLibrary. The OS resolves these paths relative to the directory containing the process executable -- not the working directory -- so paths need to be absolute to allow UE4 to be hosted by a process elsewhere.
Change 3219209 on 2016/12/02 by Ben.Marsh
Replace some calls to LoadLibrary() with FPlatformProcess::GetDllHandle(). The UE4 function makes sure that relative paths are resolved relative to the correct base directory, which is important when the host executable is not in Engine/Binaries/Win64.
Change 3219610 on 2016/12/02 by Ben.Marsh
Add the -q (quiet) option to the Mac unzip command, since it's creating too much log output to be useful.
Change 3219731 on 2016/12/02 by Ben.Marsh
UBT: Add option to disable IWYU checks regarding the use of monolithic headers (Engine.h, UnrealEd.h, etc...) and including the matching header for a cpp file first. bEnforceIWYU can be set to false in UEBuildConfiguration or on a per-module basis in the module rules.
Change 3220796 on 2016/12/04 by Ben.Marsh
Remove PrepForUATPackageOrDeploy from the UEBuildDeploy base class. It never has to be accessed through the base class anyway.
Change 3220825 on 2016/12/04 by Ben.Marsh
UBT: Change all executors to derive from a common base class (ActionExecutor).
Change 3220834 on 2016/12/04 by Ben.Marsh
UBT: Remove the global CommandLineContains() function.
Change 3222706 on 2016/12/05 by Ben.Marsh
Merging CL 3221949 from //UE4/Release-4.14: Fixes to code analysis template causing problems with stock install of VS2017.
Change 3222712 on 2016/12/05 by Ben.Marsh
Merging CL 3222021 from //UE4/Release-4.14: Change detection of MSBuild.exe path to match GetMSBuildPath.bat
Change 3223628 on 2016/12/06 by Ben.Marsh
Merging CL 3223369 from 4.14 branch: Use the same logic as GetMsBuildPath.bat inside FDesktopPlatformBase to determine path to MSBuild.exe
Change 3223817 on 2016/12/06 by Ben.Marsh
Remove non-ANSI characters from source files. Compiler/P4 support is patchy for this, and we want to avoid failing prey to different codepages resulting in different interpretations of the source text.
Change 3224046 on 2016/12/06 by Ben.Marsh
Remove the need for the iOS/TVOS deployment instances to have an IOSPlatformContext instance. The only dependency between the two -- a call to GetRequiredCapabilities() -- is now implemented by querying the INI file for the supported architectures when neeeded.
Change 3224792 on 2016/12/07 by Ben.Marsh
UBT: Touch PCH wrapper files whenever the file they include is newer rather than writing the timestamp for the included file into it as a comment. Allows use of ccache and similar tools.
Change 3225212 on 2016/12/07 by Ben.Marsh
UBT: Move settings required for deployment into the UEBuildDeployTarget class, allowing them to be serialized to and from a file the intermediate directory without having to construct a phony UEBuildTarget to deploy.
Deployment is now performed by a method on UEBuildPlatform, rather than having to create a UEBuildPlatformContext and using that to create a UEBuildDeploy object.
The -prepfordeploy UBT invocation from UAT, previously done by the per-platform PostBuildTarget() callback when building with XGE, is replaced by running UBT with a path to the serialized UEBuildDeployTarget object, and can be done in a platform agnostic manner.
Change 3226310 on 2016/12/07 by Ben.Marsh
PR #3015: Fixes wrong VSC++ flags being passed for .c files (Contributed by badlogic)
Change 3228273 on 2016/12/08 by Ben.Marsh
Update copyright notices for QAGame.
Change 3229166 on 2016/12/09 by Ben.Marsh
UBT: Rewritten config file parser. No longer requires hard-coded list of sections to be parsed, but parses them on demand. Measured 2x faster read speeds (largely due to eliminating construction of temporary string objects when parsing each line, to trim whitespace and so on). Also includes an attribute-driven parser, which allows reading named config values for marked up fields in an object.
Change 3230601 on 2016/12/12 by Ben.Marsh
Swarm: Change Swarm AgentInterface to target .NET framework 4.5, to remove dependency on having 4.0 framework installed.
Change 3230737 on 2016/12/12 by Ben.Marsh
UAT: Stop UE4Build deriving from CommandUtils. Confusing pattern, and causes problems trying to access instance variables that are only set for build commands.
Change 3230751 on 2016/12/12 by Ben.Marsh
UAT: Move ParseParam*() functions which use the instanced parameter list from CommandUtils to BuildCommand, since that's the only thing that it's instanced for.
Change 3230804 on 2016/12/12 by Ben.Marsh
UBT: Add the IsPromotedBuild flag to Build.version, and only set the bFormalBuild flag in UBT if it's set. This allows UGS users to avoid having to compile separate RC files for each output binary.
Change 3230831 on 2016/12/12 by Ben.Marsh
UGS: Warn when trying to switch streams if files are checked out.
Change 3231281 on 2016/12/12 by Chad.Garyet
Fixing a bug where .modules files were getting put into receipts with their absolute path instead of their relative one
Change 3231496 on 2016/12/12 by Ben.Marsh
Disable code analysis in CrashReportProcess; causes warnings when compiled with VS2015.
Change 3231979 on 2016/12/12 by Ben.Marsh
UBT: Suppress LNK4221 when generating import libraries. This can happen often when generating import libraries separately to linking.
Change 3232619 on 2016/12/13 by Ben.Marsh
Fix "#pragma once in main file" errors on Mac, which are occurring in //UE4/Main.
[CL 3232653 by Ben Marsh in Main branch]
2016-12-13 11:58:16 -05:00
|
|
|
#include "HAL/PlatformProcess.h"
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
DEFINE_LOG_CATEGORY_STATIC(LogTextureFormatAndroid, Log, All);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Macro trickery for supported format names.
|
|
|
|
|
*/
|
|
|
|
|
#define ENUM_SUPPORTED_FORMATS(op) \
|
|
|
|
|
op(ATC_RGB) \
|
|
|
|
|
op(ATC_RGBA_E) \
|
|
|
|
|
op(ATC_RGBA_I) \
|
|
|
|
|
op(AutoATC) \
|
|
|
|
|
op(ETC1) \
|
|
|
|
|
op(AutoETC1) \
|
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3771565)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3627858 by Sorin.Gradinaru
#jira UE-48948 Crash when pressing backspace on empty line
Fixed:
UE-48948 Backspace on empty line crashes app (virtual keyboard)
UE-49112 Virtual keyboard text field isn't visible after rotating from landscape to portrait
UE-49117 Chinese and Korean virtual keyboards don't allow native characters
UE-49120 Virtual keyboard number pad "kicks" user back to regular keyboard
UE-49121 Gboard and Swift swipe entry are not supported by Virtual keyboard
UE-49124 Cursor in virtual keyboard and UMG don't match
UE-49128 Virtual Keyboard text field doesn't appear if there is too much text
UE-49141 Virtual keyboard is unresponsive with repeated tapping in control (some devices)
UE-49139 Tapping in the same text box doesn't make the virtual keyboard disappear
Change 3630732 by Sorin.Gradinaru
#jira UE-43488 GitHub 3440 : Fixes exposure with planar reflections.
#3440
Cancelled the applied exposure scale for non-hdr mobile
Change 3631436 by Nick.Shin
HTML5
recommended fix for "RuntimeError: integer result unrepresentable" from the emscripten makers
#jira UE-49059 HTML5 - Unable to launch project onto HTML 5 from editor
Change 3632689 by Sorin.Gradinaru
#jira UE - 49301 Text in UMG controls flickers during update from Virtual Keyboard
Full refresh of the Slate control for Android experimental VK - the control has focus, but the cursor was removed
Change 3632769 by Adrian.Chelu
#jira UEMOB-403 Improvements to "Device Mobile Preview" feature
Change 3633305 by Allan.Bentham
Print out the callstack when a fatal error occurs.
Change 3633510 by Chris.Babcock
Remove unneeded logging
#jira none
Change 3634827 by Adrian.Chelu
#fixed build editor buildsystem linux
Change 3640610 by Adrian.Chelu
#fixed Cook Win64 warnings
#fixed UE4Editor Static Analysis Win64 warnings
Change 3663057 by Sorin.Gradinaru
UE-49301 Text in UMG controls flickers during update from Virtual Keyboard
#jira UE-49301
#ue4
#android
On some Android devices TextWatcher.onTextChanged gets called multiple times when typing/deleting the content of a EditText (internally, the first call resets the entire content, the second fills it with the new value)
The workaround is to delays sending "empty string" to the Slate, waiting for 100ms to see if there is a second call (the "real" string to update)
The CL contains a fix for a 5/5 crash : select some/all the text from the native edittext, press delete.
Change 3663630 by Jack.Porter
Fix shader compile error on Galaxy S6
Change 3663972 by Allan.Bentham
add ES3.1 framebuffer fetch.
#jira UE-46251
Change 3671843 by Nick.Shin
HTML5 - silence CIS warnings (changed to INFO message type)
#jira UE-50415 ( Pri:1 - 4.18 ) //UE4/Release-4.18: Step "Package ShooterClient HTML5" has completed with 1 Warning: "File packager is creating an asset bundle of 815 MB. This is very large"
Change 3677675 by Sorin.Gradinaru
Android Experimental Virtual Keyboard 4.18 issues
#jira UE-49124 Cursor in virtual keyboard and UMG don't match
#jira UE-49139 Tapping in the same text box doesn't make the virtual keyboard disappear
#jira UE-49141 Virtual keyboard is unresponsive with repeated tapping in control (some devices)
#ue4
#android
UE-49124 Cursor in virtual keyboard and UMG don't match - change in SlateTextLayout.cpp - OnPaint() don't display the cursor
Changed the show/hide vk routines (Game activity.java) to solve low-repro, Android O issues related to multiple click events.
Should also be tested with multiple text boxes (fast click in/out different types of TextBox controls)
Change 3681555 by Adrian.Chelu
UEMOB-403 Improvements to "Device Mobile Preview" feature
Change 3692020 by Sorin.Gradinaru
#jira UE-50645 Carriage returns can be pasted into single line UMG fields on Android
#ue4
#4.19
#android
Change 3692741 by Sorin.Gradinaru
Andoid 3D WebBrowser
#jira UE-32740 Web Browser on a Widget Component appears to be 2D when launching on to Android
#ue4
#android
Change 3695475 by Chris.Babcock
Per project Android NDK/SDK API settings
#jira UEMOB-394
#ue4
#android
Change 3701364 by Dmitriy.Dyomin
Fixed: WEX - Android - Log spammed with "LogRHI: Error: Unsupported EPixelFormat 28"
#jira UE-50714
Change 3701664 by Jack.Porter
Fix typo
Change 3702355 by Cosmin.Sulea
UEMOB-393 - Support "ETC 1.5" packaging
#jira UEMOB-393
Change 3704950 by Chris.Babcock
Add verification of support for cooked texture format(s) on device at runtime (optional with Validate texture formats checkbox in Android project settings) and skipped for cook on the fly
#jira UE-50837
#ue4
#android
Change 3709817 by Nick.Shin
HTML5 - silence CIS warnings (changed to INFO message type)
finally have a repo case to test this proper fix
#jira UE-50415 ( Pri:1 - 4.18 ) "Package ShooterClient HTML5" has completed with 1 Warning: "File packager is creating an asset bundle of 815 MB. This is very large"
Change 3717598 by Chris.Babcock
Fix Android icon paths
#jira UE-51585
#ue4
#android
Change 3718456 by Adrian.Chelu
#fixed spelling in category localized name
Change 3719643 by Nick.Shin
nuke PLATFORM_HTML5_WIN32
more "old" code to remove
#jira UEMOB-433 Remove Win32 SDL "HTML5 Simulator" code
Change 3720342 by Nick.Shin
HTML5 redirect logs to console window
#jira UE-50747 HTML5 log is not easily accessible to users
Change 3720652 by Sorin.Gradinaru
UE-50382 Xcode Address Sanitizer feature does not work on iOS
#jira 50382
#iOS
#ue4
Address sanitizer dylib loader depends on the default SDKROOT parameter (<scheme> => Build Settings => Base SDK => <Build Configuration>)
For macosx or missing (also translated as macosx), the path is incorrect for iphone/appletv.
Change 3720654 by Sorin.Gradinaru
UE-48499 Android Voice Module has a few issues
#jira 48499
#Android
#ue4
1.Circular Buffer: Does the engine already have an implementation? Do we want this into core libraries?
R: There is an generic template class TCircularBuffer, but it lacks functionality like write/read checks, reading/writing data chunks.
Plus the code from VoiceModuleAndroid is optimized for circular byte array. I suggest to keep it.
2. Possible memory leaks: void free_circular_buffer (circular_buffer *p) is implemented, but not used. Presumably a memory leak on the variable inrb. Does CreateAudioRecorder need to be paired with any kind of destroy on shutdown?
R: Fixed. Using an array ActiveVoiceCaptures to store VoiceCapture references (same as on Windows)
3. Init() There are 4 calls to setup/init things that store the result in "result" but only the last call is checked against success. Should more checks against the values be made at each stage with informative log messaging in the event of failure?
R: Fixed.
4. GetVoiceData()
// Workaround for dealing with noise after stand-by
while(bytes<InVoiceBufferSize)
{
OutVoiceBuffer[bytes++]=0;
}
Isn't this just a memzero?
R: Fixed.
5. Missing features. Need to implement GetBufferSize and DumpState
R: Added GetBufferSize. Can be used like in TestVoice.cpp
DumpState is never used (same on Mac, iOS), plus the OpenSL objects do not expose internal properties.
Change 3722554 by Cosmin.Sulea
UE-44224 - iOS - Remote Build - rsync error: files not transferred
#jira UE-44224
Change 3723265 by Allan.Bentham
Assign a texture format priority for ETC1a.
prevents launch on from using ETC1a all the time..
Change 3729764 by Dmitriy.Dyomin
Removed deprecated LightmapUVBias, ShadowmapUVBias from instanced static mesh component per-instance data (80 -> 64 bytes)
Change 3729899 by Dmitriy.Dyomin
Fixed tiled landcape re-import
Change 3730895 by Bogdan.Vasilache
UEMOB-442 --> [ Support texture streaming on Android ES 3.1 ]
#jira UEMOB-442
Change 3733463 by Chris.Babcock
Return error for external texture if not used in pixel shader
#jira UE-51763
#ue4
Change 3736226 by Chris.Babcock
Change ExposureScale to PreExposure
#jira UE-52007
#jira UE-51691
#ue4
#android
Change 3740509 by Allan.Bentham
Add LQ (direct lighting from stationary spot/point lights) to volumetric lightmaps.
#jira UE-50551
Change 3740586 by Cosmin.Sulea
UE-51747 - GitHub 4174 : [BUG-FIX] Invalid ASTC texture versioning is corrected.
#jira UE-51747
Change 3741110 by Chris.Babcock
Fix functional code in checks removed for shipping
#ue4
Change 3741117 by Chris.Babcock
Fix checkin error for check -> ensure fix
#ue4
Change 3741156 by Chris.Babcock
Swap order of SDK and NDK overrides in menu to match Android SDK settings
#jira UE-52019
#ue4
#android
Change 3741271 by Chris.Babcock
Use final NDK and SDK levels only in UEBuildSettings.txt and rename the overrides to be clearer
#jira UE-52058
#ue4
#android
Change 3741464 by Chris.Babcock
Add NDK and SDK platform validation (installed) for Android
#jira UE-52069
#ue4
#android
Change 3744602 by Josh.Adams
From Meerkat: - Added optional 0 or 1 param to showlayer that will set the visibility instead of toggling it for entire layer
Change 3744603 by Josh.Adams
From Meerkat: - Fixed a comment about debug view modes on consoles
Change 3744607 by Josh.Adams
From Meerkat: - Added HWInstances to the PrimitiveStats view in Statistics window
Change 3754890 by Chris.Babcock
Updated IntelISPCTexComp DLLs to fix crashes with some processors on Windows
#jira UE-52281
#ue4
Change 3755147 by Jack.Porter
Fixed Google Cardboard rendering upside down on iPhone 6S+
#jira UE-38555
Change 3755458 by Cosmin.Sulea
UE-47801 - RSync Error when Generating SSH Key for Remote Mac Building when Mac username contains a space
#jira UE-47801
Change 3755492 by Jack.Porter
Fix merge error
Change 3759140 by Bogdan.Vasilache
UE-52396 --> Assertion in FOpenGLDynamicRHI::CreateOpenGLTexture when launching on Mali Galaxy S III
#jira UE-52396
Change 3760536 by Sorin.Gradinaru
UE-51262 values for pinch input produce very different results for same area on android device
#jira 51262
#iOS
#Android
#ue4
1. When the pinch goes beyond the viewport boundaries (when zooming out), the touch that goes off-screen is "released" and the zooming effect is over.
Solved by remembering last pinch event values
2. "Hack" the initial distance for the pinch/ rotate, by touching the screen and moving the finger to another position before using the second finger.
Solved by using the correct values when the pinch event starts
Change 3761279 by Chris.Babcock
Flag vertex and fragment shaders belonging to materials with external textures
#jira UE-52398
#ue4
#android
Change 3761494 by Chris.Babcock
Fix access to FrameUpdateInfo in MediaPlayer14.java and CameraPlayer14.java with Proguard
#jira UE-52471
#ue4
#android
Change 3763146 by Jack.Porter
Default assets for web browser widget
#jira UE-51374
Change 3764242 by Chris.Babcock
Disable Niagara vertex factories for mobile and Switch
#jira UE-52425
#ue4
#mobile
#switch
Change 3766027 by Allan.Bentham
Fix crash when no LQ volumetric lightmap data exists
#jira UE-52508
Change 3766075 by Josh.Adams
- Updating UDKRemote. Still needs art updated, and some some unneeded assets removed
Change 3766141 by Allan.Bentham
Show unbuilt lightmap warning when LQ data is missing from volumetric lightmap in mobile shading mode.
Change 3766163 by Josh.Adams
- Updated icons and added a generator script when we get a new one
Change 3766560 by Allan.Bentham
Workaround for broken offsets with automation screenshots.
#jira UE-52491
Change 3767193 by Peter.Sauerbrei
remove Oculus shader from being cached
force a metal shader re-compile
#jira UE-52587
Change 3767604 by Peter.Sauerbrei
fix the Oculusshader the right way
#jira UE-52587
Change 3768543 by Sorin.Gradinaru
Android WebBrowser 3D - webbrowser plugin contins the assets, 2D behaviour restored
#Android
#UE4
#4.19
#jira UE-51374 Web Browser widget is not working on Android
#jira UE-52399 Android web browser does not accept input
Change 3663915 by Jack.Porter
Prevent FTcpListener from busy polling while waiting for connections
#jira UE-50125
Change 3709224 by Allan.Bentham
Add android target device to gauntlet.
Automation screenshot uses high res screenshot api for mobile.
#jira UEMOB-360
Change 3741453 by Chris.Babcock
Match the 4.18.1 fixes for shipping checks removing code (from CL3741091)
#ue4
Change 3769301 by Peter.Sauerbrei
fix for missing ue4_stdmetal.lib, courtesty of MarkS
#jira UE-52587
Change 3770597 by Sorin.Gradinaru
Android WebBrowser - remove the WebBrowser plugin reference from the Engine
Load the default material directly from the resources.
#Android
#UE4
#jira UE-51374 Web Browser widget is not working on Android
#jira UE-52399 Android web browser does not accept input
[CL 3771573 by Chris Babcock in Main branch]
2017-11-22 16:42:04 -05:00
|
|
|
op(AutoETC1a) \
|
2014-03-14 14:13:41 -04:00
|
|
|
op(ETC2_RGB) \
|
|
|
|
|
op(ETC2_RGBA) \
|
|
|
|
|
op(AutoETC2)
|
|
|
|
|
|
|
|
|
|
#define DECL_FORMAT_NAME(FormatName) static FName GTextureFormatName##FormatName = FName(TEXT(#FormatName));
|
|
|
|
|
ENUM_SUPPORTED_FORMATS(DECL_FORMAT_NAME);
|
|
|
|
|
#undef DECL_FORMAT_NAME
|
|
|
|
|
|
|
|
|
|
#define DECL_FORMAT_NAME_ENTRY(FormatName) GTextureFormatName##FormatName ,
|
|
|
|
|
static FName GSupportedTextureFormatNames[] =
|
|
|
|
|
{
|
|
|
|
|
ENUM_SUPPORTED_FORMATS(DECL_FORMAT_NAME_ENTRY)
|
|
|
|
|
};
|
|
|
|
|
#undef DECL_FORMAT_NAME_ENTRY
|
|
|
|
|
|
|
|
|
|
#undef ENUM_SUPPORTED_FORMATS
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Compresses an image using Qonvert.
|
|
|
|
|
* @param SourceData Source texture data to compress, in BGRA 8bit per channel unsigned format.
|
|
|
|
|
* @param PixelFormat Texture format
|
|
|
|
|
* @param SizeX Number of texels along the X-axis
|
|
|
|
|
* @param SizeY Number of texels along the Y-axis
|
|
|
|
|
* @param OutCompressedData Compressed image data output by Qonvert.
|
|
|
|
|
*/
|
|
|
|
|
static bool CompressImageUsingQonvert(
|
|
|
|
|
const void* SourceData,
|
|
|
|
|
EPixelFormat PixelFormat,
|
|
|
|
|
int32 SizeX,
|
|
|
|
|
int32 SizeY,
|
|
|
|
|
TArray<uint8>& OutCompressedData
|
|
|
|
|
)
|
|
|
|
|
{
|
|
|
|
|
// Avoid dependency on GPixelFormats in RenderCore.
|
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3771565)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3627858 by Sorin.Gradinaru
#jira UE-48948 Crash when pressing backspace on empty line
Fixed:
UE-48948 Backspace on empty line crashes app (virtual keyboard)
UE-49112 Virtual keyboard text field isn't visible after rotating from landscape to portrait
UE-49117 Chinese and Korean virtual keyboards don't allow native characters
UE-49120 Virtual keyboard number pad "kicks" user back to regular keyboard
UE-49121 Gboard and Swift swipe entry are not supported by Virtual keyboard
UE-49124 Cursor in virtual keyboard and UMG don't match
UE-49128 Virtual Keyboard text field doesn't appear if there is too much text
UE-49141 Virtual keyboard is unresponsive with repeated tapping in control (some devices)
UE-49139 Tapping in the same text box doesn't make the virtual keyboard disappear
Change 3630732 by Sorin.Gradinaru
#jira UE-43488 GitHub 3440 : Fixes exposure with planar reflections.
#3440
Cancelled the applied exposure scale for non-hdr mobile
Change 3631436 by Nick.Shin
HTML5
recommended fix for "RuntimeError: integer result unrepresentable" from the emscripten makers
#jira UE-49059 HTML5 - Unable to launch project onto HTML 5 from editor
Change 3632689 by Sorin.Gradinaru
#jira UE - 49301 Text in UMG controls flickers during update from Virtual Keyboard
Full refresh of the Slate control for Android experimental VK - the control has focus, but the cursor was removed
Change 3632769 by Adrian.Chelu
#jira UEMOB-403 Improvements to "Device Mobile Preview" feature
Change 3633305 by Allan.Bentham
Print out the callstack when a fatal error occurs.
Change 3633510 by Chris.Babcock
Remove unneeded logging
#jira none
Change 3634827 by Adrian.Chelu
#fixed build editor buildsystem linux
Change 3640610 by Adrian.Chelu
#fixed Cook Win64 warnings
#fixed UE4Editor Static Analysis Win64 warnings
Change 3663057 by Sorin.Gradinaru
UE-49301 Text in UMG controls flickers during update from Virtual Keyboard
#jira UE-49301
#ue4
#android
On some Android devices TextWatcher.onTextChanged gets called multiple times when typing/deleting the content of a EditText (internally, the first call resets the entire content, the second fills it with the new value)
The workaround is to delays sending "empty string" to the Slate, waiting for 100ms to see if there is a second call (the "real" string to update)
The CL contains a fix for a 5/5 crash : select some/all the text from the native edittext, press delete.
Change 3663630 by Jack.Porter
Fix shader compile error on Galaxy S6
Change 3663972 by Allan.Bentham
add ES3.1 framebuffer fetch.
#jira UE-46251
Change 3671843 by Nick.Shin
HTML5 - silence CIS warnings (changed to INFO message type)
#jira UE-50415 ( Pri:1 - 4.18 ) //UE4/Release-4.18: Step "Package ShooterClient HTML5" has completed with 1 Warning: "File packager is creating an asset bundle of 815 MB. This is very large"
Change 3677675 by Sorin.Gradinaru
Android Experimental Virtual Keyboard 4.18 issues
#jira UE-49124 Cursor in virtual keyboard and UMG don't match
#jira UE-49139 Tapping in the same text box doesn't make the virtual keyboard disappear
#jira UE-49141 Virtual keyboard is unresponsive with repeated tapping in control (some devices)
#ue4
#android
UE-49124 Cursor in virtual keyboard and UMG don't match - change in SlateTextLayout.cpp - OnPaint() don't display the cursor
Changed the show/hide vk routines (Game activity.java) to solve low-repro, Android O issues related to multiple click events.
Should also be tested with multiple text boxes (fast click in/out different types of TextBox controls)
Change 3681555 by Adrian.Chelu
UEMOB-403 Improvements to "Device Mobile Preview" feature
Change 3692020 by Sorin.Gradinaru
#jira UE-50645 Carriage returns can be pasted into single line UMG fields on Android
#ue4
#4.19
#android
Change 3692741 by Sorin.Gradinaru
Andoid 3D WebBrowser
#jira UE-32740 Web Browser on a Widget Component appears to be 2D when launching on to Android
#ue4
#android
Change 3695475 by Chris.Babcock
Per project Android NDK/SDK API settings
#jira UEMOB-394
#ue4
#android
Change 3701364 by Dmitriy.Dyomin
Fixed: WEX - Android - Log spammed with "LogRHI: Error: Unsupported EPixelFormat 28"
#jira UE-50714
Change 3701664 by Jack.Porter
Fix typo
Change 3702355 by Cosmin.Sulea
UEMOB-393 - Support "ETC 1.5" packaging
#jira UEMOB-393
Change 3704950 by Chris.Babcock
Add verification of support for cooked texture format(s) on device at runtime (optional with Validate texture formats checkbox in Android project settings) and skipped for cook on the fly
#jira UE-50837
#ue4
#android
Change 3709817 by Nick.Shin
HTML5 - silence CIS warnings (changed to INFO message type)
finally have a repo case to test this proper fix
#jira UE-50415 ( Pri:1 - 4.18 ) "Package ShooterClient HTML5" has completed with 1 Warning: "File packager is creating an asset bundle of 815 MB. This is very large"
Change 3717598 by Chris.Babcock
Fix Android icon paths
#jira UE-51585
#ue4
#android
Change 3718456 by Adrian.Chelu
#fixed spelling in category localized name
Change 3719643 by Nick.Shin
nuke PLATFORM_HTML5_WIN32
more "old" code to remove
#jira UEMOB-433 Remove Win32 SDL "HTML5 Simulator" code
Change 3720342 by Nick.Shin
HTML5 redirect logs to console window
#jira UE-50747 HTML5 log is not easily accessible to users
Change 3720652 by Sorin.Gradinaru
UE-50382 Xcode Address Sanitizer feature does not work on iOS
#jira 50382
#iOS
#ue4
Address sanitizer dylib loader depends on the default SDKROOT parameter (<scheme> => Build Settings => Base SDK => <Build Configuration>)
For macosx or missing (also translated as macosx), the path is incorrect for iphone/appletv.
Change 3720654 by Sorin.Gradinaru
UE-48499 Android Voice Module has a few issues
#jira 48499
#Android
#ue4
1.Circular Buffer: Does the engine already have an implementation? Do we want this into core libraries?
R: There is an generic template class TCircularBuffer, but it lacks functionality like write/read checks, reading/writing data chunks.
Plus the code from VoiceModuleAndroid is optimized for circular byte array. I suggest to keep it.
2. Possible memory leaks: void free_circular_buffer (circular_buffer *p) is implemented, but not used. Presumably a memory leak on the variable inrb. Does CreateAudioRecorder need to be paired with any kind of destroy on shutdown?
R: Fixed. Using an array ActiveVoiceCaptures to store VoiceCapture references (same as on Windows)
3. Init() There are 4 calls to setup/init things that store the result in "result" but only the last call is checked against success. Should more checks against the values be made at each stage with informative log messaging in the event of failure?
R: Fixed.
4. GetVoiceData()
// Workaround for dealing with noise after stand-by
while(bytes<InVoiceBufferSize)
{
OutVoiceBuffer[bytes++]=0;
}
Isn't this just a memzero?
R: Fixed.
5. Missing features. Need to implement GetBufferSize and DumpState
R: Added GetBufferSize. Can be used like in TestVoice.cpp
DumpState is never used (same on Mac, iOS), plus the OpenSL objects do not expose internal properties.
Change 3722554 by Cosmin.Sulea
UE-44224 - iOS - Remote Build - rsync error: files not transferred
#jira UE-44224
Change 3723265 by Allan.Bentham
Assign a texture format priority for ETC1a.
prevents launch on from using ETC1a all the time..
Change 3729764 by Dmitriy.Dyomin
Removed deprecated LightmapUVBias, ShadowmapUVBias from instanced static mesh component per-instance data (80 -> 64 bytes)
Change 3729899 by Dmitriy.Dyomin
Fixed tiled landcape re-import
Change 3730895 by Bogdan.Vasilache
UEMOB-442 --> [ Support texture streaming on Android ES 3.1 ]
#jira UEMOB-442
Change 3733463 by Chris.Babcock
Return error for external texture if not used in pixel shader
#jira UE-51763
#ue4
Change 3736226 by Chris.Babcock
Change ExposureScale to PreExposure
#jira UE-52007
#jira UE-51691
#ue4
#android
Change 3740509 by Allan.Bentham
Add LQ (direct lighting from stationary spot/point lights) to volumetric lightmaps.
#jira UE-50551
Change 3740586 by Cosmin.Sulea
UE-51747 - GitHub 4174 : [BUG-FIX] Invalid ASTC texture versioning is corrected.
#jira UE-51747
Change 3741110 by Chris.Babcock
Fix functional code in checks removed for shipping
#ue4
Change 3741117 by Chris.Babcock
Fix checkin error for check -> ensure fix
#ue4
Change 3741156 by Chris.Babcock
Swap order of SDK and NDK overrides in menu to match Android SDK settings
#jira UE-52019
#ue4
#android
Change 3741271 by Chris.Babcock
Use final NDK and SDK levels only in UEBuildSettings.txt and rename the overrides to be clearer
#jira UE-52058
#ue4
#android
Change 3741464 by Chris.Babcock
Add NDK and SDK platform validation (installed) for Android
#jira UE-52069
#ue4
#android
Change 3744602 by Josh.Adams
From Meerkat: - Added optional 0 or 1 param to showlayer that will set the visibility instead of toggling it for entire layer
Change 3744603 by Josh.Adams
From Meerkat: - Fixed a comment about debug view modes on consoles
Change 3744607 by Josh.Adams
From Meerkat: - Added HWInstances to the PrimitiveStats view in Statistics window
Change 3754890 by Chris.Babcock
Updated IntelISPCTexComp DLLs to fix crashes with some processors on Windows
#jira UE-52281
#ue4
Change 3755147 by Jack.Porter
Fixed Google Cardboard rendering upside down on iPhone 6S+
#jira UE-38555
Change 3755458 by Cosmin.Sulea
UE-47801 - RSync Error when Generating SSH Key for Remote Mac Building when Mac username contains a space
#jira UE-47801
Change 3755492 by Jack.Porter
Fix merge error
Change 3759140 by Bogdan.Vasilache
UE-52396 --> Assertion in FOpenGLDynamicRHI::CreateOpenGLTexture when launching on Mali Galaxy S III
#jira UE-52396
Change 3760536 by Sorin.Gradinaru
UE-51262 values for pinch input produce very different results for same area on android device
#jira 51262
#iOS
#Android
#ue4
1. When the pinch goes beyond the viewport boundaries (when zooming out), the touch that goes off-screen is "released" and the zooming effect is over.
Solved by remembering last pinch event values
2. "Hack" the initial distance for the pinch/ rotate, by touching the screen and moving the finger to another position before using the second finger.
Solved by using the correct values when the pinch event starts
Change 3761279 by Chris.Babcock
Flag vertex and fragment shaders belonging to materials with external textures
#jira UE-52398
#ue4
#android
Change 3761494 by Chris.Babcock
Fix access to FrameUpdateInfo in MediaPlayer14.java and CameraPlayer14.java with Proguard
#jira UE-52471
#ue4
#android
Change 3763146 by Jack.Porter
Default assets for web browser widget
#jira UE-51374
Change 3764242 by Chris.Babcock
Disable Niagara vertex factories for mobile and Switch
#jira UE-52425
#ue4
#mobile
#switch
Change 3766027 by Allan.Bentham
Fix crash when no LQ volumetric lightmap data exists
#jira UE-52508
Change 3766075 by Josh.Adams
- Updating UDKRemote. Still needs art updated, and some some unneeded assets removed
Change 3766141 by Allan.Bentham
Show unbuilt lightmap warning when LQ data is missing from volumetric lightmap in mobile shading mode.
Change 3766163 by Josh.Adams
- Updated icons and added a generator script when we get a new one
Change 3766560 by Allan.Bentham
Workaround for broken offsets with automation screenshots.
#jira UE-52491
Change 3767193 by Peter.Sauerbrei
remove Oculus shader from being cached
force a metal shader re-compile
#jira UE-52587
Change 3767604 by Peter.Sauerbrei
fix the Oculusshader the right way
#jira UE-52587
Change 3768543 by Sorin.Gradinaru
Android WebBrowser 3D - webbrowser plugin contins the assets, 2D behaviour restored
#Android
#UE4
#4.19
#jira UE-51374 Web Browser widget is not working on Android
#jira UE-52399 Android web browser does not accept input
Change 3663915 by Jack.Porter
Prevent FTcpListener from busy polling while waiting for connections
#jira UE-50125
Change 3709224 by Allan.Bentham
Add android target device to gauntlet.
Automation screenshot uses high res screenshot api for mobile.
#jira UEMOB-360
Change 3741453 by Chris.Babcock
Match the 4.18.1 fixes for shipping checks removing code (from CL3741091)
#ue4
Change 3769301 by Peter.Sauerbrei
fix for missing ue4_stdmetal.lib, courtesty of MarkS
#jira UE-52587
Change 3770597 by Sorin.Gradinaru
Android WebBrowser - remove the WebBrowser plugin reference from the Engine
Load the default material directly from the resources.
#Android
#UE4
#jira UE-51374 Web Browser widget is not working on Android
#jira UE-52399 Android web browser does not accept input
[CL 3771573 by Chris Babcock in Main branch]
2017-11-22 16:42:04 -05:00
|
|
|
// If block size changes, please update in AndroidETC.cpp in DecompressTexture
|
2014-03-14 14:13:41 -04:00
|
|
|
const int32 BlockSizeX = 4;
|
|
|
|
|
const int32 BlockSizeY = 4;
|
|
|
|
|
const int32 BlockBytes = (PixelFormat == PF_ATC_RGBA_E || PixelFormat == PF_ATC_RGBA_I || PixelFormat == PF_ETC2_RGBA) ? 16 : 8;
|
|
|
|
|
const int32 ImageBlocksX = FMath::Max(SizeX / BlockSizeX, 1);
|
|
|
|
|
const int32 ImageBlocksY = FMath::Max(SizeY / BlockSizeY, 1);
|
|
|
|
|
|
|
|
|
|
// Allocate space to store compressed data.
|
|
|
|
|
OutCompressedData.Empty(ImageBlocksX * ImageBlocksY * BlockBytes);
|
|
|
|
|
OutCompressedData.AddUninitialized(ImageBlocksX * ImageBlocksY * BlockBytes);
|
|
|
|
|
|
|
|
|
|
TQonvertImage SrcImg;
|
|
|
|
|
TQonvertImage DstImg;
|
2015-01-14 04:21:10 -05:00
|
|
|
|
|
|
|
|
FMemory::Memzero(SrcImg);
|
|
|
|
|
FMemory::Memzero(DstImg);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
SrcImg.nWidth = SizeX;
|
|
|
|
|
SrcImg.nHeight = SizeY;
|
|
|
|
|
SrcImg.nFormat = Q_FORMAT_BGRA_8888;
|
|
|
|
|
SrcImg.nDataSize = SizeX * SizeY * 4;
|
|
|
|
|
SrcImg.pData = (unsigned char*)SourceData;
|
|
|
|
|
|
|
|
|
|
DstImg.nWidth = SizeX;
|
|
|
|
|
DstImg.nHeight = SizeY;
|
|
|
|
|
DstImg.nDataSize = ImageBlocksX * ImageBlocksY * BlockBytes;
|
2014-09-29 04:23:44 -04:00
|
|
|
DstImg.pData = OutCompressedData.GetData();
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
switch (PixelFormat)
|
|
|
|
|
{
|
|
|
|
|
case PF_ETC1:
|
|
|
|
|
DstImg.nFormat = Q_FORMAT_ETC1_RGB8;
|
|
|
|
|
break;
|
|
|
|
|
case PF_ETC2_RGB:
|
|
|
|
|
DstImg.nFormat = Q_FORMAT_ETC2_RGB8;
|
|
|
|
|
break;
|
|
|
|
|
case PF_ETC2_RGBA:
|
|
|
|
|
DstImg.nFormat = Q_FORMAT_ETC2_RGBA8;
|
|
|
|
|
break;
|
|
|
|
|
case PF_ATC_RGB:
|
|
|
|
|
DstImg.nFormat = Q_FORMAT_ATC_RGB;
|
|
|
|
|
break;
|
|
|
|
|
case PF_ATC_RGBA_E:
|
|
|
|
|
DstImg.nFormat = Q_FORMAT_ATC_RGBA_EXPLICIT_ALPHA;
|
|
|
|
|
break;
|
|
|
|
|
case PF_ATC_RGBA_I:
|
|
|
|
|
DstImg.nFormat = Q_FORMAT_ATC_RGBA_INTERPOLATED_ALPHA;
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
UE_LOG(LogTextureFormatAndroid, Fatal, TEXT("Unsupported EPixelFormat for compression: %u"), (uint32)PixelFormat);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (Qonvert(&SrcImg, &DstImg) != Q_SUCCESS)
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* ATITC and ETC1/2 texture format handler.
|
|
|
|
|
*/
|
|
|
|
|
class FTextureFormatAndroid : public ITextureFormat
|
|
|
|
|
{
|
2014-06-13 06:14:46 -04:00
|
|
|
virtual bool AllowParallelBuild() const override
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
Copying //UE4/Dev-Mobile to //UE4/Main (Source: //UE4/Dev-Mobile @ 3600060)
#rb none
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3292215 on 2017/02/08 by Nick.Shin
HTML5 emscripten: wasm and wbegl2 support
- emscripten toolchain
#jira UEPLAT-1437 Switch [to] web assembly
#rb none
Change 3293994 on 2017/02/09 by Nick.Shin
HTML5 emscripten: wasm and webgl2 support
- OSX toolchain
#jira UEPLAT-1437 Switch [to] web assembly
#rb none
Change 3317951 on 2017/02/22 by Nick.Shin
HTML5 emscripten: wasm & webgl2 support - RC1
- emscripten toolchain
WARNING: emscripten/incoming/source/include/libc/bit (the file) might need to be deleted first
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
#rb none
Change 3318669 on 2017/02/23 by Nick.Shin
HTML5 emscripten: wasm & webgl2 support - RC1
- OSX toolchain
#jira UEMOB-263 Switch [to] web assembly
#jira UEMOB-201 Support ES3 / WebGL2 in HTML5
#rb none
Change 3462146 on 2017/05/26 by Nick.Shin
HTML5 - merge from Release-4.16 to Dev-Mobile
#jira none
#rb none
#rnx
Change 3504996 on 2017/06/22 by Cosmin.Sulea
UEMOB-362 - Add per-texture and per-format compression quality override settings
#rb Dmitriy.Dyomin
#jira UEMOB-362
#codereview Dmitriy.Dyomin
#codereview Jack.Porter
Change 3505056 on 2017/06/22 by Cosmin.Sulea
Back out changelist 3504996 - due to errors generated in xboxOne, PS4 and Switch versions
#rb none
Change 3508049 on 2017/06/23 by Nick.Shin
HTML5 toolchain notes corrections
#jira none
#rb none
#rnx
Change 3508663 on 2017/06/24 by Nick.Shin
HTML5LaunchHelper.exe on linux - redo
- it seems that i need to also check-in the exe and pdb file instead of having CIS make and checking-in them itself...
- modified c# program to output a version number to help track which version of HTML5LaunchHelper is running...
#jira UE-45302 HTML5LaunchHelper.exe hosts the files in the current working directory on Linux
#rnx
#rb none
Change 3509210 on 2017/06/26 by Dmitriy.Dyomin
ExposureScale will be applied during tonemap pass when MobileHDR is on
#rb jack.porter
#codereview Allan.Bentham
Change 3511058 on 2017/06/27 by Cosmin.Sulea
UEMOB-362 - Add per-texture and per-format compression quality override settings - resubmitted
#rb Dmitriy.Dyomin
#jira UEMOB-362
#codereview Dmitriy.Dyomin
Change 3511069 on 2017/06/27 by Jack.Porter
PS4, XboxOne and Switch fixes for changes to ITextureFormat interface
#rb Dmitriy.Dyomin
#jira UEMOB-362
Change 3513028 on 2017/06/28 by Jack.Porter
Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile)
#rb None
Change 3517409 on 2017/06/30 by Jack.Porter
Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile)
#rb None
Change 3517730 on 2017/06/30 by Cosmin.Sulea
UEMOB-328 - Improve handling of iOS signing key on remote Mac system keychain when using remote toolchain
#rb Jack.Porter
#jira UEMOB-328
#codereview: peter.sauerbrei
Change 3517757 on 2017/06/30 by Cosmin.Sulea
UE-46245 - Building with remote toolchain does not use Project Setting for iOS signing identity which can cause signing errors
#rb Jack.Porter
#jira UE-46245
#codereview: peter.sauerbrei
Change 3518149 on 2017/06/30 by Adrian.Chelu
UE-43035 Tilt axis for X and Z are not consistent between Android and iOS devices
#rb Jack.Porter
#jira UE-46245
#codereview: Chris Babcock <chris.babcock@epicgames.com>
Change 3524242 on 2017/07/06 by Nick.Shin
HTML5 - refraction shader
note: this CL also contains fixes to webgl2 [float4 vs half2] and a [% vs Mod()] material custom function changes to some TM-ShaderModels shaders
specifically: fixes to and similar with: DitherTemporalAA
#jria UE-46434 No Refraction in QA Game TM-Shadermodels HTML5
#rb none
#rn
#codereview jack.porter dmitriy.dyomin
Change 3535295 on 2017/07/13 by Allan.Bentham
#jira UEMOB-390
Add Android cpu stats.
add 'stat AndroidCPU' to android's console spinner UI.
increase GetCPUState's core count support to 16.
#jira UE-45888
Use cvar value to limit android cpu stat update rate.
#rb none
Change 3535306 on 2017/07/13 by Allan.Bentham
Add missing pragma once
#rb none
Change 3537047 on 2017/07/13 by Ben.Marsh
Fixing case of iOS directories, pt1
#rb none
Change 3537051 on 2017/07/13 by Ben.Marsh
Fixing case of iOS directories, pt2
#rb none
Change 3537373 on 2017/07/14 by Allan.Bentham
Add scope level android egl error verification.
work around minor issue with invalid egl config property.
#rb chris.babcock
Change 3541735 on 2017/07/18 by Allan.Bentham
Add 'sustained performance mode' support for API 24+ devices.
#jira UEMOB-386
#rb chris.babcock
Change 3543001 on 2017/07/18 by Sorin.Gradinaru
#jira UE-45766 Improved Virtual Keyboard cannot receive non-English characters.
- for Android, add an native EditBox above the virtual keyboard to receive the text and pass it to the object from the slate
#rb Chris.Babcock
Change 3554399 on 2017/07/25 by Nick.Shin
STATS disabled for non multi-threaded platforms
#jira UE-47485 ( Pri:1 - 4.18 ) Crash running Stat Command test in TM-Core on Firefox
#rnx
#rb none
Change 3554402 on 2017/07/25 by Nick.Shin
STATS TaskGraph disabled for non multi-threaded platforms
#jira UE-47486 ( Pri:1 - 4.18 ) QAGame hard locks on Firefox when triggering Task Graph Benchmark test
#rb none
#rnx
Change 3556957 on 2017/07/26 by Nick.Shin
HTML5 - WASM enabled by default - part 1 -- commenting out asmjs stuff
begin sunsetting ASM.JS
note to self: CL#3462146 "backout" asmjs
#jira UEMOB-416 WASM enabled by default
#rnx
#rb none
Change 3557654 on 2017/07/26 by Nick.Shin
HTML5 - WASM enabled by default - part 2 -- remove asmjs code
sunsetting ASM.JS
note to self: CL#3462146 "backout" asmjs
#jira UEMOB-416 WASM enabled by default
#rn
#rb none
Change 3557910 on 2017/07/27 by Jack.Porter
Support Client configuration when packaging in the editor
#jira UE-39973
#rb Dmitriy.Dyomin
Change 3557917 on 2017/07/27 by Jack.Porter
Missing file from CL 3557910
#rb trivial
Change 3559642 on 2017/07/27 by Nick.Shin
STATS TaskGraph disabled for non multi-threaded platforms
- both "LockFree stress test" and "task graph benchmark" are disabled - no multi-threading for WASM exist yet (note: ASM.JS has been sunsetted)
- stat command crash "fixed" - but, font size are totally broken - i can look at this (much) later...
- new bug: physx will crash on "gc and level load stress test" -- please bug this as a new jira
#jira UE-47486 ( Pri:1 - 4.18 ) QAGame hard locks on Firefox when triggering Task Graph Benchmark test
#rb none
#rnx
Change 3565656 on 2017/07/31 by Dmitriy.Dyomin
Added a way to lock level position in Word Composition
#jira UE-47713
#rb none
Change 3565757 on 2017/08/01 by Dmitriy.Dyomin
compile fix
#rb none
Change 3567446 on 2017/08/01 by Chris.Babcock
Allow addElement and addElements to only insert once with once="true" attribute in UPL
#jira UE-47951
#ue4
#android
#rb Peter.Sauerbrei
Change 3567592 on 2017/08/01 by Chris.Babcock
Use absolute path for repositories for Gradle
#jira UE-47952
#ue4
#android
#rb Tim.Lincoln
Change 3568690 on 2017/08/02 by Chris.Babcock
Removed warnings for once attribute in UPL
#ue4
#android
#rb none
Change 3569975 on 2017/08/02 by Chris.Babcock
Add <baseBuildGradleAdditions> to UPL to allow additions to the root-level build.gradle
#jira UE-47995
#ue4
#android
#rb Tim.Lincoln
Change 3570117 on 2017/08/02 by Chris.Babcock
Add <setBoolFromPropertyContains> to UPL
- sets bool to true if string list in ini matches contains attribute
#jira UE-47996
#ue4
#android
#rb Jack.Porter
Change 3571552 on 2017/08/03 by Chris.Babcock
Removed unneeded settings.gradle file (generated)
#jira UE-48041
#ue4
#android
#rb none
Change 3572224 on 2017/08/04 by Dmitriy.Dyomin
Better selection tracking in world composition
#rb none
Change 3573662 on 2017/08/04 by Nick.Shin
HTML5 remove PreLoadMap "feature" (was only available/used with HTML5)
- asyncronous loads are not allowed during UEngine::LoadMap()
- the files/code will be repurposed for pakfile CHUNK support
#jira UEMOB-425 HTML5 streaming content investigation (part 1 of 2)
#rn
#rb none
Change 3574471 on 2017/08/07 by Dmitriy.Dyomin
Export ULevelStreamingKismet::LoadLevelInstance function
#rb none
Change 3576262 on 2017/08/08 by Dmitriy.Dyomin
Fixed: widget clipping issues in world composition
#rb none
Change 3576845 on 2017/08/08 by Nick.Shin
set HTML5LaunchHelper application's icon to UE4.ico
#jira UE-19225 HTML5LaunchHelper application does not have an unreal icon
#rb none
#rnx
Change 3578313 on 2017/08/09 by Dmitriy.Dyomin
Added: an RHI call to invalidate/clear cached state, RHIInvalidateCachedState
#jira UEMOB-435
#rb jack.porter
Change 3578364 on 2017/08/09 by Dmitriy.Dyomin
Vertex Fog is disabled on mobile by default. If scene uses vertex fog - Mobile preview and device will show on screen message: PROJECT HAS VERTEX FOG ON MOBILE DISABLED
This saves about 90 instructions in VS and a few in PS
#jira UEMOB-166
#rb jack.porter
Change 3578703 on 2017/08/09 by Nick.Shin
set HTML5LaunchHelper application's icon to UE4.ico
forgot to check in exe and pdb file
#jira UE-19225 HTML5LaunchHelper application does not have an unreal icon
#rb none
#rnx
Change 3578961 on 2017/08/09 by Peter.Sauerbrei
deprecate IOS 8 as the minimum OS supported.
#jira UEMOB-429
#rb chris.babcock
Change 3579319 on 2017/08/09 by Peter.Sauerbrei
fixes for compile errors with Xcode 9 beta 4
#rb none
Change 3579356 on 2017/08/09 by Peter.Sauerbrei
modified minimum IOS to build with
#rb chris.babcock
Change 3579687 on 2017/08/09 by Chris.Babcock
Fix GoogleVR Gradle packaging
#jira UE-48239
#ue4
#android
#rb none
Change 3579921 on 2017/08/10 by Dmitriy.Dyomin
GitHub 3670 : More zoom levels for World Composition (300)
#contributedby: user37337
#jira UE-45977
#3670
#rb none
Change 3580576 on 2017/08/10 by Peter.Sauerbrei
detection of iPad Pro 10.5 and IPad Pro 12.9 (2nd Gen)
#rb chris.babcock
Change 3580611 on 2017/08/10 by Chris.Babcock
Set online provider back to GooglePlay and remove forcing IAP permission (contributed by umerov1999)
#jira UE-48185
#PR #3876
#ue4
#android
#rb Peter.Sauerbrei
Change 3582166 on 2017/08/11 by Nick.Shin
nuke PLATFORM_HTML5_WIN32
PLATFORM_HTML5_WIN32 code removal tested successfully with (force rebuild and repackaging):
* Win64 server (WindowsServer)
* Win64 client (WindowsNoEditor)
* HTML5 client
all playing together via websocket net driver (i've attached a screen shot of this in jira)
code changes touches: physics, audio and main build files
#jira UEMOB-433 Remove Win32 SDL "HTML5 Simulator" code
#rb ben.marsh
#rnx
#codereview josh.adams
#fyi ori.cohen, aaron.mclera
Change 3582474 on 2017/08/11 by Chris.Babcock
Don't use V2 signing for Gear VR APKs
#jira UE-48354
#ue4
#android
#rb Peter.Sauerbrei
Change 3582614 on 2017/08/11 by Chris.Babcock
Filter out unneeded architectures from APK for Gradle builds
#jira UE-48355
#ue4
#android
#rb Peter.Sauerbrei
Change 3582923 on 2017/08/11 by Nick.Shin
backport release 4.17 to dev-mobile
#jira none
#rb none
#rnx
Change 3582924 on 2017/08/11 by Nick.Shin
FNetworkFileServerHttp - error gracefully when port is already in use
#jira UE-46409 [CrashReport] Assertion on Mac: Could not create a libwebsocket - FNetworkFileServerHttp::Init()
#rnx
#rb none
Change 3582925 on 2017/08/11 by Nick.Shin
HTML5 - turn off pak file compression in favor of gzip packages
#jira UE-46729 HTML5 - on shipping builds - turn off pak file compression in favor of gzip packages
#rn
#rb none
Change 3583943 on 2017/08/14 by Cosmin.Sulea
UEMOB-363 - second iteration - Project wide texture quality control by texture group
#rb Dmitriy Dyomin
#jira UEMOB-363
Change 3583967 on 2017/08/14 by Cosmin.Sulea
Back out changelist 3583943
#rb none
Change 3584121 on 2017/08/14 by Peter.Sauerbrei
fix for mac compile failure
#rb none
Change 3587877 on 2017/08/15 by Peter.Sauerbrei
josh's suggested fix is not working for Xcode 8.3, so brute forcing for now
#rb none
Change 3588612 on 2017/08/15 by Peter.Sauerbrei
Xcode 9 project compatbility updates
#rb chris.babcock
#codereview michael.trepka
Change 3589223 on 2017/08/15 by Dmitriy.Dyomin
Fixed: bNavigationAutoUpdateEnabled was not always working when reopeinig the map
Fixed: Navigation Build was not clearing some mesh tiles when bNavigationAutoUpdateEnabled is enabled
Fixed: Streaming out a level in editor was not always updating NavMesh debug draw
#rb lukasz.furman
Change 3589900 on 2017/08/16 by Dmitriy.Dyomin
Support vulkan validation layers on Android, only in Debug and Development configuration (requires r.Vulkan.EnableValidation=1)
#codereview chris.babcock, rolando.caloca
#rb none
Change 3590592 on 2017/08/16 by Nick.Shin
HTML5 emscripten 1.37.19 OSX
#jira UE-47813
#rb none
#rn HTML5 emscripten 1.37.19 OSX
Change 3590597 on 2017/08/16 by Nick.Shin
HTML5 emscripten 1.37.19 Linux
#jira UE-47813
#rb none
#rn HTML5 emscripten 1.37.19 Linux
Change 3590624 on 2017/08/16 by Nick.Shin
HTML5 emscripten 1.37.19 toolchain
#jira UE-47813
#rb none
#rn HTML5 emscripten 1.37.19 toolchain
Change 3591720 on 2017/08/16 by Chris.Babcock
Enable Gradle by default and add button to accept Android SDK license to project settings
#jira UE-48519
#ue4
#android
#rb Tim.Lincoln
#fyi Peter.Sauerbrei
Change 3591998 on 2017/08/16 by Chris.Babcock
Fix nonunity build
#ue4
#android
#rb none
Change 3592407 on 2017/08/17 by Nick.Shin
HTML5 emscripten 1.37.19 Win64
#jira UE-47813
#rb none
#rn HTML5 emscripten 1.37.19 Win64
Change 3592479 on 2017/08/17 by Nick.Shin
HTML5 3rd Party Libs - compiled with emscripten 1.37.19
#jira UE-47813
#rb none
#rn HTML5 3rd Party Libs - compiled with emscripten 1.37.19 toolchain
Change 3592480 on 2017/08/17 by Nick.Shin
HTML5 emscripten 1.37.19 toolchain Epic edits
as well as setting UE4 HTML c# scripts to use new toolchain
#jira UE-47813
#rb none
#rn HTML5 emscripten 1.37.19 toolchain Epic edits
Change 3592481 on 2017/08/17 by Nick.Shin
HTML5 remove old emscripten toolchain
#jira UE-47813
#rb none
#rn HTML5 remove old emscripten toolchain
Change 3592485 on 2017/08/17 by Nick.Shin
HTML5 undo CanUseXGE - this might be breaking CIS for HTML5 builds...
#jira UE-47813
#rb none
#rnx
Change 3592549 on 2017/08/17 by Dmitriy.Dyomin
Added GetDiskTotalAndFreeSpace for IOS and Android
#jira UE-46479
#codereview chris.babcock, peter.sauerbrei
#rb none
Change 3594045 on 2017/08/17 by Peter.Sauerbrei
comment about potential failure case in the remote tool chain
#rb none
Change 3594342 on 2017/08/17 by Peter.Sauerbrei
Merging
//UE4/Main/...
to //UE4/Dev-Mobile/...
#rb none
Change 3594920 on 2017/08/17 by Peter.Sauerbrei
fix for non-unity builds (accidentally merged something incorrectly)
#rb none
Change 3595347 on 2017/08/17 by Chris.Babcock
merge fixes for Android
#ue4
#android
#rb Peter.Sauerbrei
#lockdown Peter.Sauerbrei
Change 3595752 on 2017/08/17 by Chris.Babcock
Update Facebook plugin to support Gradle
#jira UE-48569
#ue4
#android
#fyi Josh.Markiewicz
#rb none
#lockdown Peter.Sauerbrei
Change 3595849 on 2017/08/17 by Chris.Babcock
Fix issue with libovrplatformloader.so for non armv7 targets
#jira UE-48533
#ue4
#android
#rb none
#lockdown Peter.Sauerbrei
Change 3596419 on 2017/08/18 by Peter.Sauerbrei
fix for Mac Editor build failure
#rb none
Change 3597023 on 2017/08/18 by Peter.Sauerbrei
fix for game editor build failure
#rb none
Change 3597032 on 2017/08/18 by Peter.Sauerbrei
fix for app bundle id in Info-Editor.plist
#rb none
Change 3597034 on 2017/08/18 by Peter.Sauerbrei
put back the info.plist, found the real problem
#rb none
Change 3597197 on 2017/08/18 by Peter.Sauerbrei
pull Info.plist from the build products
#rb none
[CL 3600450 by Chris Babcock in Main branch]
2017-08-21 15:05:19 -04:00
|
|
|
virtual uint16 GetVersion(
|
|
|
|
|
FName Format,
|
|
|
|
|
const struct FTextureBuildSettings* BuildSettings = nullptr
|
|
|
|
|
) const override
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
2014-06-13 06:14:46 -04:00
|
|
|
virtual void GetSupportedFormats(TArray<FName>& OutFormats) const override
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
|
|
|
|
for (int32 i = 0; i < ARRAY_COUNT(GSupportedTextureFormatNames); ++i)
|
|
|
|
|
{
|
|
|
|
|
OutFormats.Add(GSupportedTextureFormatNames[i]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2014-06-13 06:14:46 -04:00
|
|
|
virtual FTextureFormatCompressorCaps GetFormatCapabilities() const override
|
2014-04-23 20:04:50 -04:00
|
|
|
{
|
|
|
|
|
return FTextureFormatCompressorCaps(); // Default capabilities.
|
|
|
|
|
}
|
|
|
|
|
|
2014-03-14 14:13:41 -04:00
|
|
|
virtual bool CompressImage(
|
|
|
|
|
const FImage& InImage,
|
|
|
|
|
const struct FTextureBuildSettings& BuildSettings,
|
|
|
|
|
bool bImageHasAlphaChannel,
|
|
|
|
|
FCompressedImage2D& OutCompressedImage
|
2014-06-13 06:14:46 -04:00
|
|
|
) const override
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
|
|
|
|
FImage Image;
|
Gamma Correction - Changing the way all FColors are converted into FLinearColor by default. Previously all sRGB textures coming into the engine along with all other usage of FColor -> FLinearColor used a lookup table that assumed the final gamma correction would simply be pow(color, 1/DisplayGamma). However, that's not the case, we use the IEC 61966-2-1 standard on most platforms for both the scene renderer, as well as for gamma correction in Slate. In Slate you should now see an image matching Photoshop instead of being slightly darker in the lower ranges. However, because we don't want to invalidate all existing textures that users have authored, all existing UTextures have a UseLegacyGamma flag set to true, all new textures will be set to false. The flag is part of the DDC key calculation, but steps were taken so that when legacy is true, keys match existing keys to prevent universally invalidating all games DDCs just to make this change.
To summarize,
Old Pipeline: sRGB-Pow(2.2) -> Linear -> sRGB-IEC 61966
New Pipeline: sRGB-IEC 61966 -> Linear -> sRGB-IEC 61966
#codereview gil.gribb, nick.penwarden, martin.mittring
[CL 2571070 by Nick Darnell in Main branch]
2015-05-29 16:03:43 -04:00
|
|
|
InImage.CopyTo(Image, ERawImageFormat::BGRA8, BuildSettings.GetGammaSpace());
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
EPixelFormat CompressedPixelFormat = PF_Unknown;
|
|
|
|
|
|
|
|
|
|
if (BuildSettings.TextureFormatName == GTextureFormatNameAutoETC1)
|
|
|
|
|
{
|
|
|
|
|
if (bImageHasAlphaChannel)
|
|
|
|
|
{
|
|
|
|
|
// ETC1 can't support an alpha channel, store uncompressed
|
|
|
|
|
OutCompressedImage.SizeX = Image.SizeX;
|
|
|
|
|
OutCompressedImage.SizeY = Image.SizeY;
|
|
|
|
|
OutCompressedImage.PixelFormat = PF_B8G8R8A8;
|
|
|
|
|
OutCompressedImage.RawData = Image.RawData;
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
CompressedPixelFormat = PF_ETC1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
if (BuildSettings.TextureFormatName == GTextureFormatNameETC1)
|
|
|
|
|
{
|
|
|
|
|
CompressedPixelFormat = PF_ETC1;
|
|
|
|
|
}
|
|
|
|
|
else
|
Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3771565)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3627858 by Sorin.Gradinaru
#jira UE-48948 Crash when pressing backspace on empty line
Fixed:
UE-48948 Backspace on empty line crashes app (virtual keyboard)
UE-49112 Virtual keyboard text field isn't visible after rotating from landscape to portrait
UE-49117 Chinese and Korean virtual keyboards don't allow native characters
UE-49120 Virtual keyboard number pad "kicks" user back to regular keyboard
UE-49121 Gboard and Swift swipe entry are not supported by Virtual keyboard
UE-49124 Cursor in virtual keyboard and UMG don't match
UE-49128 Virtual Keyboard text field doesn't appear if there is too much text
UE-49141 Virtual keyboard is unresponsive with repeated tapping in control (some devices)
UE-49139 Tapping in the same text box doesn't make the virtual keyboard disappear
Change 3630732 by Sorin.Gradinaru
#jira UE-43488 GitHub 3440 : Fixes exposure with planar reflections.
#3440
Cancelled the applied exposure scale for non-hdr mobile
Change 3631436 by Nick.Shin
HTML5
recommended fix for "RuntimeError: integer result unrepresentable" from the emscripten makers
#jira UE-49059 HTML5 - Unable to launch project onto HTML 5 from editor
Change 3632689 by Sorin.Gradinaru
#jira UE - 49301 Text in UMG controls flickers during update from Virtual Keyboard
Full refresh of the Slate control for Android experimental VK - the control has focus, but the cursor was removed
Change 3632769 by Adrian.Chelu
#jira UEMOB-403 Improvements to "Device Mobile Preview" feature
Change 3633305 by Allan.Bentham
Print out the callstack when a fatal error occurs.
Change 3633510 by Chris.Babcock
Remove unneeded logging
#jira none
Change 3634827 by Adrian.Chelu
#fixed build editor buildsystem linux
Change 3640610 by Adrian.Chelu
#fixed Cook Win64 warnings
#fixed UE4Editor Static Analysis Win64 warnings
Change 3663057 by Sorin.Gradinaru
UE-49301 Text in UMG controls flickers during update from Virtual Keyboard
#jira UE-49301
#ue4
#android
On some Android devices TextWatcher.onTextChanged gets called multiple times when typing/deleting the content of a EditText (internally, the first call resets the entire content, the second fills it with the new value)
The workaround is to delays sending "empty string" to the Slate, waiting for 100ms to see if there is a second call (the "real" string to update)
The CL contains a fix for a 5/5 crash : select some/all the text from the native edittext, press delete.
Change 3663630 by Jack.Porter
Fix shader compile error on Galaxy S6
Change 3663972 by Allan.Bentham
add ES3.1 framebuffer fetch.
#jira UE-46251
Change 3671843 by Nick.Shin
HTML5 - silence CIS warnings (changed to INFO message type)
#jira UE-50415 ( Pri:1 - 4.18 ) //UE4/Release-4.18: Step "Package ShooterClient HTML5" has completed with 1 Warning: "File packager is creating an asset bundle of 815 MB. This is very large"
Change 3677675 by Sorin.Gradinaru
Android Experimental Virtual Keyboard 4.18 issues
#jira UE-49124 Cursor in virtual keyboard and UMG don't match
#jira UE-49139 Tapping in the same text box doesn't make the virtual keyboard disappear
#jira UE-49141 Virtual keyboard is unresponsive with repeated tapping in control (some devices)
#ue4
#android
UE-49124 Cursor in virtual keyboard and UMG don't match - change in SlateTextLayout.cpp - OnPaint() don't display the cursor
Changed the show/hide vk routines (Game activity.java) to solve low-repro, Android O issues related to multiple click events.
Should also be tested with multiple text boxes (fast click in/out different types of TextBox controls)
Change 3681555 by Adrian.Chelu
UEMOB-403 Improvements to "Device Mobile Preview" feature
Change 3692020 by Sorin.Gradinaru
#jira UE-50645 Carriage returns can be pasted into single line UMG fields on Android
#ue4
#4.19
#android
Change 3692741 by Sorin.Gradinaru
Andoid 3D WebBrowser
#jira UE-32740 Web Browser on a Widget Component appears to be 2D when launching on to Android
#ue4
#android
Change 3695475 by Chris.Babcock
Per project Android NDK/SDK API settings
#jira UEMOB-394
#ue4
#android
Change 3701364 by Dmitriy.Dyomin
Fixed: WEX - Android - Log spammed with "LogRHI: Error: Unsupported EPixelFormat 28"
#jira UE-50714
Change 3701664 by Jack.Porter
Fix typo
Change 3702355 by Cosmin.Sulea
UEMOB-393 - Support "ETC 1.5" packaging
#jira UEMOB-393
Change 3704950 by Chris.Babcock
Add verification of support for cooked texture format(s) on device at runtime (optional with Validate texture formats checkbox in Android project settings) and skipped for cook on the fly
#jira UE-50837
#ue4
#android
Change 3709817 by Nick.Shin
HTML5 - silence CIS warnings (changed to INFO message type)
finally have a repo case to test this proper fix
#jira UE-50415 ( Pri:1 - 4.18 ) "Package ShooterClient HTML5" has completed with 1 Warning: "File packager is creating an asset bundle of 815 MB. This is very large"
Change 3717598 by Chris.Babcock
Fix Android icon paths
#jira UE-51585
#ue4
#android
Change 3718456 by Adrian.Chelu
#fixed spelling in category localized name
Change 3719643 by Nick.Shin
nuke PLATFORM_HTML5_WIN32
more "old" code to remove
#jira UEMOB-433 Remove Win32 SDL "HTML5 Simulator" code
Change 3720342 by Nick.Shin
HTML5 redirect logs to console window
#jira UE-50747 HTML5 log is not easily accessible to users
Change 3720652 by Sorin.Gradinaru
UE-50382 Xcode Address Sanitizer feature does not work on iOS
#jira 50382
#iOS
#ue4
Address sanitizer dylib loader depends on the default SDKROOT parameter (<scheme> => Build Settings => Base SDK => <Build Configuration>)
For macosx or missing (also translated as macosx), the path is incorrect for iphone/appletv.
Change 3720654 by Sorin.Gradinaru
UE-48499 Android Voice Module has a few issues
#jira 48499
#Android
#ue4
1.Circular Buffer: Does the engine already have an implementation? Do we want this into core libraries?
R: There is an generic template class TCircularBuffer, but it lacks functionality like write/read checks, reading/writing data chunks.
Plus the code from VoiceModuleAndroid is optimized for circular byte array. I suggest to keep it.
2. Possible memory leaks: void free_circular_buffer (circular_buffer *p) is implemented, but not used. Presumably a memory leak on the variable inrb. Does CreateAudioRecorder need to be paired with any kind of destroy on shutdown?
R: Fixed. Using an array ActiveVoiceCaptures to store VoiceCapture references (same as on Windows)
3. Init() There are 4 calls to setup/init things that store the result in "result" but only the last call is checked against success. Should more checks against the values be made at each stage with informative log messaging in the event of failure?
R: Fixed.
4. GetVoiceData()
// Workaround for dealing with noise after stand-by
while(bytes<InVoiceBufferSize)
{
OutVoiceBuffer[bytes++]=0;
}
Isn't this just a memzero?
R: Fixed.
5. Missing features. Need to implement GetBufferSize and DumpState
R: Added GetBufferSize. Can be used like in TestVoice.cpp
DumpState is never used (same on Mac, iOS), plus the OpenSL objects do not expose internal properties.
Change 3722554 by Cosmin.Sulea
UE-44224 - iOS - Remote Build - rsync error: files not transferred
#jira UE-44224
Change 3723265 by Allan.Bentham
Assign a texture format priority for ETC1a.
prevents launch on from using ETC1a all the time..
Change 3729764 by Dmitriy.Dyomin
Removed deprecated LightmapUVBias, ShadowmapUVBias from instanced static mesh component per-instance data (80 -> 64 bytes)
Change 3729899 by Dmitriy.Dyomin
Fixed tiled landcape re-import
Change 3730895 by Bogdan.Vasilache
UEMOB-442 --> [ Support texture streaming on Android ES 3.1 ]
#jira UEMOB-442
Change 3733463 by Chris.Babcock
Return error for external texture if not used in pixel shader
#jira UE-51763
#ue4
Change 3736226 by Chris.Babcock
Change ExposureScale to PreExposure
#jira UE-52007
#jira UE-51691
#ue4
#android
Change 3740509 by Allan.Bentham
Add LQ (direct lighting from stationary spot/point lights) to volumetric lightmaps.
#jira UE-50551
Change 3740586 by Cosmin.Sulea
UE-51747 - GitHub 4174 : [BUG-FIX] Invalid ASTC texture versioning is corrected.
#jira UE-51747
Change 3741110 by Chris.Babcock
Fix functional code in checks removed for shipping
#ue4
Change 3741117 by Chris.Babcock
Fix checkin error for check -> ensure fix
#ue4
Change 3741156 by Chris.Babcock
Swap order of SDK and NDK overrides in menu to match Android SDK settings
#jira UE-52019
#ue4
#android
Change 3741271 by Chris.Babcock
Use final NDK and SDK levels only in UEBuildSettings.txt and rename the overrides to be clearer
#jira UE-52058
#ue4
#android
Change 3741464 by Chris.Babcock
Add NDK and SDK platform validation (installed) for Android
#jira UE-52069
#ue4
#android
Change 3744602 by Josh.Adams
From Meerkat: - Added optional 0 or 1 param to showlayer that will set the visibility instead of toggling it for entire layer
Change 3744603 by Josh.Adams
From Meerkat: - Fixed a comment about debug view modes on consoles
Change 3744607 by Josh.Adams
From Meerkat: - Added HWInstances to the PrimitiveStats view in Statistics window
Change 3754890 by Chris.Babcock
Updated IntelISPCTexComp DLLs to fix crashes with some processors on Windows
#jira UE-52281
#ue4
Change 3755147 by Jack.Porter
Fixed Google Cardboard rendering upside down on iPhone 6S+
#jira UE-38555
Change 3755458 by Cosmin.Sulea
UE-47801 - RSync Error when Generating SSH Key for Remote Mac Building when Mac username contains a space
#jira UE-47801
Change 3755492 by Jack.Porter
Fix merge error
Change 3759140 by Bogdan.Vasilache
UE-52396 --> Assertion in FOpenGLDynamicRHI::CreateOpenGLTexture when launching on Mali Galaxy S III
#jira UE-52396
Change 3760536 by Sorin.Gradinaru
UE-51262 values for pinch input produce very different results for same area on android device
#jira 51262
#iOS
#Android
#ue4
1. When the pinch goes beyond the viewport boundaries (when zooming out), the touch that goes off-screen is "released" and the zooming effect is over.
Solved by remembering last pinch event values
2. "Hack" the initial distance for the pinch/ rotate, by touching the screen and moving the finger to another position before using the second finger.
Solved by using the correct values when the pinch event starts
Change 3761279 by Chris.Babcock
Flag vertex and fragment shaders belonging to materials with external textures
#jira UE-52398
#ue4
#android
Change 3761494 by Chris.Babcock
Fix access to FrameUpdateInfo in MediaPlayer14.java and CameraPlayer14.java with Proguard
#jira UE-52471
#ue4
#android
Change 3763146 by Jack.Porter
Default assets for web browser widget
#jira UE-51374
Change 3764242 by Chris.Babcock
Disable Niagara vertex factories for mobile and Switch
#jira UE-52425
#ue4
#mobile
#switch
Change 3766027 by Allan.Bentham
Fix crash when no LQ volumetric lightmap data exists
#jira UE-52508
Change 3766075 by Josh.Adams
- Updating UDKRemote. Still needs art updated, and some some unneeded assets removed
Change 3766141 by Allan.Bentham
Show unbuilt lightmap warning when LQ data is missing from volumetric lightmap in mobile shading mode.
Change 3766163 by Josh.Adams
- Updated icons and added a generator script when we get a new one
Change 3766560 by Allan.Bentham
Workaround for broken offsets with automation screenshots.
#jira UE-52491
Change 3767193 by Peter.Sauerbrei
remove Oculus shader from being cached
force a metal shader re-compile
#jira UE-52587
Change 3767604 by Peter.Sauerbrei
fix the Oculusshader the right way
#jira UE-52587
Change 3768543 by Sorin.Gradinaru
Android WebBrowser 3D - webbrowser plugin contins the assets, 2D behaviour restored
#Android
#UE4
#4.19
#jira UE-51374 Web Browser widget is not working on Android
#jira UE-52399 Android web browser does not accept input
Change 3663915 by Jack.Porter
Prevent FTcpListener from busy polling while waiting for connections
#jira UE-50125
Change 3709224 by Allan.Bentham
Add android target device to gauntlet.
Automation screenshot uses high res screenshot api for mobile.
#jira UEMOB-360
Change 3741453 by Chris.Babcock
Match the 4.18.1 fixes for shipping checks removing code (from CL3741091)
#ue4
Change 3769301 by Peter.Sauerbrei
fix for missing ue4_stdmetal.lib, courtesty of MarkS
#jira UE-52587
Change 3770597 by Sorin.Gradinaru
Android WebBrowser - remove the WebBrowser plugin reference from the Engine
Load the default material directly from the resources.
#Android
#UE4
#jira UE-51374 Web Browser widget is not working on Android
#jira UE-52399 Android web browser does not accept input
[CL 3771573 by Chris Babcock in Main branch]
2017-11-22 16:42:04 -05:00
|
|
|
if (BuildSettings.TextureFormatName == GTextureFormatNameAutoETC1a && !bImageHasAlphaChannel)
|
|
|
|
|
{
|
|
|
|
|
CompressedPixelFormat = PF_ETC1;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
if (BuildSettings.TextureFormatName == GTextureFormatNameAutoETC1a && bImageHasAlphaChannel)
|
|
|
|
|
{
|
|
|
|
|
CompressedPixelFormat = PF_ETC2_RGBA;
|
|
|
|
|
}
|
|
|
|
|
else
|
2014-03-14 14:13:41 -04:00
|
|
|
if (BuildSettings.TextureFormatName == GTextureFormatNameETC2_RGB ||
|
|
|
|
|
(BuildSettings.TextureFormatName == GTextureFormatNameAutoETC2 && !bImageHasAlphaChannel))
|
|
|
|
|
{
|
|
|
|
|
CompressedPixelFormat = PF_ETC2_RGB;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
if (BuildSettings.TextureFormatName == GTextureFormatNameETC2_RGBA ||
|
|
|
|
|
(BuildSettings.TextureFormatName == GTextureFormatNameAutoETC2 && bImageHasAlphaChannel))
|
|
|
|
|
{
|
|
|
|
|
CompressedPixelFormat = PF_ETC2_RGBA;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
if (BuildSettings.TextureFormatName == GTextureFormatNameATC_RGB ||
|
|
|
|
|
(BuildSettings.TextureFormatName == GTextureFormatNameAutoATC && !bImageHasAlphaChannel))
|
|
|
|
|
{
|
|
|
|
|
CompressedPixelFormat = PF_ATC_RGB;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
if (BuildSettings.TextureFormatName == GTextureFormatNameATC_RGBA_I ||
|
|
|
|
|
(BuildSettings.TextureFormatName == GTextureFormatNameAutoATC && bImageHasAlphaChannel) )
|
|
|
|
|
{
|
|
|
|
|
CompressedPixelFormat = PF_ATC_RGBA_I;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
if (BuildSettings.TextureFormatName == GTextureFormatNameATC_RGBA_E)
|
|
|
|
|
{
|
|
|
|
|
CompressedPixelFormat = PF_ATC_RGBA_E;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
check(CompressedPixelFormat != PF_Unknown);
|
|
|
|
|
|
|
|
|
|
bool bCompressionSucceeded = true;
|
|
|
|
|
int32 SliceSize = Image.SizeX * Image.SizeY;
|
|
|
|
|
for (int32 SliceIndex = 0; SliceIndex < Image.NumSlices && bCompressionSucceeded; ++SliceIndex)
|
|
|
|
|
{
|
|
|
|
|
TArray<uint8> CompressedSliceData;
|
|
|
|
|
bCompressionSucceeded = CompressImageUsingQonvert(
|
|
|
|
|
Image.AsBGRA8() + SliceIndex * SliceSize,
|
|
|
|
|
CompressedPixelFormat,
|
|
|
|
|
Image.SizeX,
|
|
|
|
|
Image.SizeY,
|
|
|
|
|
CompressedSliceData
|
|
|
|
|
);
|
|
|
|
|
OutCompressedImage.RawData.Append(CompressedSliceData);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (bCompressionSucceeded)
|
|
|
|
|
{
|
|
|
|
|
OutCompressedImage.SizeX = FMath::Max(Image.SizeX, 4);
|
|
|
|
|
OutCompressedImage.SizeY = FMath::Max(Image.SizeY, 4);
|
|
|
|
|
OutCompressedImage.PixelFormat = CompressedPixelFormat;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return bCompressionSucceeded;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Module for ATITC and ETC1/2 texture compression.
|
|
|
|
|
*/
|
|
|
|
|
static ITextureFormat* Singleton = NULL;
|
|
|
|
|
|
2015-07-15 09:20:40 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
#if PLATFORM_WINDOWS
|
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3232619)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3121996 on 2016/09/12 by Ben.Marsh
Add support for Visual Studio 2017 (aka "15"; assuming consistent naming with other versions until final name is announced).
* Compiler, STL implementation and CRT are binary compatible with VS2015 (see https://blogs.msdn.microsoft.com/vcblog/2016/08/24/c1417-features-and-stl-fixes-in-vs-15-preview-4/), so no new third-party libraries needed so far. WindowsPlatform.GetVisualStudioCompilerVersionName() returns "2015" as a result.
* Default compiler for compiling and generating project files is still VS 2015 for now. Pass -2017 on the command line to GenerateProjectFiles.bat to generate VS2017 projects. Projects generated for VS2017 will use the 2017 compiler by default.
* Visual Studio source code accessor can talk to VS 2017 instances.
* Added a VS2017 configuration for UnrealVS, and added precompiled vsix package.
* Switched GetVSComnTools to check the SOFTWARE\Microsoft\VisualStudio\SxS\VS7 registry key rather than the individual product install registry key. "15" doesn't seem to have it's own "InstallDir" key, but this system seems to work for all versions of Visual Studio (including previous releases of VS Express).
* Removed ATL dependency from VisualStudioSourceCodeAccessor. It's not installed with VS by default any more, and is only used for a couple of smart pointer classes.
Tested running the editor and packaging TP_Flying for Win64. Packaging from the editor still defaults to using the 2015 compiler, so ConfigureToolchain() needs to be overriden from the .target.cs file if multiple Visual Studio versions are installed.
Change 3189363 on 2016/11/07 by Ben.Marsh
Consolidate functionality for determining the path to MSBuild.exe to use for compiling UE4 tools into a single batch file (GetMSBuildToolPath) and fix "Clean" not working on PS4 due to include/library paths being set to something by the Visual Studio environment.
Change 3210598 on 2016/11/27 by Ben.Marsh
UBT: Prevent the name of each file compiled being output twice on XboxOne. Compiler already outputs this string; the action doesn't need to.
Change 3210601 on 2016/11/27 by Ben.Marsh
PR #2967: Add silent version of switch game version (Contributed by EricLeeFriedman)
Change 3210602 on 2016/11/27 by Ben.Marsh
PR #2964: GitDependencies shouldn't try to clean up working directory files that are excluded or ignored (Contributed by joelmcginnis)
Change 3210605 on 2016/11/27 by Ben.Marsh
UGS: Add a warning when syncing latest would remove changes that have been authored locally. Typically happens when working with precompiled binaries.
Change 3211656 on 2016/11/28 by Ben.Marsh
UBT: Move ModuleRules and TargetRules into their own file.
Change 3211797 on 2016/11/28 by Ben.Marsh
UBT: Remove utility functions from TargetRules for checking different classes of target types. Moving TargetRules to be data-only.
Change 3211833 on 2016/11/28 by Ben.Marsh
UBT: Remove overridable configuration name from target rules. This feature is not used anywhere.
Change 3211859 on 2016/11/28 by Ben.Marsh
UBT: Deprecate the GetGeneratedCodeVersion() callback in favor of a member variable instead.
Change 3211942 on 2016/11/28 by Ben.Marsh
UBT: Remove legacy code which tries to change the output paths for console binaries. Output paths for monolithic binaries are always in the project folder now.
Change 3215333 on 2016/11/30 by Ben.Marsh
UBT: Replace the GetSupportedPlatforms() callback on TargetRules with a SupportedPlatforms attribute. Since a TargetRules object can only be instantiated with an actual platform, it doesn't make sense for it to be an instance method.
Change 3215482 on 2016/11/30 by Ben.Marsh
UBT: Remove the GetSupportedConfigurations() callback on the TargetRules class. A configuration is required to construct a TargetRules instance, so it doesn't make sense to need to call an instance method to find out which configurations are supported.
Change 3215743 on 2016/11/30 by Ben.Marsh
UBT: Deprecate the TargetRules.ShouldCompileMonolithic() function: this function requires access to the global command line to operate correctly, which prevents creating target-specific instances, and does not use the platform/configuration passed into the TargetRules constructor.
Rather than being a callback, the LinkType field can now be set to TargetLinkType.Modular or TargetLinkType.Monolithic from the constructor as appropriate. The default value (TargetLinkType.Default) results in the default link type for the target type being used. Parsing of the command-line overrides is now done when building the TargetDescriptor.
Change 3215778 on 2016/11/30 by Ben.Marsh
UBT: Mark overrides of the TargetRules.GetModulesToPrecompile method as obsolete.
Change 3217681 on 2016/12/01 by Ben.Marsh
UAT: Prevent UE4Build deleting .modules files when running with the -Clean argument; these files are artifacts generated by UBT itself, not by the exported XGE script.
Change 3217723 on 2016/12/01 by Ben.Marsh
UBT: Run pre- and post-build steps for all plugins that are being built, not just those that are enabled.
Change 3217930 on 2016/12/01 by Ben.Marsh
UGS: Add a perforce settings window, allowing users to set optional values for tuning Perforce performance on unreliable connections.
Change 3218762 on 2016/12/02 by Ben.Marsh
Enable warnings whenever an undefined macro is used in a constant expression inside an #if or #elif directive, and fix existing violations.
Change 3219161 on 2016/12/02 by Ben.Marsh
Core: Use the directory containing the current module to derive the UE4 base directory, rather than the executable directory. Allows UE4 to be hosted by a process in a different directory.
Change 3219197 on 2016/12/02 by Ben.Marsh
Core: When loading a DLL from disk, convert any relative paths to absolute before calling LoadLibrary. The OS resolves these paths relative to the directory containing the process executable -- not the working directory -- so paths need to be absolute to allow UE4 to be hosted by a process elsewhere.
Change 3219209 on 2016/12/02 by Ben.Marsh
Replace some calls to LoadLibrary() with FPlatformProcess::GetDllHandle(). The UE4 function makes sure that relative paths are resolved relative to the correct base directory, which is important when the host executable is not in Engine/Binaries/Win64.
Change 3219610 on 2016/12/02 by Ben.Marsh
Add the -q (quiet) option to the Mac unzip command, since it's creating too much log output to be useful.
Change 3219731 on 2016/12/02 by Ben.Marsh
UBT: Add option to disable IWYU checks regarding the use of monolithic headers (Engine.h, UnrealEd.h, etc...) and including the matching header for a cpp file first. bEnforceIWYU can be set to false in UEBuildConfiguration or on a per-module basis in the module rules.
Change 3220796 on 2016/12/04 by Ben.Marsh
Remove PrepForUATPackageOrDeploy from the UEBuildDeploy base class. It never has to be accessed through the base class anyway.
Change 3220825 on 2016/12/04 by Ben.Marsh
UBT: Change all executors to derive from a common base class (ActionExecutor).
Change 3220834 on 2016/12/04 by Ben.Marsh
UBT: Remove the global CommandLineContains() function.
Change 3222706 on 2016/12/05 by Ben.Marsh
Merging CL 3221949 from //UE4/Release-4.14: Fixes to code analysis template causing problems with stock install of VS2017.
Change 3222712 on 2016/12/05 by Ben.Marsh
Merging CL 3222021 from //UE4/Release-4.14: Change detection of MSBuild.exe path to match GetMSBuildPath.bat
Change 3223628 on 2016/12/06 by Ben.Marsh
Merging CL 3223369 from 4.14 branch: Use the same logic as GetMsBuildPath.bat inside FDesktopPlatformBase to determine path to MSBuild.exe
Change 3223817 on 2016/12/06 by Ben.Marsh
Remove non-ANSI characters from source files. Compiler/P4 support is patchy for this, and we want to avoid failing prey to different codepages resulting in different interpretations of the source text.
Change 3224046 on 2016/12/06 by Ben.Marsh
Remove the need for the iOS/TVOS deployment instances to have an IOSPlatformContext instance. The only dependency between the two -- a call to GetRequiredCapabilities() -- is now implemented by querying the INI file for the supported architectures when neeeded.
Change 3224792 on 2016/12/07 by Ben.Marsh
UBT: Touch PCH wrapper files whenever the file they include is newer rather than writing the timestamp for the included file into it as a comment. Allows use of ccache and similar tools.
Change 3225212 on 2016/12/07 by Ben.Marsh
UBT: Move settings required for deployment into the UEBuildDeployTarget class, allowing them to be serialized to and from a file the intermediate directory without having to construct a phony UEBuildTarget to deploy.
Deployment is now performed by a method on UEBuildPlatform, rather than having to create a UEBuildPlatformContext and using that to create a UEBuildDeploy object.
The -prepfordeploy UBT invocation from UAT, previously done by the per-platform PostBuildTarget() callback when building with XGE, is replaced by running UBT with a path to the serialized UEBuildDeployTarget object, and can be done in a platform agnostic manner.
Change 3226310 on 2016/12/07 by Ben.Marsh
PR #3015: Fixes wrong VSC++ flags being passed for .c files (Contributed by badlogic)
Change 3228273 on 2016/12/08 by Ben.Marsh
Update copyright notices for QAGame.
Change 3229166 on 2016/12/09 by Ben.Marsh
UBT: Rewritten config file parser. No longer requires hard-coded list of sections to be parsed, but parses them on demand. Measured 2x faster read speeds (largely due to eliminating construction of temporary string objects when parsing each line, to trim whitespace and so on). Also includes an attribute-driven parser, which allows reading named config values for marked up fields in an object.
Change 3230601 on 2016/12/12 by Ben.Marsh
Swarm: Change Swarm AgentInterface to target .NET framework 4.5, to remove dependency on having 4.0 framework installed.
Change 3230737 on 2016/12/12 by Ben.Marsh
UAT: Stop UE4Build deriving from CommandUtils. Confusing pattern, and causes problems trying to access instance variables that are only set for build commands.
Change 3230751 on 2016/12/12 by Ben.Marsh
UAT: Move ParseParam*() functions which use the instanced parameter list from CommandUtils to BuildCommand, since that's the only thing that it's instanced for.
Change 3230804 on 2016/12/12 by Ben.Marsh
UBT: Add the IsPromotedBuild flag to Build.version, and only set the bFormalBuild flag in UBT if it's set. This allows UGS users to avoid having to compile separate RC files for each output binary.
Change 3230831 on 2016/12/12 by Ben.Marsh
UGS: Warn when trying to switch streams if files are checked out.
Change 3231281 on 2016/12/12 by Chad.Garyet
Fixing a bug where .modules files were getting put into receipts with their absolute path instead of their relative one
Change 3231496 on 2016/12/12 by Ben.Marsh
Disable code analysis in CrashReportProcess; causes warnings when compiled with VS2015.
Change 3231979 on 2016/12/12 by Ben.Marsh
UBT: Suppress LNK4221 when generating import libraries. This can happen often when generating import libraries separately to linking.
Change 3232619 on 2016/12/13 by Ben.Marsh
Fix "#pragma once in main file" errors on Mac, which are occurring in //UE4/Main.
[CL 3232653 by Ben Marsh in Main branch]
2016-12-13 11:58:16 -05:00
|
|
|
void* TextureConverterHandle = NULL;
|
2015-07-15 09:20:40 -04:00
|
|
|
FString QualCommBinariesRoot = FPaths::EngineDir() / TEXT("Binaries/ThirdParty/QualComm/Win64/");
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
2014-03-14 14:13:41 -04:00
|
|
|
class FTextureFormatAndroidModule : public ITextureFormatModule
|
|
|
|
|
{
|
|
|
|
|
public:
|
2015-07-16 09:55:37 -04:00
|
|
|
|
|
|
|
|
FTextureFormatAndroidModule()
|
|
|
|
|
{
|
|
|
|
|
#if PLATFORM_WINDOWS
|
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3232619)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3121996 on 2016/09/12 by Ben.Marsh
Add support for Visual Studio 2017 (aka "15"; assuming consistent naming with other versions until final name is announced).
* Compiler, STL implementation and CRT are binary compatible with VS2015 (see https://blogs.msdn.microsoft.com/vcblog/2016/08/24/c1417-features-and-stl-fixes-in-vs-15-preview-4/), so no new third-party libraries needed so far. WindowsPlatform.GetVisualStudioCompilerVersionName() returns "2015" as a result.
* Default compiler for compiling and generating project files is still VS 2015 for now. Pass -2017 on the command line to GenerateProjectFiles.bat to generate VS2017 projects. Projects generated for VS2017 will use the 2017 compiler by default.
* Visual Studio source code accessor can talk to VS 2017 instances.
* Added a VS2017 configuration for UnrealVS, and added precompiled vsix package.
* Switched GetVSComnTools to check the SOFTWARE\Microsoft\VisualStudio\SxS\VS7 registry key rather than the individual product install registry key. "15" doesn't seem to have it's own "InstallDir" key, but this system seems to work for all versions of Visual Studio (including previous releases of VS Express).
* Removed ATL dependency from VisualStudioSourceCodeAccessor. It's not installed with VS by default any more, and is only used for a couple of smart pointer classes.
Tested running the editor and packaging TP_Flying for Win64. Packaging from the editor still defaults to using the 2015 compiler, so ConfigureToolchain() needs to be overriden from the .target.cs file if multiple Visual Studio versions are installed.
Change 3189363 on 2016/11/07 by Ben.Marsh
Consolidate functionality for determining the path to MSBuild.exe to use for compiling UE4 tools into a single batch file (GetMSBuildToolPath) and fix "Clean" not working on PS4 due to include/library paths being set to something by the Visual Studio environment.
Change 3210598 on 2016/11/27 by Ben.Marsh
UBT: Prevent the name of each file compiled being output twice on XboxOne. Compiler already outputs this string; the action doesn't need to.
Change 3210601 on 2016/11/27 by Ben.Marsh
PR #2967: Add silent version of switch game version (Contributed by EricLeeFriedman)
Change 3210602 on 2016/11/27 by Ben.Marsh
PR #2964: GitDependencies shouldn't try to clean up working directory files that are excluded or ignored (Contributed by joelmcginnis)
Change 3210605 on 2016/11/27 by Ben.Marsh
UGS: Add a warning when syncing latest would remove changes that have been authored locally. Typically happens when working with precompiled binaries.
Change 3211656 on 2016/11/28 by Ben.Marsh
UBT: Move ModuleRules and TargetRules into their own file.
Change 3211797 on 2016/11/28 by Ben.Marsh
UBT: Remove utility functions from TargetRules for checking different classes of target types. Moving TargetRules to be data-only.
Change 3211833 on 2016/11/28 by Ben.Marsh
UBT: Remove overridable configuration name from target rules. This feature is not used anywhere.
Change 3211859 on 2016/11/28 by Ben.Marsh
UBT: Deprecate the GetGeneratedCodeVersion() callback in favor of a member variable instead.
Change 3211942 on 2016/11/28 by Ben.Marsh
UBT: Remove legacy code which tries to change the output paths for console binaries. Output paths for monolithic binaries are always in the project folder now.
Change 3215333 on 2016/11/30 by Ben.Marsh
UBT: Replace the GetSupportedPlatforms() callback on TargetRules with a SupportedPlatforms attribute. Since a TargetRules object can only be instantiated with an actual platform, it doesn't make sense for it to be an instance method.
Change 3215482 on 2016/11/30 by Ben.Marsh
UBT: Remove the GetSupportedConfigurations() callback on the TargetRules class. A configuration is required to construct a TargetRules instance, so it doesn't make sense to need to call an instance method to find out which configurations are supported.
Change 3215743 on 2016/11/30 by Ben.Marsh
UBT: Deprecate the TargetRules.ShouldCompileMonolithic() function: this function requires access to the global command line to operate correctly, which prevents creating target-specific instances, and does not use the platform/configuration passed into the TargetRules constructor.
Rather than being a callback, the LinkType field can now be set to TargetLinkType.Modular or TargetLinkType.Monolithic from the constructor as appropriate. The default value (TargetLinkType.Default) results in the default link type for the target type being used. Parsing of the command-line overrides is now done when building the TargetDescriptor.
Change 3215778 on 2016/11/30 by Ben.Marsh
UBT: Mark overrides of the TargetRules.GetModulesToPrecompile method as obsolete.
Change 3217681 on 2016/12/01 by Ben.Marsh
UAT: Prevent UE4Build deleting .modules files when running with the -Clean argument; these files are artifacts generated by UBT itself, not by the exported XGE script.
Change 3217723 on 2016/12/01 by Ben.Marsh
UBT: Run pre- and post-build steps for all plugins that are being built, not just those that are enabled.
Change 3217930 on 2016/12/01 by Ben.Marsh
UGS: Add a perforce settings window, allowing users to set optional values for tuning Perforce performance on unreliable connections.
Change 3218762 on 2016/12/02 by Ben.Marsh
Enable warnings whenever an undefined macro is used in a constant expression inside an #if or #elif directive, and fix existing violations.
Change 3219161 on 2016/12/02 by Ben.Marsh
Core: Use the directory containing the current module to derive the UE4 base directory, rather than the executable directory. Allows UE4 to be hosted by a process in a different directory.
Change 3219197 on 2016/12/02 by Ben.Marsh
Core: When loading a DLL from disk, convert any relative paths to absolute before calling LoadLibrary. The OS resolves these paths relative to the directory containing the process executable -- not the working directory -- so paths need to be absolute to allow UE4 to be hosted by a process elsewhere.
Change 3219209 on 2016/12/02 by Ben.Marsh
Replace some calls to LoadLibrary() with FPlatformProcess::GetDllHandle(). The UE4 function makes sure that relative paths are resolved relative to the correct base directory, which is important when the host executable is not in Engine/Binaries/Win64.
Change 3219610 on 2016/12/02 by Ben.Marsh
Add the -q (quiet) option to the Mac unzip command, since it's creating too much log output to be useful.
Change 3219731 on 2016/12/02 by Ben.Marsh
UBT: Add option to disable IWYU checks regarding the use of monolithic headers (Engine.h, UnrealEd.h, etc...) and including the matching header for a cpp file first. bEnforceIWYU can be set to false in UEBuildConfiguration or on a per-module basis in the module rules.
Change 3220796 on 2016/12/04 by Ben.Marsh
Remove PrepForUATPackageOrDeploy from the UEBuildDeploy base class. It never has to be accessed through the base class anyway.
Change 3220825 on 2016/12/04 by Ben.Marsh
UBT: Change all executors to derive from a common base class (ActionExecutor).
Change 3220834 on 2016/12/04 by Ben.Marsh
UBT: Remove the global CommandLineContains() function.
Change 3222706 on 2016/12/05 by Ben.Marsh
Merging CL 3221949 from //UE4/Release-4.14: Fixes to code analysis template causing problems with stock install of VS2017.
Change 3222712 on 2016/12/05 by Ben.Marsh
Merging CL 3222021 from //UE4/Release-4.14: Change detection of MSBuild.exe path to match GetMSBuildPath.bat
Change 3223628 on 2016/12/06 by Ben.Marsh
Merging CL 3223369 from 4.14 branch: Use the same logic as GetMsBuildPath.bat inside FDesktopPlatformBase to determine path to MSBuild.exe
Change 3223817 on 2016/12/06 by Ben.Marsh
Remove non-ANSI characters from source files. Compiler/P4 support is patchy for this, and we want to avoid failing prey to different codepages resulting in different interpretations of the source text.
Change 3224046 on 2016/12/06 by Ben.Marsh
Remove the need for the iOS/TVOS deployment instances to have an IOSPlatformContext instance. The only dependency between the two -- a call to GetRequiredCapabilities() -- is now implemented by querying the INI file for the supported architectures when neeeded.
Change 3224792 on 2016/12/07 by Ben.Marsh
UBT: Touch PCH wrapper files whenever the file they include is newer rather than writing the timestamp for the included file into it as a comment. Allows use of ccache and similar tools.
Change 3225212 on 2016/12/07 by Ben.Marsh
UBT: Move settings required for deployment into the UEBuildDeployTarget class, allowing them to be serialized to and from a file the intermediate directory without having to construct a phony UEBuildTarget to deploy.
Deployment is now performed by a method on UEBuildPlatform, rather than having to create a UEBuildPlatformContext and using that to create a UEBuildDeploy object.
The -prepfordeploy UBT invocation from UAT, previously done by the per-platform PostBuildTarget() callback when building with XGE, is replaced by running UBT with a path to the serialized UEBuildDeployTarget object, and can be done in a platform agnostic manner.
Change 3226310 on 2016/12/07 by Ben.Marsh
PR #3015: Fixes wrong VSC++ flags being passed for .c files (Contributed by badlogic)
Change 3228273 on 2016/12/08 by Ben.Marsh
Update copyright notices for QAGame.
Change 3229166 on 2016/12/09 by Ben.Marsh
UBT: Rewritten config file parser. No longer requires hard-coded list of sections to be parsed, but parses them on demand. Measured 2x faster read speeds (largely due to eliminating construction of temporary string objects when parsing each line, to trim whitespace and so on). Also includes an attribute-driven parser, which allows reading named config values for marked up fields in an object.
Change 3230601 on 2016/12/12 by Ben.Marsh
Swarm: Change Swarm AgentInterface to target .NET framework 4.5, to remove dependency on having 4.0 framework installed.
Change 3230737 on 2016/12/12 by Ben.Marsh
UAT: Stop UE4Build deriving from CommandUtils. Confusing pattern, and causes problems trying to access instance variables that are only set for build commands.
Change 3230751 on 2016/12/12 by Ben.Marsh
UAT: Move ParseParam*() functions which use the instanced parameter list from CommandUtils to BuildCommand, since that's the only thing that it's instanced for.
Change 3230804 on 2016/12/12 by Ben.Marsh
UBT: Add the IsPromotedBuild flag to Build.version, and only set the bFormalBuild flag in UBT if it's set. This allows UGS users to avoid having to compile separate RC files for each output binary.
Change 3230831 on 2016/12/12 by Ben.Marsh
UGS: Warn when trying to switch streams if files are checked out.
Change 3231281 on 2016/12/12 by Chad.Garyet
Fixing a bug where .modules files were getting put into receipts with their absolute path instead of their relative one
Change 3231496 on 2016/12/12 by Ben.Marsh
Disable code analysis in CrashReportProcess; causes warnings when compiled with VS2015.
Change 3231979 on 2016/12/12 by Ben.Marsh
UBT: Suppress LNK4221 when generating import libraries. This can happen often when generating import libraries separately to linking.
Change 3232619 on 2016/12/13 by Ben.Marsh
Fix "#pragma once in main file" errors on Mac, which are occurring in //UE4/Main.
[CL 3232653 by Ben Marsh in Main branch]
2016-12-13 11:58:16 -05:00
|
|
|
TextureConverterHandle = FPlatformProcess::GetDllHandle(*(QualCommBinariesRoot + "TextureConverter.dll"));
|
2015-07-16 09:55:37 -04:00
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
|
2014-03-14 14:13:41 -04:00
|
|
|
virtual ~FTextureFormatAndroidModule()
|
|
|
|
|
{
|
|
|
|
|
delete Singleton;
|
|
|
|
|
Singleton = NULL;
|
2015-07-15 09:20:40 -04:00
|
|
|
|
|
|
|
|
#if PLATFORM_WINDOWS
|
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3232619)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3121996 on 2016/09/12 by Ben.Marsh
Add support for Visual Studio 2017 (aka "15"; assuming consistent naming with other versions until final name is announced).
* Compiler, STL implementation and CRT are binary compatible with VS2015 (see https://blogs.msdn.microsoft.com/vcblog/2016/08/24/c1417-features-and-stl-fixes-in-vs-15-preview-4/), so no new third-party libraries needed so far. WindowsPlatform.GetVisualStudioCompilerVersionName() returns "2015" as a result.
* Default compiler for compiling and generating project files is still VS 2015 for now. Pass -2017 on the command line to GenerateProjectFiles.bat to generate VS2017 projects. Projects generated for VS2017 will use the 2017 compiler by default.
* Visual Studio source code accessor can talk to VS 2017 instances.
* Added a VS2017 configuration for UnrealVS, and added precompiled vsix package.
* Switched GetVSComnTools to check the SOFTWARE\Microsoft\VisualStudio\SxS\VS7 registry key rather than the individual product install registry key. "15" doesn't seem to have it's own "InstallDir" key, but this system seems to work for all versions of Visual Studio (including previous releases of VS Express).
* Removed ATL dependency from VisualStudioSourceCodeAccessor. It's not installed with VS by default any more, and is only used for a couple of smart pointer classes.
Tested running the editor and packaging TP_Flying for Win64. Packaging from the editor still defaults to using the 2015 compiler, so ConfigureToolchain() needs to be overriden from the .target.cs file if multiple Visual Studio versions are installed.
Change 3189363 on 2016/11/07 by Ben.Marsh
Consolidate functionality for determining the path to MSBuild.exe to use for compiling UE4 tools into a single batch file (GetMSBuildToolPath) and fix "Clean" not working on PS4 due to include/library paths being set to something by the Visual Studio environment.
Change 3210598 on 2016/11/27 by Ben.Marsh
UBT: Prevent the name of each file compiled being output twice on XboxOne. Compiler already outputs this string; the action doesn't need to.
Change 3210601 on 2016/11/27 by Ben.Marsh
PR #2967: Add silent version of switch game version (Contributed by EricLeeFriedman)
Change 3210602 on 2016/11/27 by Ben.Marsh
PR #2964: GitDependencies shouldn't try to clean up working directory files that are excluded or ignored (Contributed by joelmcginnis)
Change 3210605 on 2016/11/27 by Ben.Marsh
UGS: Add a warning when syncing latest would remove changes that have been authored locally. Typically happens when working with precompiled binaries.
Change 3211656 on 2016/11/28 by Ben.Marsh
UBT: Move ModuleRules and TargetRules into their own file.
Change 3211797 on 2016/11/28 by Ben.Marsh
UBT: Remove utility functions from TargetRules for checking different classes of target types. Moving TargetRules to be data-only.
Change 3211833 on 2016/11/28 by Ben.Marsh
UBT: Remove overridable configuration name from target rules. This feature is not used anywhere.
Change 3211859 on 2016/11/28 by Ben.Marsh
UBT: Deprecate the GetGeneratedCodeVersion() callback in favor of a member variable instead.
Change 3211942 on 2016/11/28 by Ben.Marsh
UBT: Remove legacy code which tries to change the output paths for console binaries. Output paths for monolithic binaries are always in the project folder now.
Change 3215333 on 2016/11/30 by Ben.Marsh
UBT: Replace the GetSupportedPlatforms() callback on TargetRules with a SupportedPlatforms attribute. Since a TargetRules object can only be instantiated with an actual platform, it doesn't make sense for it to be an instance method.
Change 3215482 on 2016/11/30 by Ben.Marsh
UBT: Remove the GetSupportedConfigurations() callback on the TargetRules class. A configuration is required to construct a TargetRules instance, so it doesn't make sense to need to call an instance method to find out which configurations are supported.
Change 3215743 on 2016/11/30 by Ben.Marsh
UBT: Deprecate the TargetRules.ShouldCompileMonolithic() function: this function requires access to the global command line to operate correctly, which prevents creating target-specific instances, and does not use the platform/configuration passed into the TargetRules constructor.
Rather than being a callback, the LinkType field can now be set to TargetLinkType.Modular or TargetLinkType.Monolithic from the constructor as appropriate. The default value (TargetLinkType.Default) results in the default link type for the target type being used. Parsing of the command-line overrides is now done when building the TargetDescriptor.
Change 3215778 on 2016/11/30 by Ben.Marsh
UBT: Mark overrides of the TargetRules.GetModulesToPrecompile method as obsolete.
Change 3217681 on 2016/12/01 by Ben.Marsh
UAT: Prevent UE4Build deleting .modules files when running with the -Clean argument; these files are artifacts generated by UBT itself, not by the exported XGE script.
Change 3217723 on 2016/12/01 by Ben.Marsh
UBT: Run pre- and post-build steps for all plugins that are being built, not just those that are enabled.
Change 3217930 on 2016/12/01 by Ben.Marsh
UGS: Add a perforce settings window, allowing users to set optional values for tuning Perforce performance on unreliable connections.
Change 3218762 on 2016/12/02 by Ben.Marsh
Enable warnings whenever an undefined macro is used in a constant expression inside an #if or #elif directive, and fix existing violations.
Change 3219161 on 2016/12/02 by Ben.Marsh
Core: Use the directory containing the current module to derive the UE4 base directory, rather than the executable directory. Allows UE4 to be hosted by a process in a different directory.
Change 3219197 on 2016/12/02 by Ben.Marsh
Core: When loading a DLL from disk, convert any relative paths to absolute before calling LoadLibrary. The OS resolves these paths relative to the directory containing the process executable -- not the working directory -- so paths need to be absolute to allow UE4 to be hosted by a process elsewhere.
Change 3219209 on 2016/12/02 by Ben.Marsh
Replace some calls to LoadLibrary() with FPlatformProcess::GetDllHandle(). The UE4 function makes sure that relative paths are resolved relative to the correct base directory, which is important when the host executable is not in Engine/Binaries/Win64.
Change 3219610 on 2016/12/02 by Ben.Marsh
Add the -q (quiet) option to the Mac unzip command, since it's creating too much log output to be useful.
Change 3219731 on 2016/12/02 by Ben.Marsh
UBT: Add option to disable IWYU checks regarding the use of monolithic headers (Engine.h, UnrealEd.h, etc...) and including the matching header for a cpp file first. bEnforceIWYU can be set to false in UEBuildConfiguration or on a per-module basis in the module rules.
Change 3220796 on 2016/12/04 by Ben.Marsh
Remove PrepForUATPackageOrDeploy from the UEBuildDeploy base class. It never has to be accessed through the base class anyway.
Change 3220825 on 2016/12/04 by Ben.Marsh
UBT: Change all executors to derive from a common base class (ActionExecutor).
Change 3220834 on 2016/12/04 by Ben.Marsh
UBT: Remove the global CommandLineContains() function.
Change 3222706 on 2016/12/05 by Ben.Marsh
Merging CL 3221949 from //UE4/Release-4.14: Fixes to code analysis template causing problems with stock install of VS2017.
Change 3222712 on 2016/12/05 by Ben.Marsh
Merging CL 3222021 from //UE4/Release-4.14: Change detection of MSBuild.exe path to match GetMSBuildPath.bat
Change 3223628 on 2016/12/06 by Ben.Marsh
Merging CL 3223369 from 4.14 branch: Use the same logic as GetMsBuildPath.bat inside FDesktopPlatformBase to determine path to MSBuild.exe
Change 3223817 on 2016/12/06 by Ben.Marsh
Remove non-ANSI characters from source files. Compiler/P4 support is patchy for this, and we want to avoid failing prey to different codepages resulting in different interpretations of the source text.
Change 3224046 on 2016/12/06 by Ben.Marsh
Remove the need for the iOS/TVOS deployment instances to have an IOSPlatformContext instance. The only dependency between the two -- a call to GetRequiredCapabilities() -- is now implemented by querying the INI file for the supported architectures when neeeded.
Change 3224792 on 2016/12/07 by Ben.Marsh
UBT: Touch PCH wrapper files whenever the file they include is newer rather than writing the timestamp for the included file into it as a comment. Allows use of ccache and similar tools.
Change 3225212 on 2016/12/07 by Ben.Marsh
UBT: Move settings required for deployment into the UEBuildDeployTarget class, allowing them to be serialized to and from a file the intermediate directory without having to construct a phony UEBuildTarget to deploy.
Deployment is now performed by a method on UEBuildPlatform, rather than having to create a UEBuildPlatformContext and using that to create a UEBuildDeploy object.
The -prepfordeploy UBT invocation from UAT, previously done by the per-platform PostBuildTarget() callback when building with XGE, is replaced by running UBT with a path to the serialized UEBuildDeployTarget object, and can be done in a platform agnostic manner.
Change 3226310 on 2016/12/07 by Ben.Marsh
PR #3015: Fixes wrong VSC++ flags being passed for .c files (Contributed by badlogic)
Change 3228273 on 2016/12/08 by Ben.Marsh
Update copyright notices for QAGame.
Change 3229166 on 2016/12/09 by Ben.Marsh
UBT: Rewritten config file parser. No longer requires hard-coded list of sections to be parsed, but parses them on demand. Measured 2x faster read speeds (largely due to eliminating construction of temporary string objects when parsing each line, to trim whitespace and so on). Also includes an attribute-driven parser, which allows reading named config values for marked up fields in an object.
Change 3230601 on 2016/12/12 by Ben.Marsh
Swarm: Change Swarm AgentInterface to target .NET framework 4.5, to remove dependency on having 4.0 framework installed.
Change 3230737 on 2016/12/12 by Ben.Marsh
UAT: Stop UE4Build deriving from CommandUtils. Confusing pattern, and causes problems trying to access instance variables that are only set for build commands.
Change 3230751 on 2016/12/12 by Ben.Marsh
UAT: Move ParseParam*() functions which use the instanced parameter list from CommandUtils to BuildCommand, since that's the only thing that it's instanced for.
Change 3230804 on 2016/12/12 by Ben.Marsh
UBT: Add the IsPromotedBuild flag to Build.version, and only set the bFormalBuild flag in UBT if it's set. This allows UGS users to avoid having to compile separate RC files for each output binary.
Change 3230831 on 2016/12/12 by Ben.Marsh
UGS: Warn when trying to switch streams if files are checked out.
Change 3231281 on 2016/12/12 by Chad.Garyet
Fixing a bug where .modules files were getting put into receipts with their absolute path instead of their relative one
Change 3231496 on 2016/12/12 by Ben.Marsh
Disable code analysis in CrashReportProcess; causes warnings when compiled with VS2015.
Change 3231979 on 2016/12/12 by Ben.Marsh
UBT: Suppress LNK4221 when generating import libraries. This can happen often when generating import libraries separately to linking.
Change 3232619 on 2016/12/13 by Ben.Marsh
Fix "#pragma once in main file" errors on Mac, which are occurring in //UE4/Main.
[CL 3232653 by Ben Marsh in Main branch]
2016-12-13 11:58:16 -05:00
|
|
|
FPlatformProcess::FreeDllHandle(TextureConverterHandle);
|
2015-07-15 09:20:40 -04:00
|
|
|
#endif
|
2014-03-14 14:13:41 -04:00
|
|
|
}
|
|
|
|
|
virtual ITextureFormat* GetTextureFormat()
|
|
|
|
|
{
|
|
|
|
|
if (!Singleton)
|
|
|
|
|
{
|
2015-07-15 09:20:40 -04:00
|
|
|
#if PLATFORM_WINDOWS
|
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3232619)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3121996 on 2016/09/12 by Ben.Marsh
Add support for Visual Studio 2017 (aka "15"; assuming consistent naming with other versions until final name is announced).
* Compiler, STL implementation and CRT are binary compatible with VS2015 (see https://blogs.msdn.microsoft.com/vcblog/2016/08/24/c1417-features-and-stl-fixes-in-vs-15-preview-4/), so no new third-party libraries needed so far. WindowsPlatform.GetVisualStudioCompilerVersionName() returns "2015" as a result.
* Default compiler for compiling and generating project files is still VS 2015 for now. Pass -2017 on the command line to GenerateProjectFiles.bat to generate VS2017 projects. Projects generated for VS2017 will use the 2017 compiler by default.
* Visual Studio source code accessor can talk to VS 2017 instances.
* Added a VS2017 configuration for UnrealVS, and added precompiled vsix package.
* Switched GetVSComnTools to check the SOFTWARE\Microsoft\VisualStudio\SxS\VS7 registry key rather than the individual product install registry key. "15" doesn't seem to have it's own "InstallDir" key, but this system seems to work for all versions of Visual Studio (including previous releases of VS Express).
* Removed ATL dependency from VisualStudioSourceCodeAccessor. It's not installed with VS by default any more, and is only used for a couple of smart pointer classes.
Tested running the editor and packaging TP_Flying for Win64. Packaging from the editor still defaults to using the 2015 compiler, so ConfigureToolchain() needs to be overriden from the .target.cs file if multiple Visual Studio versions are installed.
Change 3189363 on 2016/11/07 by Ben.Marsh
Consolidate functionality for determining the path to MSBuild.exe to use for compiling UE4 tools into a single batch file (GetMSBuildToolPath) and fix "Clean" not working on PS4 due to include/library paths being set to something by the Visual Studio environment.
Change 3210598 on 2016/11/27 by Ben.Marsh
UBT: Prevent the name of each file compiled being output twice on XboxOne. Compiler already outputs this string; the action doesn't need to.
Change 3210601 on 2016/11/27 by Ben.Marsh
PR #2967: Add silent version of switch game version (Contributed by EricLeeFriedman)
Change 3210602 on 2016/11/27 by Ben.Marsh
PR #2964: GitDependencies shouldn't try to clean up working directory files that are excluded or ignored (Contributed by joelmcginnis)
Change 3210605 on 2016/11/27 by Ben.Marsh
UGS: Add a warning when syncing latest would remove changes that have been authored locally. Typically happens when working with precompiled binaries.
Change 3211656 on 2016/11/28 by Ben.Marsh
UBT: Move ModuleRules and TargetRules into their own file.
Change 3211797 on 2016/11/28 by Ben.Marsh
UBT: Remove utility functions from TargetRules for checking different classes of target types. Moving TargetRules to be data-only.
Change 3211833 on 2016/11/28 by Ben.Marsh
UBT: Remove overridable configuration name from target rules. This feature is not used anywhere.
Change 3211859 on 2016/11/28 by Ben.Marsh
UBT: Deprecate the GetGeneratedCodeVersion() callback in favor of a member variable instead.
Change 3211942 on 2016/11/28 by Ben.Marsh
UBT: Remove legacy code which tries to change the output paths for console binaries. Output paths for monolithic binaries are always in the project folder now.
Change 3215333 on 2016/11/30 by Ben.Marsh
UBT: Replace the GetSupportedPlatforms() callback on TargetRules with a SupportedPlatforms attribute. Since a TargetRules object can only be instantiated with an actual platform, it doesn't make sense for it to be an instance method.
Change 3215482 on 2016/11/30 by Ben.Marsh
UBT: Remove the GetSupportedConfigurations() callback on the TargetRules class. A configuration is required to construct a TargetRules instance, so it doesn't make sense to need to call an instance method to find out which configurations are supported.
Change 3215743 on 2016/11/30 by Ben.Marsh
UBT: Deprecate the TargetRules.ShouldCompileMonolithic() function: this function requires access to the global command line to operate correctly, which prevents creating target-specific instances, and does not use the platform/configuration passed into the TargetRules constructor.
Rather than being a callback, the LinkType field can now be set to TargetLinkType.Modular or TargetLinkType.Monolithic from the constructor as appropriate. The default value (TargetLinkType.Default) results in the default link type for the target type being used. Parsing of the command-line overrides is now done when building the TargetDescriptor.
Change 3215778 on 2016/11/30 by Ben.Marsh
UBT: Mark overrides of the TargetRules.GetModulesToPrecompile method as obsolete.
Change 3217681 on 2016/12/01 by Ben.Marsh
UAT: Prevent UE4Build deleting .modules files when running with the -Clean argument; these files are artifacts generated by UBT itself, not by the exported XGE script.
Change 3217723 on 2016/12/01 by Ben.Marsh
UBT: Run pre- and post-build steps for all plugins that are being built, not just those that are enabled.
Change 3217930 on 2016/12/01 by Ben.Marsh
UGS: Add a perforce settings window, allowing users to set optional values for tuning Perforce performance on unreliable connections.
Change 3218762 on 2016/12/02 by Ben.Marsh
Enable warnings whenever an undefined macro is used in a constant expression inside an #if or #elif directive, and fix existing violations.
Change 3219161 on 2016/12/02 by Ben.Marsh
Core: Use the directory containing the current module to derive the UE4 base directory, rather than the executable directory. Allows UE4 to be hosted by a process in a different directory.
Change 3219197 on 2016/12/02 by Ben.Marsh
Core: When loading a DLL from disk, convert any relative paths to absolute before calling LoadLibrary. The OS resolves these paths relative to the directory containing the process executable -- not the working directory -- so paths need to be absolute to allow UE4 to be hosted by a process elsewhere.
Change 3219209 on 2016/12/02 by Ben.Marsh
Replace some calls to LoadLibrary() with FPlatformProcess::GetDllHandle(). The UE4 function makes sure that relative paths are resolved relative to the correct base directory, which is important when the host executable is not in Engine/Binaries/Win64.
Change 3219610 on 2016/12/02 by Ben.Marsh
Add the -q (quiet) option to the Mac unzip command, since it's creating too much log output to be useful.
Change 3219731 on 2016/12/02 by Ben.Marsh
UBT: Add option to disable IWYU checks regarding the use of monolithic headers (Engine.h, UnrealEd.h, etc...) and including the matching header for a cpp file first. bEnforceIWYU can be set to false in UEBuildConfiguration or on a per-module basis in the module rules.
Change 3220796 on 2016/12/04 by Ben.Marsh
Remove PrepForUATPackageOrDeploy from the UEBuildDeploy base class. It never has to be accessed through the base class anyway.
Change 3220825 on 2016/12/04 by Ben.Marsh
UBT: Change all executors to derive from a common base class (ActionExecutor).
Change 3220834 on 2016/12/04 by Ben.Marsh
UBT: Remove the global CommandLineContains() function.
Change 3222706 on 2016/12/05 by Ben.Marsh
Merging CL 3221949 from //UE4/Release-4.14: Fixes to code analysis template causing problems with stock install of VS2017.
Change 3222712 on 2016/12/05 by Ben.Marsh
Merging CL 3222021 from //UE4/Release-4.14: Change detection of MSBuild.exe path to match GetMSBuildPath.bat
Change 3223628 on 2016/12/06 by Ben.Marsh
Merging CL 3223369 from 4.14 branch: Use the same logic as GetMsBuildPath.bat inside FDesktopPlatformBase to determine path to MSBuild.exe
Change 3223817 on 2016/12/06 by Ben.Marsh
Remove non-ANSI characters from source files. Compiler/P4 support is patchy for this, and we want to avoid failing prey to different codepages resulting in different interpretations of the source text.
Change 3224046 on 2016/12/06 by Ben.Marsh
Remove the need for the iOS/TVOS deployment instances to have an IOSPlatformContext instance. The only dependency between the two -- a call to GetRequiredCapabilities() -- is now implemented by querying the INI file for the supported architectures when neeeded.
Change 3224792 on 2016/12/07 by Ben.Marsh
UBT: Touch PCH wrapper files whenever the file they include is newer rather than writing the timestamp for the included file into it as a comment. Allows use of ccache and similar tools.
Change 3225212 on 2016/12/07 by Ben.Marsh
UBT: Move settings required for deployment into the UEBuildDeployTarget class, allowing them to be serialized to and from a file the intermediate directory without having to construct a phony UEBuildTarget to deploy.
Deployment is now performed by a method on UEBuildPlatform, rather than having to create a UEBuildPlatformContext and using that to create a UEBuildDeploy object.
The -prepfordeploy UBT invocation from UAT, previously done by the per-platform PostBuildTarget() callback when building with XGE, is replaced by running UBT with a path to the serialized UEBuildDeployTarget object, and can be done in a platform agnostic manner.
Change 3226310 on 2016/12/07 by Ben.Marsh
PR #3015: Fixes wrong VSC++ flags being passed for .c files (Contributed by badlogic)
Change 3228273 on 2016/12/08 by Ben.Marsh
Update copyright notices for QAGame.
Change 3229166 on 2016/12/09 by Ben.Marsh
UBT: Rewritten config file parser. No longer requires hard-coded list of sections to be parsed, but parses them on demand. Measured 2x faster read speeds (largely due to eliminating construction of temporary string objects when parsing each line, to trim whitespace and so on). Also includes an attribute-driven parser, which allows reading named config values for marked up fields in an object.
Change 3230601 on 2016/12/12 by Ben.Marsh
Swarm: Change Swarm AgentInterface to target .NET framework 4.5, to remove dependency on having 4.0 framework installed.
Change 3230737 on 2016/12/12 by Ben.Marsh
UAT: Stop UE4Build deriving from CommandUtils. Confusing pattern, and causes problems trying to access instance variables that are only set for build commands.
Change 3230751 on 2016/12/12 by Ben.Marsh
UAT: Move ParseParam*() functions which use the instanced parameter list from CommandUtils to BuildCommand, since that's the only thing that it's instanced for.
Change 3230804 on 2016/12/12 by Ben.Marsh
UBT: Add the IsPromotedBuild flag to Build.version, and only set the bFormalBuild flag in UBT if it's set. This allows UGS users to avoid having to compile separate RC files for each output binary.
Change 3230831 on 2016/12/12 by Ben.Marsh
UGS: Warn when trying to switch streams if files are checked out.
Change 3231281 on 2016/12/12 by Chad.Garyet
Fixing a bug where .modules files were getting put into receipts with their absolute path instead of their relative one
Change 3231496 on 2016/12/12 by Ben.Marsh
Disable code analysis in CrashReportProcess; causes warnings when compiled with VS2015.
Change 3231979 on 2016/12/12 by Ben.Marsh
UBT: Suppress LNK4221 when generating import libraries. This can happen often when generating import libraries separately to linking.
Change 3232619 on 2016/12/13 by Ben.Marsh
Fix "#pragma once in main file" errors on Mac, which are occurring in //UE4/Main.
[CL 3232653 by Ben Marsh in Main branch]
2016-12-13 11:58:16 -05:00
|
|
|
TextureConverterHandle = FPlatformProcess::GetDllHandle(*(QualCommBinariesRoot + "TextureConverter.dll"));
|
2015-07-15 09:20:40 -04:00
|
|
|
#endif
|
2014-03-14 14:13:41 -04:00
|
|
|
Singleton = new FTextureFormatAndroid();
|
|
|
|
|
}
|
|
|
|
|
return Singleton;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
IMPLEMENT_MODULE(FTextureFormatAndroidModule, TextureFormatAndroid);
|