Commit Graph

105 Commits

Author SHA1 Message Date
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
Allan Bentham
85930517d6 Fix crash with opengl UBOs when ES2 preview mode is toggled.
ES2 emulation now uses UBOs instead of packed uniform blocks.
Fixed issue with ogl shader compiler introducing '__' into padding variable names.

[CL 2264084 by Allan Bentham in Main branch]
2014-08-20 08:27:17 -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
Mark Satterthwaite
6fd74f8d80 Wrap glFlush so that on OS X we always call glFlushRenderAPPLE which is faster, while still sufficient for these calls.
#codereview michael.trepka

[CL 2251430 by Mark Satterthwaite in Main branch]
2014-08-11 10:55:35 -04:00
Gil Gribb
d5dd196727 UE4 - remove stale comments
[CL 2244470 by Gil Gribb in Main branch]
2014-08-05 13:35:53 -04:00
Dmitry Rekman
db04231583 Linux: minor fixes from PR #306.
[CL 2239257 by Dmitry Rekman in Main branch]
2014-07-31 19:59:43 -04:00
Mark Satterthwaite
6bc73bfc56 Wrap OpenGL buffer and texture deletion calls so that on OS X they can be handled differently.
- On OS X glDeleteBuffers and glDeleteTextures will implictly finish the current command stream if they need to. This causes stalls that idle the GPU, so we want to avoid that.
- OpenGL wrappers now implement DeleteTextures and DeleteBuffers.
- On OS X DeleteTextures pools the texture names into one of three buffers so that textures are deleted at least two frames after their last use.
- The texture deletion occurs after flushBuffer in BlitToViewport and the min/max number of textures to delete in a single invocation can be overidden by the r.Mac.MinTexturesToDeletePerFrame & r.Mac.MaxTexturesToDeletePerFrame.
- On OS X buffers aren't actually deleted, instead their backing store is orphaned (BufferData with size 0) as this is substantially faster.

#codereview michael.trepka

[CL 2238491 by Mark Satterthwaite in Main branch]
2014-07-31 12:34:37 -04:00
Mark Satterthwaite
95fde7bea8 Add a specific SP_OPENGL_SM4_MAC so that we can compile shaders from Windows for all Macs, even the older GL 3.3 devices that don't support volume-texture rendering.
#codereview nick.penwarden, michael.trepka

[CL 2238230 by Mark Satterthwaite in Main branch]
2014-07-31 09:03:55 -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
Graeme Thornton
747d2a9b9d Mobile Preview In Editor
- Material editor preview nodes now work when the editor is in es2 mode
 - Make editor primitives work in ES2 mode
 - Fix slate font rendering in ES2 mode
 - Remove ES2 shader de-gamma when in the editor
 - Add a new linear sampler type for linear textures
 - Various fixes for dynamic feature level switching
 - When in an emulated feature level mode, display some text in the level editor viewport saying what feature level we're running
 - Removed feature level parameter from USkeletalMesh::GetResourceForRendering. Not used for anything
 - ParticleVertexFactoryPool is now creates feature level specific vertex factories.

[CL 2187558 by Graeme Thornton in Main branch]
2014-07-10 10:39:54 -04:00
Mark Satterthwaite
1820afe3e0 Expose the amount of VRAM in the GPU to the OpenGLRHI on OS X.
#codereview michael.trepka

[CL 2169895 by Mark Satterthwaite in Main branch]
2014-07-07 10:01:06 -04:00
Nick Whiting
a59f371e8d #vr Integration of Oculus timewarping and SDK rendering
[CL 2133287 by Nick Whiting in Main branch]
2014-07-03 21:55:37 -04:00
Chris Babcock
1bd06ea038 Fixed missing text in sample games on Android devices without support for half float textures
#Android
#TTP 337053

[CL 2117371 by Chris Babcock in Main branch]
2014-06-25 19:01:58 -04:00
Nick Penwarden
0b5d3354fb Provide native device access from the RHI, useful for 3rd party plugins that wish to directly render using the underlying device. Currently only exposed for D3D11.
Based on GitHub pull request 199 by CoherentUE4

[CL 2116771 by Nick Penwarden in Main branch]
2014-06-25 11:39:23 -04:00
Marcus Wassmer
ef80f47b75 Remove ini override for texture pool size
#codereview niklas.smedberg

