Commit Graph

115 Commits

Author SHA1 Message Date
Gil Gribb
598cbb659c UE4 - allow draw events to work in parallel rendering, some flush tweaks
[CL 2293700 by Gil Gribb in Main branch]
2014-09-11 09:38:38 -04:00
Gil Gribb
028e20b821 UE4 - parallel rendering tweaks. XB1 pseduo-threadsafe query readback. virtual RHI call elimination, optional (and disabled) stats on RHI commands. Disabled state reduction.
[CL 2290946 by Gil Gribb in Main branch]
2014-09-09 12:21:31 -04:00
Rolando Caloca
db3a94f08e UE4 - Remove Feature Level SM3 & replace it with ES 3.1.
- Fixes up the featurelevel switch on material nodes to default all ES2 inputs to also occur on ES3.1

[CL 2286623 by Rolando Caloca in Main branch]
2014-09-05 15:06:43 -04:00
Mike Fricker
2c6f571a5d Various compilation fixes for Clang on Windows platform
- Fixed some warnings and errors in Windows code when bCompileWithClang=true

[CL 2284753 by Mike Fricker in Main branch]
2014-09-04 13:15:42 -04:00
Gil Gribb
2138564178 UE4 - RHI Thread implementation for XB1
[CL 2284612 by Gil Gribb in Main branch]
2014-09-04 11:35:18 -04:00
Nick Penwarden
128c2f4a9e Remove stats that are no longer useful and were causing many calls to Cycles per frame.
[CL 2278121 by Nick Penwarden in Main branch]
2014-08-29 16:31:30 -04:00
Graeme Thornton
df9dbd5ae3 Continued in-editor mobile preview work
- Removed default shader platform parameter from GetGlobalShaderMap()
 - Added an inline overload of GetGlobalShaderMap() that takes a feature level instead, and translates to the correct shader platform
 - Cached feature level on FSceneView for faster access
 - Cached shader map on FViewInfo for faster access
 - Cached featurelevel/shadermap on rendering composition graph execution context, for faster access

Fixed a couple of crashes when switching feature level dynamically
 - Needed to allow certain shader permutations to be generated if feature level was ES2, but still on a PC platform. (i.e. hitproxy shaders, and basepass shaders used by editor primitives system)

#codereview Nick.Penwarden

[CL 2275937 by Graeme Thornton in Main branch]
2014-08-28 06:22:54 -04:00
Rolando Caloca
14cc8f09a3 UE4 - Integrate
- Addes 3_1 define on shaders
- Fixes GL packed uniforms array size incorrect assert
- Disallows running the editor with -featureleveles2
- r.MobileHDR is now read-only
- Moved some checks from SM3 to SM4

