Commit Graph
100 Commits
Author SHA1 Message Date
Connor McLaughlin 341ce45ed6 Merge pull request #8176 from VinDuv/handle-open-files
QtGui: Handle file open events
2019-06-29 22:22:46 +10:00
Connor McLaughlin 8a122de999 Merge pull request #8192 from Miksel12/qt-changes
Reorder graphics config
2019-06-29 22:21:53 +10:00
Connor McLaughlin d69fb80057 Merge pull request #8110 from stenzek/update-moltenvk
MoltenVK: Update to Vulkan SDK version 1.1.108.0
2019-06-24 17:16:25 +10:00
Stenzek 9a2075f7fa MoltenVK: Update to Vulkan SDK version 1.1.108.0 2019-06-24 13:21:17 +10:00
Connor McLaughlin 9e1c38b6e1 Merge pull request #8182 from Techjar/imgui-reset-scissor
VideoCommon/RenderBase: Reset scissor rectangle after ImGui rendering
2019-06-15 21:29:07 +10:00
Connor McLaughlin cea1b58919 Merge pull request #8170 from lioncash/lut
VideoCommon/DriverDetails: Make look-up table immutable
2019-06-09 20:36:57 +10:00
Connor McLaughlin 951b66e4ac Merge pull request #8049 from stenzek/crop
Renderer: Adjust source rectangle when crop would draw off screen
2019-06-08 20:57:52 +10:00
Connor McLaughlin b13e00b003 Merge pull request #8165 from lioncash/linkage
{Android/ButtonManager, ResourcePack/Manager}: Make file-scope variables/functions internally linked where applicable
2019-06-08 20:56:13 +10:00
Connor McLaughlin ab66e91766 Merge pull request #8134 from JosJuice/filesystem-string-view
DiscIO: Use std::string_view in FileSystem::FindFileInfo
2019-06-08 20:52:34 +10:00
Connor McLaughlin bed2d66bed Merge pull request #8117 from weihuoya/threaded_env
android: get java env from thread local storage
2019-06-08 20:42:15 +10:00
Connor McLaughlin 5a4e2a6b2f Merge pull request #7734 from stenzek/mojave-warning
Vulkan: Display a warning when using MoltenVK on HS and earlier
2019-06-08 20:41:39 +10:00
Connor McLaughlin 6567409177 Merge pull request #8096 from stenzek/d3d-old-drivers
D3DCommon: Fallback to base CreateSwapChain on failure
2019-06-08 20:41:04 +10:00
Stenzek 3f1586dbce Vulkan: Display a warning when using MoltenVK on HS and earlier 2019-06-08 20:16:24 +10:00
Stenzek 1028e2c1a6 D3D12: Remove unnecessary includes in DXContext.h 2019-06-08 20:12:15 +10:00
Stenzek 9316e25652 D3DCommon: Fallback to base CreateSwapChain on failure
It appears that some older drivers do not support
CreateSwapChainForHwnd, resulting in DXGI_ERROR_INVALID_CALL. For these
cases, fall back to the base CreateSwapChain() from DXGI 1.0.

