Commit Graph

36 Commits

Author SHA1 Message Date
Nick Penwarden
50831d13c3 fix for uniform buffer pooling to not reuse buffers freed from the current frame
[CL 2076073 by Nick Penwarden in Main branch]
2014-05-16 17:34:16 -04:00
Timothy Lottes
95e67e7ef8 Experimental GPUPerfAPI interface for profiling on AMD. This version has no dependency on any non-Epic code or library (dynamic loading, manual header).
[CL 2075810 by Timothy Lottes in Main branch]
2014-05-16 14:38:36 -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
Martin Mittring
3b0055ec65 * added more info to track down error on Intel HD3000
[CL 2070882 by Martin Mittring in Main branch]
2014-05-12 17:40:47 -04:00
Nick Penwarden
d11567e144 don't try displaying a dialog box from the rendering thread
[CL 2070371 by Nick Penwarden in Main branch]
2014-05-12 11:09:08 -04:00
Martin Mittring
cd7d7b9fdd * Fixed crash on startup with new shaders, RHIClear was used in resource init
* It was picking the wrong clear method which is fixed now (D3D11 problem)
* added check to find such a case earlier

[CL 2068632 by Martin Mittring in Main branch]
2014-05-09 16:48:24 -04:00
Marcus Wassmer
300a8c2491 Make Texture Streaming use the Platform's actual texture size, rather than a cross-platform alignment and padding agnostic size.
#codereview niklas.smedberg,nick.penwarden

[CL 2066941 by Marcus Wassmer in Main branch]
2014-05-08 10:01:20 -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
Keith Judge
e90c2c0007 Make sure all D3D buffer desc structs are fully zeroed out, as some platforms have extra parameters which must be properly initialized.
[CL 2064377 by Keith Judge in Main branch]
2014-05-06 08:57:06 -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
Niklas Smedberg
ce7330beab Fixed texture streaming
[CL 2061717 by Niklas Smedberg in Main branch]
2014-05-01 19:45:38 -04:00
Nick Penwarden
11937f6c42 Log out the UAV bind flag when texture creation fails
[CL 2061228 by Nick Penwarden in Main branch]
2014-05-01 13:29:11 -04:00
Niklas Smedberg
788e586345 Merging updates for OpenGL4
- ARB_vertex_attrib_binding support
  - ARB_buffer_storage support
  - ARB_texture_view enhanced support (stencil texture views)
  - Re-enable redix sort on OpenGL
  - Depth bounds test support
  - NVX_gpu_memory_info support
  - ARB_tessellation_shader support

[CL 2060769 by Niklas Smedberg in Main branch]
2014-04-30 23:51:07 -04:00
Martin Mittring
b523c348a1 * XBoxOne: expose ESRam allocation to visualizetexture log printout and outside RHI
* XBoxOne: added RangeAllocators for ESRam (not used yet)

[CL 2060060 by Martin Mittring in Main branch]
2014-04-30 12:13:37 -04:00
Niklas Smedberg
e332c4db97 Cleaned up frame timing for the renderthread. It was wrong for OpenGL platforms and could be for other platforms as well. Now it measured cross-platform instead.
[CL 2059484 by Niklas Smedberg in Main branch]
2014-04-29 21:59:59 -04:00
Martin Mittring
ab9f21761e * allow VRam allocation on Volume/3D Textures - it's actually supported, reenabled for LPV
[CL 2058860 by Martin Mittring in Main branch]
2014-04-29 21:51:26 -04:00
Niklas Smedberg
4cbb935e4d Fixed texture pool log in Win32 apps
[CL 2058206 by Niklas Smedberg in Main branch]
2014-04-28 17:40:57 -04:00
Terence Burns
b225d39240 Windows XP game support added.
XP support is off by default and currently only supported for win32 builds using Visual Studio 2013
I have updated a lot of platform atomic calls to use 32 bits as 64 is not supported on windows xp.
Added extra checks in d3d11 to ensure that these cached shaders are for that platform.
Added a validity check to the TextInputMethodSystem before we try and process input.
128 bit atomics disabled for header generator. Causes issues with xp compilation. Reviewed by Steve Robb.
Texture Memory size stats changed to from bytes to kilobytes to satisfy dependency for 32 bit atomics.

Note: OpenGL is the default RHI for WindowsXP.

[CL 2057787 by Terence Burns in Main branch]
2014-04-28 11:19:24 -04:00
Matthew Griffin
40695e5258 Allowing Compression Info class to be selected by cooked platform
Moved functions to check for and select Compressed Audio Info class to the audio device as the audio formats are not accessible in cooked builds (and shouldn't really need to be either).

[CL 2057758 by Matthew Griffin in Main branch]
2014-04-28 10:49:16 -04:00
Lee Clark
0ed3c67b6e Shadow clearing / resolving optimization
#change - Clear and resolve whole shadow targets rather than using subrects.
#change - RHISetRenderTargets sets the viewport to the size of the depth buffer if there is no colour target

[CL 2057620 by Lee Clark in Main branch]
2014-04-28 06:53:29 -04:00
Marc Audy
f7b7c5f3d4 Partially roll back CL#2056352 - TargetPlatformManager doesn't exist in cooked builds, force Vorbis again for now
#codereview Matthew.Griffin

[CL 2056814 by Marc Audy in Main branch]
2014-04-25 16:46:04 -04:00
Martin Mittring
b67433186b * Improved heuristics to detect Intel integrated hardware, prevent "Microsoft Basic Render Driver" from being used.
[CL 2056800 by Martin Mittring in Main branch]
2014-04-25 16:31:00 -04:00
Martin Mittring
29501d230f #UE4:
* fixed TTP 333641 LIVE: Severe perf decrease from 4.0.2 to 4.1
  heuristic is now rejecting software renderer

[CL 2056724 by Martin Mittring in Main branch]
2014-04-25 15:25:43 -04:00
Matthew Griffin
fb32e49bba Created Opus audio format for streaming sounds
Added an audio format for Opus, which also required a resampler to make sure that all imported sounds are converted to a compatible sample rate.
Added the speex resampler from the opus tools package to the third party source, including built libraries for windows and mac.
Changed FVorbisAudioInfo so that it inherits from an interface for any kind of compressed audio, which can be used everywhere instead of being wrapped in #WITH_VORBIS.
Added FOpusAudioInfo to decompress Opus data, not sure at this point whether it's only going to be used for streaming audio but works for non-streamed playback.

[CL 2056352 by Matthew Griffin in Main branch]
2014-04-25 08:39:14 -04:00
Jeff Campeau
7a927cf36c Move RHI shutdown into it's own function so we don't end up calling virtual functions from the destructor.
[CL 2056049 by Jeff Campeau in Main branch]
2014-04-24 20:31:59 -04:00