[CL 2270866 by Rolando Caloca in Main branch]
2014-08-25 14:41:54 -04:00
Ben Marsh
e9f8b8d3a1 Fixup multiline comments that are meant to be documentation. Need to start with /** for doxygen to parse them.
[CL 2265840 by Ben Marsh in Main branch]
2014-08-21 08:33:39 -04:00
Mikolaj Sieluzycki
cfaf45ac58 Header cleanup: Engine module, public headers.
[CL 2265766 by Mikolaj Sieluzycki in Main branch]
2014-08-21 06:03:00 -04:00
Graeme Thornton
bcde0d05c2 Mobile Preview
* More removal of GRHIFeatureLevel and GRHIShaderPlatform

[CL 2262530 by Graeme Thornton in Main branch]
2014-08-19 10:41:34 -04:00
Robert Jones
566d29dd25 #ttp 334858 Android : Support ADPCM
Added support for ADPCM decoding.
Added 'sound type' information to USoundWave
- Android uses this to detect which type of asset it needs to deal with
Added support for selected encoding type via project settings

#codereview Daniel.Lamb, Chris.Babcock

[CL 2260750 by Robert Jones in Main branch]
2014-08-18 09:13:38 -04:00
JJ Hoesing
c906ce6f11 - Oculus 0.4.1 support
- Initial Mac direct rendering support
- Added WindowedMirror mode for pseudo-fullscreen support on devices like HMDs
- PlayerController key input currently routes through the Oculus plug-in in order to bypass the health & safety warning.  Will likely move this up to GameViewport.cpp instead.
- Note: with the Oculus plug-in enabled, normal fullscreen will not work if the direct mode driver is enabled!
- Currently PreInit() will be called on all enabled HMDs.  This may or may not be an issue.  Currently it's not.

[CL 2257312 by JJ Hoesing in Main branch]
2014-08-14 21:29:44 -04:00
Lina Halper
e513ea2300 Named FMatrix/FTransform unsafe Inverse to InverseFast, and InverseSafe,InverseSlow to Inverse as people often use Inverse as default function.
- Inverse was one of the main reasons of crashes via lots of functions. Seems making default Inverse to be safer version seems better.

[CL 2255081 by Lina Halper in Main branch]
2014-08-13 15:29:41 -04:00
Marc Audy
1ab5ccee92 Fix crash using 7.1 speaker set up due to X3DAudioCalculate overrunning the matrix coefficient buffer we set out
[CL 2254836 by Marc Audy in Main branch]
2014-08-13 13:08:51 -04:00
Daniel Wright
ea1d38c1c3 FPrimitiveSceneProxy::PreRenderView / DrawDynamicElements refactored into GetDynamicMeshElements
* Both paths still exist in code during this transition.  The GetDynamicMeshElements path is currently disabled, enable with 'r.UseGetDynamicMeshElements 1'.
* DrawDynamicElements was called once per pass, all sorts of pass-specific cruft had leaked in along with short-term modifications of shared structures (vertex factories and material proxies).  DrawDynamicElements was not const, so a bunch of 'update' type work had leaked in.  Various PreRenderView implementations relied on the view being in the view family.
* GetDynamicMeshElements is called once in InitViews, and the resulting meshes are used in various passes.  GetDynamicMeshElements is const and must not modify the proxy, update work should be pushed to the proxy from the game thread.  GetDynamicMeshElements can be called on views that are not in the view family, which allows a proper view for shadow depth passes.
* View mode override functionality moved out of the individual proxies into a centralized place, ApplyViewModeOverrides
* GPU particles not working yet, FRecastRenderingSceneProxy not implemented

[CL 2253795 by Daniel Wright in Main branch]
2014-08-12 18:24:52 -04:00
Marc Audy
5f358fb308 Do not disable audio when an audio devices that support > 6 channels is attached
[CL 2251887 by Marc Audy in Main branch]
2014-08-11 16:31:36 -04:00
JJ Hoesing
8391b873d4 Interface level changes in preparation for Oculus 0.4 integration.
#codereview Nick.Whiting

[CL 2244782 by JJ Hoesing in Main branch]
2014-08-05 17:36:56 -04:00
Keith Judge
4373954f91 Remove CMASK compression disabling for Xbox One as the corruption is fixed in the July QFE1.
[CL 2238422 by Keith Judge in Main branch]
2014-07-31 11:49:21 -04:00
Graeme Thornton
9e0c448386 Mobile Preview Continued Work:
* For several preview components (cascade + a couple of animation previews), don't create a separate FXSystem for the preview world. Just use the one created internally by the world
* Several bug fixes and improvements to dynamic feature level switch
* Continued conversion of code that references to global feature level.

#codereview Nick.Penwarden

[CL 2229679 by Graeme Thornton in Main branch]
2014-07-24 05:23:50 -04:00
Jeff Campeau
7c3470dae9 Remove unused duplicate define
[CL 2227548 by Jeff Campeau in Main branch]
2014-07-22 16:58:44 -04:00
Gil Gribb
18d525f874 UE4 - parallel rendering, reworks command lists
[CL 2226868 by Gil Gribb in Main branch]
2014-07-22 08:29:38 -04:00
Gil Gribb
fe1b255d99 UE4 - defer deletes of RHI resources and some parallel prototyping
[CL 2218215 by Gil Gribb in Main branch]
2014-07-15 07:34:34 -04:00
Matthew Griffin
c0d29a957c Multi channel support for Opus
Implemented CookSurround function for AudioFormatOpus, refactoring as much common code from the standard Cook into re-usable functions.
Changed OpusAudioInfo class to use a multistream decoder for all sounds, as 1 and 2 channel sounds can still be decoded by it. Just had to create an array of mappings that would take the internal Opus format and give back PCM data in the order that Unreal expects.
Also made the OpusDecoderWrapper a true wrapper so that you don't have to use any opus functions outside of it and it will not function if WITH_OPUS is not defined.
Added a virtual function to the CompressedAudioInfo interface, to check whether its uncompressed data will be in the Vorbis format. This is to make sure that code currently just checking whether there is a DecompressionState can now be sure that the Vorbis format is being used before routing sound to different speakers.
Made sure that you can't cause any problems by adding or removing a SoundWave from the Audio Streaming Manager more than once. Also rearranged where sounds are added to the manager so that it is only done in one place and it's safe when changing quality triggers recompression/splitting.
Added a global multidimensional array to store all the Vorbis channel orderings as they needed to be used in multiple places.
Added Logging and Memory tracking for the streaming process.

[CL 2217839 by Matthew Griffin in Main branch]
2014-07-15 06:09:13 -04:00
Bob Tellez
a399d885b6 Merging CL#2188206 using UE4-Fortnite-To-UE4
MCPInfo:
  "app" : "fortnite",
  "moduleName" : "Fortnite-PublicService",
  "branch" : "TRUNK",
  "build" : "240",
  "cln" : "2172251",
  "version" : "UNKNOWN"

[CL 2215307 by Bob Tellez in Main branch]
2014-07-14 19:41:38 -04:00