Stenzek
1c1a686f63
Vulkan: Support full resolution frame dumping
2016-11-28 21:54:55 +10:00
Stenzek
8d48319414
Vulkan: Validate the pipeline cache before using it
...
This ensures that if a user changes adapters or vendors we're not passing
invalid data to the driver.
2016-11-28 21:21:55 +10:00
Stenzek
9604b336c8
Vulkan: Don't destroy the device's pipeline cache on MSAA mode change
...
The user could switch back again, and this would mean this data would be
lost. Disk space is cheap, and it's not going to be much.
2016-11-28 21:21:54 +10:00
Stenzek
aac66a1b61
Vulkan: Implement a pipeline UID cache
...
This stores enough information to recreate the pipeline, including the
shader UIDs, blend/depth/rasterization state, primitive and vertex format.
2016-11-28 21:21:53 +10:00
Stenzek
6db0ee9561
VideoCommon: Remove backbuffer size parameters from methods
...
We have the s_backbuffer_{width,height} fields to represent this, so
there's no point in passing them as parameters every time.
2016-11-28 20:14:59 +10:00
Stenzek
a0a62c0f46
VideoConfig: Add option for full-resolution frame dumping
2016-11-28 20:14:59 +10:00
Stenzek
e66373b7ff
Merge pull request #4456 from stenzek/vulkan-framedump-fix-2
...
Vulkan: Fix black borders in frame dumps
2016-11-28 20:03:08 +10:00
Léo Lam
72e3f1ecec
Remove unnecessary ConfigManager includes
...
Making changes to ConfigManager.h has always been a pain, because
it means rebuilding half of Dolphin, since a lot of files depend on
and include this header.
However, it turns out some includes are unnecessary. This commit
removes ConfigManager includes from files which don't contain
SConfig or GPUDeterminismMode or GPU_DETERMINISM (which means the
ConfigManager include is not used).
(I've also had to get rid of some indirect includes.)
2016-11-27 22:38:38 +01:00
Stenzek
d6d3341183
D3D: Fix strided XFB copies
2016-11-19 20:29:51 +10:00
Stenzek
6b88a854a7
Vulkan: Handle strided XFB copies
...
Where src_rect.width * 2 != dst_stride.
2016-11-19 20:29:47 +10:00
Stenzek
725ef4c5dc
Vulkan: Pass target_rect to framebuffer draw methods
...
Fixes the black borders in frame dumps when the window was not sized to
the framebuffer aspect ratio.
2016-11-18 22:55:22 +10:00
Stenzek
3c92b35422
Vulkan: Use multiple command pools, one per frame
...
Instead of resetting two command buffers, now we only have to call
vkResetCommandPool once at the start of a frame.
NV's recommends using one pool per frame/thread. May offer a very small
boost in performance on some systems.
2016-11-15 00:40:15 +10:00
Stenzek
bd67adb362
Vulkan: Use correct sample count for EFB pokes with MSAA enabled
2016-11-14 20:24:16 +10:00
Stenzek
89176fe2ab
Vulkan: Fix crash on EFB poke
2016-11-14 20:19:59 +10:00
Jules Blok
99de9fbe33
Merge pull request #4443 from Armada651/exclusive-ui
...
D3D: Move exclusive mode switching to UI thread.
2016-11-14 01:45:07 +01:00
Jules Blok
7e35a47b51
Cosmetics.
2016-11-13 22:17:40 +01:00
Markus Wick
bc98ec77be
Merge pull request #4441 from stenzek/vulkan-max-image-count
...
Vulkan: Handle maxImageCount of zero when creating swap chain
2016-11-13 14:12:32 +01:00
Markus Wick
c723532f0d
Merge pull request #4430 from stenzek/vulkan-no-relaxed-vsync
...
Vulkan: Don't use FIFO_RELAXED present mode for vsync.
2016-11-13 14:10:58 +01:00
Jules Blok
d7cf5e28b6
Frame: Use PauseAndLock when switching fullscreen modes.
...
This allows us to regain exclusive mode directly from OnActive().
2016-11-11 20:36:10 +01:00
Jules Blok
9909babe2c
D3DBase: Create the swapchain in fullscreen mode if enabled.
2016-11-11 20:36:10 +01:00
Jules Blok
0a194f8a3e
VideoConfig: Remove fullscreen flags.
...
These weren't actually settings, they were used as a bad way to communicate with the GPU thread.
2016-11-11 20:36:09 +01:00
Jules Blok
c21efa0cad
D3D: Move exclusive mode switching to UI thread.
...
This prevents deadlocks when switching to exclusive mode.
And it also allows the CPU thread to block until we've completed the switch.
2016-11-11 20:36:04 +01:00
Stenzek
160fee6791
Vulkan: Handle maxImageCount of zero when creating swap chain
...
anv seems to set this to zero, which is fine according to the spec, but
we were using it as a maximum, which was resulting in a swap chain
without any buffers being created.
2016-11-11 23:33:40 +10:00
degasus
3816207d7b
OGL: Fix frame dump on emulation close.
2016-11-10 12:59:22 +01:00
degasus
21774bdc81
OGL: Only flush the frame dumping thread on dumping.
...
This fixes the screenshot stutter, as this needs more than a frame.
So we won't stall on the png writing at all until emulation stops or
a new screenshot is requested.
2016-11-10 12:59:22 +01:00
Stenzek
38c3ca5cd4
Vulkan: Implement asynchronous frame dumping
2016-11-10 01:07:46 +10:00
degasus
741debe229
OGL: Avoid reallocation of frame dumping PBO.
2016-11-07 22:32:54 +01:00
degasus
f6a6cc9c67
OGL: Use PBO for framedump, with async readback.
2016-11-07 22:17:32 +01:00
Stenzek
c09ce029df
Vulkan: Don't use FIFO_RELAXED present mode for vsync.
2016-11-07 19:22:27 +10:00
degasus
be29090aae
AVIDump: Add a struct for the state.
...
So AddFrame use no global state and can be threaded well.
2016-11-04 18:35:42 +01:00
Stenzek
c880c37244
Vulkan: Rename screenshot buffer to frame dump buffer.
...
Name makes more sense given the methods it calls in the base class.
2016-11-03 22:38:48 +10:00
Stenzek
9aed27cdcf
Vulkan: Combine frame dumping and present into one command buffer.
...
Small optimization that should make things slightly more efficient when
frame dumping is enabled.
2016-11-03 22:38:48 +10:00
Stenzek
690a6deeb3
Vulkan: Fix swapped top/bottom images in TAB stereo mode
2016-11-03 22:33:24 +10:00
Stenzek
70eb904536
Vulkan: Fix incorrect geometry shader input/output usage
2016-11-03 22:33:24 +10:00
Stenzek
5250f3c6a4
Vulkan: Add missing call to ObjectCache::RecompileSharedShaders
...
This was causing issues when the stereo mode was changed at runtime.
2016-11-03 22:33:24 +10:00
Stenzek
d67877d27e
Vulkan: Fix fast clear path not being used in all cases
2016-11-03 22:33:24 +10:00
Stenzek
5182e6b549
Vulkan: Implement virtual/real XFB support
2016-11-03 22:33:24 +10:00
Stenzek
3593fa27ab
Vulkan: Move CopyRectangleFromTexture to TextureCache
2016-11-03 22:01:55 +10:00
Stenzek
01b3c0f036
Vulkan: Make TextureCache::TCacheEntry public
2016-11-03 22:01:54 +10:00
Stenzek
b066d51dfa
Vulkan: Remove parameters/members of single-instance classes
...
There's not a lot of point in passing these around or storing them
(texture cache/state tracker mainly) as there will only ever be a single
instance of the class.
Also adds downcast helpers such as Vulkan::Renderer::GetInstance().
2016-11-03 22:01:54 +10:00
Markus Wick
9ce1cdde98
Merge pull request #4414 from linkmauve/single-newline
...
Remove double newlines at the end of *_LOG messages
2016-11-02 12:20:46 +01:00
Emmanuel Gil Peyrot
c9e6b05ce9
Core: Remove double newlines at the end of *_LOG messages.
2016-11-02 02:09:33 +00:00
Jules Blok
086f839435
DriverDetails: Make the bug identifiers humanly readable.
2016-10-31 15:02:08 +01:00
Markus Wick
b9e4370023
Merge pull request #4383 from Sintendo/minor-text-fixes
...
Fix minor comment typos
2016-10-31 12:51:42 +01:00
Markus Wick
d5ca153c26
Merge pull request #4401 from JosJuice/rename-getuniqueid
...
DiscIO/SConfig: Rename GetUniqueID to GetGameID
2016-10-31 12:39:27 +01:00
Jules Blok
ce9f717045
OGL: Fall back to the old dual-source blending behaviour.
2016-10-29 18:00:22 +02:00
JosJuice
1081497cad
DiscIO/SConfig: Rename GetUniqueID to GetGameID
...
We call this "game ID" everywhere else, and it's not
actually completely unique.
2016-10-29 15:24:02 +02:00
Jules Blok
afe707bc18
DriverDetails: Disable dual-source blending on AMD OGL drivers.
2016-10-27 22:03:25 +02:00
Sintendo
f163bd1048
Fix various comment typos
2016-10-24 18:27:49 +02:00
Jules Blok
2536e37ec5
Merge pull request #4194 from Armada651/efb-source-format
...
PixelShaderGen: Add support for RGBA6 EFB format truncation.
2016-10-21 21:45:29 +00:00
degasus
df5eff9ab7
VideoSW: Use VideoCommon frame dumping.
2016-10-11 22:32:06 +02:00
Markus Wick
7d5363ffa8
Merge pull request #4337 from degasus/framedump
...
AVIDump: Move CoreTiming into caller.
2016-10-11 22:25:28 +02:00
Rohit Nirmal
dc1b35fa4b
Fix building with PCH disabled.
2016-10-11 14:25:14 -05:00
Jules Blok
ab5054c34e
VideoBackends: Always enable dual-source blending if supported.
2016-10-10 17:32:51 +02:00
degasus
9f264c0872
AVIDump: Move CoreTiming into caller.
2016-10-10 12:03:18 +02:00
Markus Wick
a583d36c7f
Merge pull request #4326 from degasus/framedump
...
Framedump: Merge screenshot code with framedumping.
2016-10-10 11:48:57 +02:00
shuffle2
c8cb1fa7d7
Merge pull request #4319 from leoetlino/sysconf
...
Don't read/store settings directly from/to SYSCONF (and fix config restore)
2016-10-09 02:34:52 -07:00
shuffle2
3ec91a4e33
Merge pull request #4330 from ligfx/no_vulkan_on_mac
...
Don't build Vulkan video backend on macOS
2016-10-08 20:58:18 -07:00
Markus Wick
a86b2c15d8
Merge pull request #4322 from Helios747/I_hate_features
...
Remove Frameskip
2016-10-08 21:41:43 +02:00
degasus
64927a2f81
Renderer: Merge screenshot logic into VideoCommon.
2016-10-08 19:38:57 +02:00
anthony
b427ead0cc
Remove Frameskip
2016-10-08 11:49:51 -05:00
degasus
db0509560e
AVIDump: Hard code rgba.
2016-10-08 18:16:32 +02:00
degasus
0864ef4352
VideoCommon: Add custom stride for framedumping.
2016-10-08 15:44:54 +02:00
degasus
1ef5ba0c53
D3D: Skip redundant format convertions.
2016-10-08 15:40:49 +02:00
degasus
b5a91e1dfa
Framedumps: Add finish() function to limit memory lifetime.
2016-10-08 15:39:22 +02:00
degasus
ebc617882b
VideoCommon: Drop RepeatFrameDumpFrame helper.
...
This was needed with fixed framerate dumping. As we now synchronize the frames, the last one will just get padded.
2016-10-08 15:39:21 +02:00
Markus Wick
6e8901de17
Merge pull request #4315 from stenzek/vulkan-aspect
...
Vulkan: Handle forced aspect ratio changes at runtime
2016-10-08 11:53:22 +02:00
Stenzek
176b00ded7
Vulkan: Handle forced aspect ratio changes at runtime
2016-10-08 18:59:46 +10:00
Léo Lam
39fd6dcd5b
Fix missing includes
...
Aren't indirect includes great?
2016-10-07 23:46:41 +02:00
degasus
e82cf46436
Vulkan: Use VideoCommon framedump helpers.
2016-10-07 23:17:16 +02:00
degasus
6b08830a95
D3D12: Use VideoCommon framedump helpers.
2016-10-07 23:15:10 +02:00
degasus
64b648f6c8
D3D: Use VideoCommon framedumping helpers.
2016-10-07 23:10:36 +02:00
degasus
a530708bb1
OGL: Use VideoCommon framedump helpers.
2016-10-07 23:09:10 +02:00
degasus
34d733d376
OGL/Render: Drop write-only variable.
2016-10-07 21:44:52 +02:00
Michael Maltese
f301ebf780
Don't build Vulkan video backend on macOS
...
There's no official implementation of the Vulkan API,
and Dolphin currently isn't set-up to work with the
single, commercially-available third-party implementation.
2016-10-06 16:53:55 -07:00
Stenzek
010514bd39
Vulkan: Use correct source format to determine palette size
...
Fixes blur in fortune street fifologs.
2016-10-06 21:55:27 +10:00
Stenzek
b39ac950eb
Vulkan: Don't save borders to screenshots/frame dumps
...
This matches the behavior on GL, making for easier comparisons.
2016-10-05 22:28:51 +10:00
Stenzek
400ba3c7e5
Vulkan: Stop dumping frames on shutdown if left enabled
2016-10-05 22:28:51 +10:00
Stenzek
c422fb7e82
Vulkan: Set alpha channel of swap chain buffers to 1.0.
...
Copying the alpha channel from the game causes issues with frame dumping,
since we're using a buffer directly from the GPU as a source for AVIDump.
2016-10-05 22:02:04 +10:00
Stenzek
abb5a64919
Merge pull request #4295 from stenzek/vulkan-dbz-bloom
...
Vulkan: Fix bug with palette converted EFB copies
2016-10-05 20:24:36 +10:00
Markus Wick
ef1bfc26b2
Merge pull request #4291 from degasus/shader_gen
...
PixelShaderGen: Fix UID issues.
2016-10-05 12:20:58 +02:00
Chris Burgener
43c48a6f48
Fix frame dumps on file close in certain situations
2016-10-04 09:26:23 -04:00
Stenzek
db09c05eec
Vulkan: Fix bug with palette converted EFB copies
...
This happened when the source texture was an EFB copy, therefore it had
not been populated prior to the draw command buffer being executed, and
the conversion was occurring in the init command list.
2016-10-04 22:30:37 +10:00
shuffle2
ea33405feb
Merge pull request #4270 from stenzek/vulkan-defer-fix
...
Vulkan: Miscellaneous minor fixes
2016-10-04 01:47:59 -07:00
degasus
829fc8f0ad
PixelShaderGen: Drop dstAlphaMode constant in shader generation.
...
It is already stored within the UID.
2016-10-04 10:13:46 +02:00
Shawn Hoffman
86112c7258
VideoCommon: Minor changes
...
Make Renderer::GetMaxTextureSize return u32 instead of int.
2016-10-03 06:51:46 -07:00
Stenzek
28e5fa8d26
Vulkan: Handle both destination alpha and logic ops being enabled
...
Same way as GL with the dual-pass fallback. Not highly accurate, but does
fix the Kirby shadow bug.
2016-10-03 19:11:50 +10:00
Stenzek
f595fe080f
Vulkan: Fix bug with fractional LOD bias and min/max LOD
2016-10-03 19:11:48 +10:00
Stenzek
5e29508b8f
Vulkan: Fix vsync behavior when throttler is temp disabled
2016-10-03 19:11:48 +10:00
Stenzek
b193282830
Vulkan: Correct logic for handling target and window size changes
...
Should fix a possible reference to deleted framebuffers, as well as fixing
the issues with the render area being correct if the game's source area
changes, or auto-scaling is enabled.
2016-10-03 19:11:47 +10:00
Stenzek
7d14b9b48b
Vulkan: Add missing call to TextureCache::OnConfigChanged
...
This was preventing certain settings from being updated when changed at
runtime.
2016-10-03 19:11:47 +10:00
Stenzek
4a8766cec4
Vulkan: Fix resource leaks present at shutdown and mode changes
...
Infrequent, but still happened.
2016-10-03 19:11:47 +10:00
Stenzek
1286c309e3
Vulkan: Fix compilation on 32-bit targets
2016-10-03 19:11:47 +10:00
shuffle2
17aef319e8
Merge pull request #4240 from lioncash/include
...
Software: Clean out unnecessary includes/fwd decls
2016-10-02 20:31:35 -07:00
Mat M
ccfc081697
Merge pull request #4245 from aldelaro5/logs-levels-changes
...
Lots of Logs levels changes (also enable INFO level in every build)
2016-10-02 16:51:44 -04:00
aldelaro5
f0aa9b3751
Reorganise a ton of logs level
...
Most of this commits changes performance decreasing logs from info to debug and also cleans up innacurate levels.
2016-10-01 15:50:28 -04:00
Lioncash
9395b8efa9
Vulkan: Amend header includes
...
Adds headers where necessary to eliminate indirect includes.
Also adds headers to ensure certain standard constructs always
resolve correctly
2016-09-30 23:26:03 -04:00
Stenzek
a8194cff3c
VideoNull: Set all fields in backend_info
...
A few of these were missing, which could cause the adapter list to remain
visible after switching to null, for example.
2016-10-01 02:40:03 +10:00
Stenzek
5f66cf5ed7
Vulkan: Only submit init/upload command buffer when it has commands
...
This way we're not submitting empty buffers when it's unnecessary.
2016-10-01 02:40:03 +10:00
Stenzek
f6cdc38c8b
Vulkan: Use render-pass based clears where possible
2016-10-01 02:40:02 +10:00
Stenzek
c290398320
Vulkan: Ensure fast path is used for non-RGBA formats when clearing
2016-10-01 02:40:02 +10:00
Stenzek
f4944f006d
Vulkan: Support frame dumping/screenshots
2016-10-01 02:40:02 +10:00
Stenzek
77a128ab87
Implement experimental Vulkan backend
2016-10-01 02:40:01 +10:00
Stenzek
828aac7890
VideoBackends: Make TextureCache::CompileShaders return a bool
2016-10-01 01:09:12 +10:00
Stenzek
6a99cbd9fc
VideoCommon: Call Renderer::SurfaceChanged on render parent resize
...
This is needed because for some reason the WSI for NV Vulkan drivers
doesn't return VK_ERROR_OUT_OF_DATE_KHR, so there is no other way to know
that a resize has occured apart from polling, which is a poor solution for
X11 (since it is blocking).
2016-10-01 01:09:12 +10:00
Stenzek
5346078791
VideoCommon: Add config fields for multithreading and validation layers
2016-10-01 01:09:12 +10:00
Stenzek
09638e714e
VideoCommon: Extend DriverDetails to support both OpenGL and Vulkan
2016-10-01 01:09:12 +10:00
Stenzek
d9c034e8cc
ShaderGen: Specify attribute/output locations/bindings explicitly
...
This also shifts the SSBO index from index 3 to index 0.
2016-10-01 01:09:11 +10:00
Stenzek
9f541e490d
OGL: Handle case where both constant alpha and logic op is enabled
2016-09-30 23:18:14 +10:00
Markus Wick
cb759528e0
Merge pull request #3893 from hthh/perf-query-bug
...
Improve PerfQuery accuracy
2016-09-27 13:07:35 +02:00
Lioncash
c9ef042b2d
Software: Clean out unnecessary includes/fwd decls
2016-09-24 05:28:00 -04:00
Lioncash
ab28ef5cff
FramebufferManager: Add missing header guard
2016-09-23 13:55:51 -04:00
Lioncash
330944eef8
DebugUtils: const correctness
2016-09-22 21:05:17 -04:00
Lioncash
5ac161c132
TextureEncoder: const correctness
2016-09-22 21:01:56 -04:00
Lioncash
eb574e7bac
NativeVertexFormat: const correctness
2016-09-22 21:01:55 -04:00
Lioncash
5f1e444c28
Clipper: const correctness
2016-09-22 21:01:49 -04:00
Lioncash
d79d5d49f4
Rasterizer: const correctness
2016-09-22 20:39:28 -04:00
Markus Wick
2d0e857cb3
Merge pull request #4225 from lioncash/soft
...
SWVertexLoader: Value initialize SetupUnit instance
2016-09-22 16:05:32 +02:00
Lioncash
a8c8dd0c53
SWVertexLoader: Value initialize SetupUnit instance
2016-09-22 09:58:44 -04:00
Markus Wick
5890565575
Merge pull request #4233 from lioncash/efb
...
EfbInterface: Change out parameters on getters to return by value
2016-09-22 10:49:33 +02:00
Lioncash
33288c4569
EfbInterface: Change out parameters on getters to return by value
2016-09-21 20:56:44 -04:00
Lioncash
fc41e982e9
SWOGLWindow: Utilize the move constructor in PrintText
...
The previous code would always do a copy
2016-09-21 13:11:34 -04:00
Lioncash
99baa3268f
SWOGLWindow: const correctness for ShowImage
2016-09-21 12:54:22 -04:00
Lioncash
5b3c74a31a
OGL: Remove unnecessary c_str calls
2016-09-09 06:30:34 -04:00
Scott Mansell
f5c70a4b27
EFB2RAM: Downsample higher resolutions with linear filtering.
2016-09-07 11:17:32 +12:00
EmptyChaos
9d8f373016
VideoSoftware: Don't Init the PixelEngine twice
...
PixelEngine is initialized by InitializeShared()
2016-09-03 15:12:41 +10:00
Markus Wick
da82389347
Merge pull request #4172 from phire/software_fog_error
...
VideoSoftware: Fix unsigned overflow bug in fog
2016-09-02 09:53:44 +02:00
Scott Mansell
0e7424b359
VideoSoftware: Fix unsigned overflow bug in fog
...
Was causing fog errors on the left half of the screen.
Only appeared to affect visual studio builds, GCC did the correct
thing.
2016-09-02 10:12:44 +12:00
Jules Blok
2ab9e5e610
Merge pull request #4165 from lioncash/global
...
Backends: Remove unnecessary references to the renderer global
2016-09-01 03:20:31 +02:00
Lioncash
ec7114a658
OGL: Remove unnecessary renderer global references
2016-08-31 14:19:56 -04:00
Lioncash
168e145fae
D3D: Remove unnecessary renderer global references
2016-08-31 14:17:22 -04:00
Lioncash
9e26ef4aa8
D3D12: Remove unnecessary renderer global references
2016-08-31 14:14:51 -04:00
Preston Smith
94cbe0c12a
Comments
2016-08-31 06:40:50 -05:00
Preston Smith
e6ccd0729f
Revert postMat movement
2016-08-31 02:14:51 -05:00
Preston Smith
89b1d613cc
Remove else in software renderer
2016-08-30 18:33:27 -05:00
Preston Smith
e0a1ab9027
lint fix
2016-08-30 18:33:26 -05:00
Preston Smith
8f69de51ca
inputform ABC1's q value is defaulting to 0
...
This is causing the 0 divide case to run when source row is using tex0-7 and inputform is ABC1.
2016-08-30 18:33:25 -05:00
Preston Smith
767f56d7c8
Software renderer fix
2016-08-30 18:33:24 -05:00
Scott Mansell
0fbf72cbf1
Merge pull request #4140 from Armada651/ww-depth
...
D3D: Correctly invert the viewport depth range.
2016-08-24 02:28:53 +12:00
Jules Blok
a8a9348913
OGL: Handle cases where reversed depth is already used.
2016-08-23 15:54:04 +02:00
Jules Blok
65472260d8
D3D: Correctly invert the viewport depth range.
2016-08-23 09:57:11 +02:00
Lioncash
2bf05a544d
VertexManager: Correct variable naming scheme
...
Altered to indicate regular class members
2016-08-22 20:01:00 -04:00
Scott Mansell
f1964f90d6
Merge pull request #4129 from RisingFog/hahahahahahahahahaha
...
Fix a really stupid GLSL version parsing bug
2016-08-20 08:48:28 +12:00
Chris Burgener
da0204a85c
Fix a really stupid GLSL version parsing bug
2016-08-19 08:53:27 -04:00
JosJuice
31c530c7b3
Merge pull request #3386 from lioncash/memory
...
Common: Namespace MemoryUtil
2016-08-19 11:04:45 +02:00
Jules Blok
e86d7cbc99
OGL: Workaround gl_ClipDistance bug on Mesa i965.
2016-08-18 01:08:39 +02:00
Jules Blok
7078216b61
Improve documentation.
2016-08-16 21:09:58 +02:00
Jules Blok
8c1c7fc2da
Cosmetics.
2016-08-15 13:11:30 +02:00
Jules Blok
afa251af42
DriverDetails: Add bug for broken gl_ClipDistance on i965.
2016-08-15 13:11:28 +02:00
Jules Blok
94927f360f
VideoCommon: Add a user-defined far clipping plane.
2016-08-15 13:11:28 +02:00