In theory this should also let us run on Win7 without the platform
update, but in reality we require the newer shader compiler so this
probably won't work regardless. Also any hardware of this vintage is
unlikely to run Dolphin well.
2019-06-08 20:11:49 +10:00
Connor McLaughlin 0177c6c2c7 Merge pull request #8146 from Techjar/netplay-network-opts
Qt/NetPlayDialog: Change network mode options to radio buttons
2019-06-08 20:05:35 +10:00
Connor McLaughlin 6b4ca318c9 Merge pull request #8139 from lioncash/const
VideoCommon/PixelShaderGen: Make look-up table arrays immutable where applicable
2019-06-08 20:03:02 +10:00
Connor McLaughlin 67a9fc6784 Merge pull request #8163 from lioncash/config
Core/ConfigManager: Use forward declarations where applicable
2019-06-08 20:01:15 +10:00
Connor McLaughlin b7fba95cdf Merge pull request #8166 from lioncash/mbedtls
Externals: Update mbedTLS from 2.1.1 to 2.16.1
2019-06-08 19:58:37 +10:00
Connor McLaughlin f75b254d4f Merge pull request #8167 from JosJuice/recording-export-enable
DolphinQt: Don't leave Export Recording disabled always
2019-06-08 19:58:12 +10:00
Connor McLaughlin 43eef41204 Merge pull request #8147 from booto/cp_registers
VideoCommon: Constrain the array_base registers
2019-05-31 17:38:56 +10:00
Connor McLaughlin 204af41e73 Merge pull request #8122 from Pokechu22/dx11-dxgi_factory
DX11: Fix access violation on closing dolphin
2019-05-27 18:48:52 +10:00
Connor McLaughlin 2bedb8a592 Merge pull request #8112 from Techjar/clang-format-case-labels
Add BraceWrapping/AfterCaseLabel to .clang-format
2019-05-22 16:08:48 +10:00
Connor McLaughlin 68877c52d1 Merge pull request #8027 from MerryMage/MOVAPS
Jit64: Prefer MOVAPS where possible
2019-05-22 15:05:17 +10:00
Connor McLaughlin f43515ea76 Merge pull request #8100 from flagrama/input-while-replaying-dtm
Clear existing GCPadStatus when playing back DTM files
2019-05-14 18:14:31 +10:00
Connor McLaughlin 1d5dd5db91 Merge pull request #8093 from JosJuice/android-runtime-extension-change
Android: Support changing Wii Remote extension while emulating
2019-05-12 15:22:07 +10:00
Connor McLaughlin 0ab41717a4 Merge pull request #8095 from leoetlino/audio-race
Fix a race condition when shutting down audio stream
2019-05-12 15:18:36 +10:00
Connor McLaughlin 707266aeed Merge pull request #8069 from iwubcode/passive_support
VideoCommon: Implement passive stereoscopic 3D
2019-05-12 15:15:34 +10:00
Stenzek 3e29fdb4a7 CommandProcessor: Don't reset the video buffer when FIFO distance is changed
This prevents partially-processed commands from being lost when switching buffers.
2019-05-11 00:31:37 +10:00
Connor McLaughlin d60b0c6b37 Merge pull request #8089 from weihuoya/minor-fx
Some minor fix
2019-05-09 23:38:53 +10:00
Connor McLaughlin 184f334158 Merge pull request #8074 from Qyriad/fixes/set-user-dir-properly
UICommon: Properly set user dir if ./user is a file (not a directory)
2019-05-04 16:15:00 +10:00
Connor McLaughlin a5af11bef1 Merge pull request #7980 from booto/memview-wtf
Debugger/Memory: Add support for address spaces
2019-05-03 11:49:02 +10:00
Connor McLaughlin 3f39aafcbf Merge pull request #8062 from z0z0z/master
Disable Vulkan overrides for RADV driver
2019-05-01 22:29:05 +10:00
Connor McLaughlin 37c85b32c0 Merge pull request #8036 from jordan-woyak/emu-drums-fix
WiimoteEmu: Drum extension accuracy improvements.
2019-05-01 11:25:31 +10:00
Connor McLaughlin aee1551a55 Merge pull request #8043 from jordan-woyak/mapping-ui-event-block-fix
DolphinQt: Fix mapping of space, return, and mouse-clicks.
2019-04-28 23:49:23 +10:00
Connor McLaughlin 1b1662773e Merge pull request #8048 from stenzek/vulkan-negative-scissor-rect
Vulkan: Don't set a negative offset in scissor rect
2019-04-28 23:37:51 +10:00
Stenzek 32359bf2bb Renderer: Adjust target rectangle in the base class 2019-04-28 23:33:24 +10:00
Stenzek 3c64f0c616 Renderer: Adjust source rectangle when crop would draw off screen
This prevents us from requiring an oversized and/or negative viewport by
shrinking the source rectangle instead.
2019-04-28 23:31:57 +10:00
Connor McLaughlin d2d8d7ce90 Merge pull request #8051 from JosJuice/efb-constexpr
Turn EFB_WIDTH/EFB_HEIGHT into constexpr
2019-04-28 20:37:25 +10:00
Connor McLaughlin e17bb8cfdf Merge pull request #8025 from chargeflux/PathPaneAddBtn
Qt: Fix add button not releasing
2019-04-28 17:15:42 +10:00
Connor McLaughlin f7199397a0 Merge pull request #8047 from stenzek/d3d-feature-level-10
D3D11: Fix Dolphin crashing on feature level 10.0 devices
2019-04-28 17:07:37 +10:00
Connor McLaughlin 96c69fd048 Merge pull request #8026 from Pokechu22/fix-black-pause
Fix the screen going black on pause after changing windows
2019-04-28 16:45:24 +10:00
Connor McLaughlin ab44a7065d Merge pull request #8046 from stenzek/xfb-dump-format-string
TextureCache: Fix incorrect format string in GetXFBTexture()
2019-04-28 16:22:36 +10:00
Stenzek 53af27b133 FramebufferManager: Fix invalid transitions for 1xIR in EFB cache 2019-04-28 16:13:49 +10:00
Stenzek 5399995c61 Vulkan: Don't set a negative offset in scissor rect
The spec/validation layers say this is invalid.
2019-04-28 16:01:09 +10:00
Stenzek 025767c929 D3D: Set optional features after creating the device
Fixes feature level 10.0 devices crashing during runtime.
2019-04-28 15:26:49 +10:00
Stenzek 51154d6907 FramebufferShaderGen: Don't emit SV_SampleIndex when not using SSAA 2019-04-28 15:26:21 +10:00
Stenzek d5b3595314 TextureCache: Fix incorrect format string in GetXFBTexture() 2019-04-28 14:32:37 +10:00
Connor McLaughlin 664cfb2ca5 Merge pull request #7970 from Techjar/netplay-mii-sync
NetPlay: Synchronize Mii data
2019-04-27 13:26:55 +10:00
Connor McLaughlin b5c3542cb5 Merge pull request #8039 from iwubcode/monster_lab_fix
CommandProcessor: Don't reset gather pipe on write the high distance bit (fixes monster lab)
2019-04-27 13:26:29 +10:00
Connor McLaughlin 59c0e51f5b Merge pull request #8000 from stenzek/more-videocommon-cleanup
Additional cleanup/fixes from VideoCommon merge
2019-04-22 12:50:22 +10:00
Connor McLaughlin 93be178f28 Merge pull request #7857 from stenzek/opengl-stereo
OGL: Fix stereoscopy
2019-04-22 12:41:12 +10:00
Connor McLaughlin 44d5a71e27 Merge pull request #7965 from jordan-woyak/condvar-fixes
Minor changes to usages of std::condition_variable.
2019-04-21 23:50:53 +10:00
Stenzek 356ebdf509 OGL: Set shared context state up to match main context
Has a better chance of avoiding recompiling if so.
2019-04-21 14:28:14 +10:00
Stenzek 6553cf8bb1 OGL: Only set GL_PROGRAM_POINT_SIZE on desktop GL
It is always enabled in GLES.
2019-04-21 14:28:14 +10:00
Stenzek f2a594fad5 OGL: Fix binding error on shutdown
This was occurring if the imgui vertex format was bound on shutdown,
which is destroyed before the vertex buffers
2019-04-21 14:28:14 +10:00
Stenzek 9577d0641b ShaderCache: Fix crash at shutdown on shared shader compilation fail 2019-04-21 14:28:14 +10:00
Stenzek 5c95dc61fc OGL: Store shader source in OGLShader
So it can be dumped with info log when linking fails.
2019-04-21 14:28:14 +10:00
Stenzek bbd1ae16db OGL: Remove unused ProgramShaderCache::CompileShader() 2019-04-21 14:28:14 +10:00
Stenzek f8c1ba409c Replace EFBRectangle/TargetRectangle with MathUtil::Rectangle 2019-04-21 14:28:14 +10:00
Connor McLaughlin ca55375d01 Merge pull request #8015 from jordan-woyak/dinput-cursor-optimize
ControllerInterface/DInput: Optimize cursor position updating.
2019-04-21 13:56:50 +10:00
Connor McLaughlin 5b4ebccf6b Merge pull request #8012 from stenzek/bounding-box-shaders
PixelShaderGen: Don't emit bounding box shader code for old UIDs when disabled
2019-04-21 13:27:05 +10:00
Stenzek b09a0e1a60 TextureCache: Check for out-of-range partial copy rect after scaling 2019-04-21 12:54:32 +10:00
Stenzek 3791262d96 TextureCache: Use linear filtering on y-scaled and >1xIR VRAM copies 2019-04-21 12:41:15 +10:00
Stenzek 708bd3d9f7 TextureCache: Simplify XFB reconstruction
This also better handles in-memory interlaced XFB data placed by the CPU
by considering the stride from the VI.
2019-04-21 12:41:15 +10:00
Stenzek dbaba0062a TextureDecoder: Move XFB decoding to Common
This was previously missing for generic (which is used on ARM).
2019-04-21 12:41:15 +10:00
Stenzek eddde3e6c8 ShaderGen: Use interface blocks when geometry shaders are supported
We don't use explicit locations in OpenGL currently, so this breaks
when we use alternative names in the geometry shaders.
2019-04-20 23:44:33 +10:00
Stenzek c6b45c5ca9 ShaderCache: Fix crash if pipeline from uid cache fails creation 2019-04-20 23:16:29 +10:00
Stenzek 96aa762d1e PixelShaderGen: Don't emit bounding box shader code for old UIDs when disabled
If bounding box is enabled when a UID cache is created, then later disabled,
we shouldn't emit the bounding box portion of the shader.

