f4bdfe3e0c
Vulkan: Fix incorrect render pass area for out-of-range clears
...
This occured when a game set an out-of-range EFB clear region.
2017-04-14 18:29:48 +10:00
5e7bd03d0b
Vulkan: Linear filter >1xIR EFB copies, matching the other backends
2017-04-12 00:11:22 +10:00
e9850aa0f2
VideoBackends: Support updated texture encoding shader generators
2017-04-12 00:11:22 +10:00
4e90c5da8b
Merge pull request #5234 from lioncash/tuple
...
RenderBase: Return tuples from CalculateTargetScale and ConvertStereoRectangle instead of using out parameters
2017-04-11 10:27:16 +02:00
c7ab6861c2
RenderBase: Return a tuple from ConvertStereoRectangle instead of using out parameters
2017-04-09 15:11:59 -04:00
2492f196a7
TextureCache: Fix incomplete GPU texture decoding of non-square mips
2017-04-07 23:03:14 +10:00
739aced97c
Vulkan: Implement compute-shader based GPU texture decoding
2017-04-01 12:32:57 +10:00
5fbc63fbcf
Vulkan: Compute shader support
2017-04-01 12:32:57 +10:00
82fd984f3e
VideoBackends: Add configuration field for GPU texture decoding
2017-04-01 12:32:05 +10:00
b987f220e1
VideoBackends: Add support flag for compute shaders
2017-04-01 12:31:41 +10:00
de940a5fd6
VideoConfig: add bSupportsFragmentStoresAndAtomics
2017-03-15 17:20:47 -07:00
0a2b58c896
OGL: Remove support for NV_depth_buffer_float.
...
We can't clamp the depth values to the 24-bit range while this extension is active.
2017-03-14 01:02:13 +01:00
27d7a1646c
Merge pull request #5065 from JosJuice/character
...
Fix issue 10146 (compilation issue because of colliding defines)
2017-03-11 18:26:26 +10:00
40e707348c
Fix issue 10146 (compilation issue because of colliding defines)
2017-03-11 08:59:14 +01:00
e99cd57eb3
Merge pull request #4935 from Armada651/depth-range-fix
...
VideoBackends: Set the maximum range when the depth range is oversized.
2017-03-10 18:05:52 +01:00
ef74c5eabd
Merge pull request #5051 from stenzek/renderer-fixes
...
VideoBackends: Fix crashes introduced by #4999
2017-03-09 21:06:50 +01:00
ced1614cac
Unify the way of setting game ID, title ID, revision
...
The existing code from ConfigManager, ES and MIOS is merged
into a new set of functions called SetRunningGameMetadata.
2017-03-09 15:34:14 +01:00
2cd240af0d
VideoBackends: Move max texture size to VideoConfig
...
This stops the virtual method call from within the Renderer constructor.
The initialization here for GL had to be moved to VideoBackend, as the
Renderer constructor will not have been executed before the value is
required.
2017-03-10 00:04:13 +10:00
489d90b6f3
Merge pull request #4999 from stenzek/renderer-statics
...
VideoCommon: Eliminate static state in Renderer
2017-03-08 11:02:20 +01:00
4cea9a2f99
Vulkan: Fix underflow in StreamBuffer::WaitForClearSpace
...
This could cause the assertion on line 212 to fail when uploading large
amounts of data in between command buffer executions.
2017-03-04 18:07:04 +10:00
00a0a91513
VideoCommon: Move last EFB scale handling to CalculateTargetSize
2017-03-04 16:53:07 +10:00
afc25fdca0
VideoCommon: Rename Renderer s_ prefixes to m_
2017-03-04 16:42:21 +10:00
238a70b006
VideoCommon: Move some common initialization logic to RenderBase
2017-03-04 16:42:16 +10:00
277829d842
VideoCommon: Eliminate static state in Renderer
2017-03-04 16:39:50 +10:00
2fd77895a2
Vulkan: Fix issue where target rectangle changes weren't detected
...
This was causing issues when toggling the crop setting, as well as some
widescreen hacks.
2017-03-02 21:53:42 +10:00
ee61bd6f2e
CMakeLists: Normalize whitespace
...
Normalizes tabs to spaces to follow our codebase's indentation style.
2017-03-01 14:53:23 -05:00
a15555fe03
VideoBackends: Use vertex shader depth range if ztexture is used.
2017-02-26 11:34:48 +01:00
bde8126913
VideoBackends: Remove depth range clamping hacks.
...
Oversized depth ranges are handled correctly now, we don't need to hack around them with clamps anymore.
2017-02-24 14:54:20 +01:00
94522d4cf3
OGL: Add support for glDepthRangedNV to handle oversized depth ranges.
2017-02-24 14:54:16 +01:00
28e6e259ed
VideoBackends: Set the maximum range when the depth range is oversized.
...
The depth values generated by the vertex shader need to be clamped correctly.
2017-02-21 02:57:23 +01:00
21967b1f6e
VideoBackends: Add a developer option to disable the shader cache.
...
Makes it easier to disable the cache while working on the shaders.
2017-02-19 12:05:44 +01:00
b8eb1080ce
Merge pull request #4924 from stenzek/vulkan-list-restart
...
Vulkan: Fix GPU hangs on AMD Polaris
2017-02-18 21:58:30 +10:00
1fa81f24d3
VertexManagerBase: Make CreateNativeVertexFormat return a unique_ptr
...
Much safer as opposed to just returning raw allocated memory.
2017-02-18 03:16:24 -05:00
50fa135594
Vulkan: Handle BUG_PRIMITIVE_RESTART
2017-02-18 15:07:34 +10:00
4094268009
Vulkan: Use TRIANGLE_LIST when primitive restart is not supported
2017-02-18 15:07:33 +10:00
6965dc0481
Vulkan: Don't enable primitive restart on list topologies
2017-02-18 15:07:32 +10:00
8c82607c95
cmake: Don't use unqualified target_link_libraries
...
You can't mix unqualified and qualified link libraries (PUBLIC / PRIVATE).
Use the modern form.
2017-02-08 03:07:43 +01:00
c85e0a2586
FramebufferManagerBase: Return a std::pair from GetTargetSize
...
Keeps associated data together. It also eliminates the possibility of out
parameters not being initialized properly. For example, consider the
following example:
-- some FramebufferManager implementation --
void FBMgrImpl::GetTargetSize(u32* width, u32* height) override
{
// Do nothing
}
-- somewhere else where the function is used --
u32 width, height;
framebuffer_manager_instance->GetTargetSize(&width, &height);
if (texture_width != width) <-- Uninitialized variable usage
{
...
}
It makes it much more obvious to spot any initialization issues, because
it requires something to be returned, as opposed to allowing an
implementation to just not do anything.
2017-02-03 15:27:53 -05:00
468f623d27
ShaderGenCommon: Remove unnecessary includes
2017-02-01 12:19:55 -05:00
273ace7bb7
LightingShaderGen: Remove unnecessary includes
2017-02-01 01:06:00 -05:00
3b218c64b1
Vulkan: Refactor initialization to only use a single instance
...
Hopefully will fix the crash in vkDestroyInstance on the NV Shield TV,
and likely reduce boot times slightly for drivers that take a while
to create instances.
2017-01-29 22:18:53 +10:00
70cf774a5c
RenderBase: Forward declare EFBAccessType
2017-01-23 12:41:26 -05:00
5b461f50af
VideoBackendBase: Convert EFBAccessType into an enum class
2017-01-23 03:53:38 -05:00
23d99f2f2c
specify custom brace style to fix unions
...
BreakBeforeBraces: Allman apparently includes all styles,
except for AfterUnion (which is false) when using clang-format -dump-config
2017-01-05 12:55:13 +01:00
41b0c74e30
VideoCommon: Make dst_alpha state implicit.
2017-01-04 20:02:31 +01:00
b7d8bd13a6
OGL/Vulkan: Drop dual pass alpha.
2017-01-04 19:59:41 +01:00
96314a0ec1
Merge pull request #4574 from stenzek/vulkan-alpha-clear
...
Vulkan: Clear alpha channel to 0 when pixel format has no alpha channel
2017-01-02 12:29:36 +01:00
ee7a2edf35
Update comments
2016-12-27 21:32:52 +01:00
65b5765858
VideoBackends: Clamp the range to the maximum depth value supported in the z buffer.
2016-12-27 20:25:40 +01:00
2ab6711f43
VideoBackends: Use the full depth range when inverted depth range is unsupported.
2016-12-27 14:31:17 +01:00