Commit Graph

51 Commits

Author SHA1 Message Date
Gil Gribb
3a1a608136 UE4 - make sure bypass is latched right away for RHI thread and don't clear stencil on PS4 if we don't have a write address
[CL 2324392 by Gil Gribb in Main branch]
2014-10-09 14:05:15 -04:00
Gil Gribb
d5ac3b3f79 UE4 - disable deferred contexts and fix some issues with bound shader state
[CL 2320458 by Gil Gribb in Main branch]
2014-10-06 17:08:22 -04:00
Gil Gribb
14a6cbc69e UE4 - Use perfect forwarding for task graph, plus some lambda work for shadow rendering
[CL 2319733 by Gil Gribb in Main branch]
2014-10-06 10:05:28 -04:00
Gil Gribb
40e11af76d UE4 - Split Xbox RHI off. Deffered contexts for XB1, parallel velocity rendering fixed and reenabled.RHIThread on by default on platforms that support it.
[CL 2317406 by Gil Gribb in Main branch]
2014-10-02 11:20:07 -04:00
Niklas Smedberg
bb8f417304 Support for OpenGL ES 3.1 + Android Extension Pack
[CL 2303212 by Niklas Smedberg in Main branch]
2014-09-18 17:49:40 -04:00
Gil Gribb
bca9d98ed3 UE4 - add stats for shadow setup
[CL 2302360 by Gil Gribb in Main branch]
2014-09-18 08:11:59 -04:00
Nick Penwarden
05adeb0efe Uniform buffers can now use constructors. This is particularly useful for those that contain resources as they cannot be NULL.
[CL 2299475 by Nick Penwarden in Main branch]
2014-09-16 10:26:48 -04:00
Gil Gribb
d3b0d2b864 UE4 - parallized the relevance part of init views, reducing that time to about 1/3 of its previous value. This isn't on the critical path for rhi thread platforms, and is currently disabled.
[CL 2298401 by Gil Gribb in Main branch]
2014-09-15 13:41:48 -04:00
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
Dmitry Rekman
e0bf3714b2 Fix for "ignored qualifiers" warning issued by clang 3.5.0
- The change is authored by Steve Robb.
- Can make code more efficient by passing some args by value.
- Ugly due to typename not allowed outside of templates by MSVC (error C2899).

#codereview Mike.Fricker, Josh.Adams, Nick.Penwarden, Steve.Robb, Michael.Trepka, Marcus.Wassmer, Gil.Gribb

[CL 2287913 by Dmitry Rekman in Main branch]
2014-09-06 17:21:20 -04:00
Gil Gribb
9978428b65 UE4 - RHI thread prototype (PS4 only so far)
[CL 2283021 by Gil Gribb in Main branch]
2014-09-03 10:52:00 -04:00
Graeme Thornton
9917100ad8 Batched elements rendering now has an extra couple of permutations for gamma correcting input textures on mobile.
[CL 2282676 by Graeme Thornton in Main branch]
2014-09-03 04:20:31 -04:00
Jaroslaw Palczynski
eb49618ff2 Fix stat id redundant creation.
Change stat id creation to static declarations.

[CL 2281174 by Jaroslaw Palczynski in Main branch]
2014-09-02 05:19:25 -04:00
Nick Penwarden
d669f6ae08 Don't ever try to allocate a global dynamic buffer of size 0.
[CL 2256523 by Nick Penwarden in Main branch]
2014-08-14 15:48:32 -04:00
Gil Gribb
2e53589462 UE4 - remove "custom RHI commands", fix a few bugs with GDME.
[CL 2256307 by Gil Gribb in Main branch]
2014-08-14 11:24:24 -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
Gil Gribb
c3a1b22610 UE4 - parallel rendering - fix a few bugs with shader creation and static states, do prepass in parallel
[CL 2229807 by Gil Gribb in Main branch]
2014-07-24 08:54:31 -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
Gil Gribb
9a379a2aea UE4 - local uniformbuffers for command lists
[CL 2220640 by Gil Gribb in Main branch]
2014-07-16 09:49:21 -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
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
Nick Penwarden
bf28b61151 RHI texture references are now managed with an FRenderResource.
Last render time for textures can now be exposed via an FLastRenderTimeContainer provided at construction time. Only implemented for texture references. Eventually this can unify last render time for normal textures and texture references.

[CL 2170350 by Nick Penwarden in Main branch]
2014-07-07 13:21:55 -04:00
Gil Gribb
1d50eae0de UE4 - rework RHI user-facing APIs to be safer and incorporate the desired sematics
[CL 2119499 by Gil Gribb in Main branch]
2014-06-27 11:07:13 -04:00
Joe Tidmarsh
b51d4179ca Converted ConsoleManager code over to use the new typed TAutoConsoleVariable. Implemented support for auto typed string variables.
Moved console variables to their corresponding cpp files where possible.

#ttp 319909 - UE4: RENDERING: Change the ConsoleManager code over to use the new typed TAutoConsoleVariable

[CL 2116537 by Joe Tidmarsh in Main branch]
2014-06-25 05:47:33 -04:00
James Golding
830a3f3634 Move FShadow/LightMapRef into SceneTypes.h, stop including LightMap.h/ShadowMap.h everywhere
Add explicit constructor to UStaticMeshComponent, ULandscapeComponent and FModelElement so they can be implmented in cpp file, which includes LightMap/ShadowMap.h
Rename PackedNormal.inl to PackedNormal.h and move rest of declaration, so it can be included independent of RenderUtils.h
Move FMaterialRelevance definition from PrimitiveComponent.h to MaterialInterface.h
Move FExpressionInput/FExpressionOutput/FMaterialInput etc. from MaterialShared.h into new MaterialExpressionIO.h, to avoid Material.h pulling in RHI includes
Other required includes added
#codereview rolando.caloca

[CL 2113877 by James Golding in Main branch]
2014-06-23 07:12:12 -04:00