Fixes pipeline creation errors on D3D12 backend for this case.
2019-04-20 23:16:14 +10:00
Connor McLaughlin 4b1adab785 Merge pull request #8011 from JMC47/WeCheerDefer
Disable Deferred EFB Copies in We Cheer 1 and 2
2019-04-20 12:57:29 +10:00
Connor McLaughlin c26f53bf84 Merge pull request #7999 from stenzek/pipeline-cache-data
Implement pipeline data cache for OpenGL and D3D12
2019-04-20 12:56:02 +10:00
Stenzek f8c088a1fb Externals: Update imgui to 1.70 WIP 2019-04-19 15:13:05 +10:00
Stenzek 00b83b4196 ShaderCache: Utilize pipeline cache data where possible 2019-04-16 00:39:43 +10:00
Stenzek 616ad378b7 OGL: Support returning pipeline cache data 2019-04-16 00:39:43 +10:00
Stenzek 5cef09e383 D3D12: Support returning pipeline cache data 2019-04-16 00:34:34 +10:00
Stenzek 61a656570e AbstractPipeline: Support returning "cache data"
"Cache data" can be used to assist a driver with creating pipelines by
using previously-compiled shader ISA.
2019-04-16 00:09:47 +10:00
Connor McLaughlin 741a975ac2 Merge pull request #7957 from Techjar/bbox-offset-fix
PixelShaderGen: Fix bounding box right/bottom offset
2019-04-04 00:22:32 +10:00
Connor McLaughlin 8e1fb126d7 Merge pull request #7953 from stenzek/lazy-d3d12-perf-queries
D3D12: Fix case where perf queries weren't flushed
2019-04-01 21:40:20 +10:00
Stenzek 474500f07e Vulkan: Prevent submission of command buffer with open queries 2019-04-01 20:49:42 +10:00
Stenzek f2d8c8d2a8 D3D12: Fix rare case where command list was executed with open queries 2019-04-01 20:49:24 +10:00
Stenzek 92f1f553d1 D3D12: Fix case where perf queries weren't flushed 2019-04-01 20:13:39 +10:00
Connor McLaughlin 32e330eb35 Merge pull request #7950 from stenzek/out-of-range-efb-copies
BPStructs: Gracefully handle out-of-range EFB copies
2019-04-01 13:08:11 +10:00
Connor McLaughlin a2a4694497 Merge pull request #7853 from stenzek/d3d12
Re-implement D3D12 video backend
2019-04-01 13:02:57 +10:00
Stenzek 113bd60fe7 Implement D3D12 backend 2019-04-01 11:24:55 +10:00
Connor McLaughlin 6eb126b097 Merge pull request #7951 from jordan-woyak/win32-input-init-race-fix
InputCommon: Fix Win32 init race.
2019-03-31 23:42:43 +10:00
Stenzek 378b605669 BPStructs: Gracefully handle out-of-range EFB copies
Since the copy X and Y coordinates/sizes are 10-bit, the game can configure a
copy region up to 1024x1024. Hardware tests have found that the number of bytes
written does not depend on the configured stride, instead it is based on the
size registers, writing beyond the length  of a single row. The data written
for the pixels which lie outside the EFB bounds does not wrap around instead
returning different colors based on the pixel format of the EFB.