[CL 2101074 by Marcus Wassmer in Main branch]
2014-06-10 18:19:48 -04:00
Gil Gribb
fa7226b8fe UE4 - merge first pass at parallel rendering to main
[CL 2095959 by Gil Gribb in Main branch]
2014-06-05 16:38:54 -04:00
Lee Clark
444feb4ec4 Whole Scene Directional Shadow GPU optimization - Uses depth bounds tests (if available) rather than the stencil
Saves approx 0.1ms of GPU on GTX780

[CL 2089560 by Lee Clark in Main branch]
2014-05-30 07:58:05 -04:00
Peter Sauerbrei
aa5a1232f1 Merging
//depot/UE4-TappyChicken/Engine/Source/...

to //depot/UE4/Engine/Source/...

[CL 2081906 by Peter Sauerbrei in Main branch]
2014-05-22 09:13:12 -04:00
Daniel Wright
df95ea359b Speedtree v7.0 integration
[CL 2072058 by Daniel Wright in Main branch]
2014-05-13 16:56:54 -04:00
Dmitry Rekman
e3105eda19 Merging the bulk of Darkside changes.
- New target platforms (LinuxNoEditor for client+server, LinuxClient for client, Linux for editor, LinuxServer for dedicated server - mirroring other platforms).
- Preliminary support for gcc in the toolchain (and some safe fixes in code).
- No more lowercasing when accessing files on Linux, tread carefully.
- Changes needed for native compilation and other minor improvements.

#codereview Josh.Adams, Michael.Liebenow, Steve.Robbs

[CL 2067133 by Dmitry Rekman in Main branch]
2014-05-08 13:01:46 -04:00
Graeme Thornton
e1700afed8 First pass of changes to remove GRHIFeatureLevel, allowing for multiple scenes with different feature levels to exist. First step towards dynamic mobile preview in the editor.
#ttp 331829 - Mobile Preview in Editor
#proj Engine
#branch UE4

#summary First pass of changes to remove GRHIFeatureLevel, allowing for multiple scenes with different feature levels to exist. First step towards dynamic mobile preview in the editor.

#change Added GMaxRHIFeature level which contains the highest supported feature level on this machine
#change Added a cvar "r.FeatureLevelPreview" which, when set to 1, enables a feature level selection in the quick settings menu. Not wired up to anything at the minute
#change Added a feature level variable to FScene, which is currently initialized to whatever GRHIFeatureLevel is. Accessed with GetFeatureLevel()
#change Added a helper accessor GetFeatureLevel() to FSceneView which gets the feature level from the relevant scene. Purely to reduce the amount of typing needed to get to a feature level
#change Many changes across the renderer to try and read the current feature level from the view or scene. Not everything is done yet, but this is almost all of the "easy" stuff. As there is still just a global feature level in the engine, nothing should change.

[CL 2066905 by Graeme Thornton in Main branch]
2014-05-08 09:05:50 -04:00
Dmitry Rekman
7287d6144b OpenGL cleanups for GL3 code path (e.g. Intel Linux drivers which are GL 3.3).
As per discussion with Smedis (NiklasS):
- Macros to get GL parameters unified across platforms and changed so they set default values unconditionally.
- We want to ignore errors like "getting an invalid enum" for these cases, so code rearranged to initialize (some) tesselation parms in base, where they're declared.

#codereview Niklas.Smedberg

[CL 2065995 by Dmitry Rekman in Main branch]
2014-05-07 16:01:11 -04:00
Mikolaj Sieluzycki
45c031d576 #ttp 331438 UE4: PlatformMath refactor
#proj core
#branch UE4
#summary Rename Trunc, Round, Floor, Ceil to TruncToInt, RoundToInt, FloorToInt, CeilToInt. Added *ToFloat versions. Repeated for FGenericPlatformMath and all derived classes for all platforms wherever applicable. Corrected comment in Fractional and added Frac() which does HLSL-style fractional (x - floor(x)). Checked for compilation on all projects (with cooking levels wherever applicable). Didn't change Fractional to Frac, this will be done in second commit.
#codereview robert.manuszewski

[CL 2064306 by Mikolaj Sieluzycki in Main branch]
2014-05-06 06:26:25 -04:00
Dmitry Rekman
ef5b21a67e Backing out changelist 2064070. Misguided change, needs more testing.
#codereview Niklas.Smedberg

[CL 2064089 by Dmitry Rekman in Main branch]
2014-05-05 20:53:07 -04:00