This suggests it's not based on coordinates, but instead on memory addresses.
The effect of a within-bounds size but out-of-bounds offset
(e.g. offset 320,0, size 640,480) are the same.

As it would be difficult to emulate the exact behavior of out-of-bounds reads,
instead of writing the junk data, we don't write anything to RAM at all for
over-sized copies, and clamp to the EFB borders for over-offset copies.
2019-03-31 22:05:53 +10:00
Connor McLaughlin 39139a52e7 Merge pull request #7939 from Techjar/no-more-disabled-gfx-features
Qt/HacksWidget: Fix backend feature support checks
2019-03-31 11:59:34 +10:00
Stenzek 3c455de799 FramebufferManager: Fix broken EFB peeks in GL with MSAA on 2019-03-30 03:14:29 +10:00
Connor McLaughlin 914aa7c506 Merge pull request #7943 from stenzek/vulkan-android-library-load
Vulkan: Fix library load failure on Android
2019-03-30 00:35:40 +10:00
Stenzek b685a66753 Vulkan: Fix crash when checking subgroup support on Mesa 2019-03-30 00:18:26 +10:00
Stenzek a6bb06174f Vulkan: Fix library load failure on Android 2019-03-29 23:36:53 +10:00
Connor McLaughlin 377615b06f Merge pull request #7905 from stenzek/vulkan-cleanup
Vulkan: Simplify command buffer fence tracking
2019-03-29 21:56:28 +10:00
Stenzek 604ab67c7f Vulkan: Simplify perf queries using vkGetQueryPoolResults 2019-03-29 20:54:44 +10:00
Stenzek 6d40ea8553 Vulkan: Fix barrier validation layer errors for bounding box 2019-03-29 20:54:44 +10:00
Stenzek 23a655217c Vulkan: Fix validation layer error for unbound texture layouts 2019-03-29 20:54:44 +10:00
Stenzek 087b11e780 TextureCacheBase: Fix possible crash on shutdown with deferred EFB copies 2019-03-29 20:54:44 +10:00
Stenzek 427dd45151 Vulkan: Simplify command buffer fence tracking 2019-03-29 20:54:44 +10:00
Connor McLaughlin f3fadd7302 Merge pull request #7869 from stenzek/d3dcommon
D3D: Move sharable D3D11/D3D12 code to common library
2019-03-29 20:40:06 +10:00
Connor McLaughlin fbe57e8dbe Merge pull request #7733 from stenzek/update-moltenvk
Externals: Update MoltenVK to SDK version 1.1.101.0
2019-03-29 20:34:11 +10:00
Connor McLaughlin 78cf615a9b Merge pull request #7937 from Techjar/netplay-defer-efb-invalidation
NetPlay: Synchronize EFB access cache options
2019-03-29 20:31:15 +10:00