78588ce79d
ShaderCache: Use imgui for shader compilation dialog
2019-01-25 11:15:57 +10:00
e4b205c769
Decouple XFB scanout from presentation
2019-01-25 11:15:57 +10:00
f1e7fb505b
Renderer: Scale all imgui fonts by the backbuffer scale
2019-01-25 11:15:57 +10:00
c9c0b85056
VideoBackends: Store a backbuffer 'scale'
...
This is a scaling factor, used for hi-dpi configurations.
2019-01-25 11:15:57 +10:00
36ce47635b
RenderWidget: Hook up to ImGui
2019-01-25 11:15:57 +10:00
63dd91628d
Remove old RasterFont classes
2019-01-25 11:15:57 +10:00
600d1fc0bc
Renderer: Use imgui for drawing debug text and OSD
2019-01-25 11:15:57 +10:00
d1868d9475
RenderBase: Implement imgui rendering
2019-01-25 11:10:49 +10:00
396b7c2978
OGL: Invalidate tracked state when calling ResetAPIState()
...
Due to the current design, any of the GL state can be mutated after
calling this function, so we can't assume that the tracked state will
match if we call SetPipeline() after ResetAPIState().
2019-01-25 11:10:49 +10:00
1d61041985
ShaderGen: Don't use interface blocks on Vulkan without GS
...
Doing so causes the Adreno driver to choke and spew errors about
too many output locations/components, when clearly we're under
the limit.
2019-01-24 17:02:17 +10:00
68cb24172b
ShaderGen: Omit some unused varyings when possible
...
Removes the clipPos varying unless slow-depth is used, and the
clipDistance varyings if geometry shaders are not used.
2019-01-23 18:34:22 +10:00
1070192165
TextureCache: Fix a possible crash when partial updating palette textures
2019-01-19 23:38:02 +10:00
84bcbef944
TextureCache: Don't partial copy to non-existant texture layers
2019-01-19 23:38:00 +10:00
ade255a5ff
TextureCache: Fix broken XFB stitching with stereoscopy is enabled
2019-01-19 23:23:21 +10:00
5962316068
Merge pull request #7643 from weihuoya/texture-overlap
...
Texture: fx overlap src position
2019-01-16 08:49:36 +10:00
0da5929226
Merge pull request #7626 from weihuoya/vulkan-oom
...
Always clean cache on render swap
2019-01-08 21:57:25 +10:00
66a7db3850
Always flush on swap
2019-01-08 18:28:59 +08:00
a8e5f2b922
Merge pull request #7230 from ligfx/remove_clamp_draw_size
...
RenderBase: don't clamp draw size to window
2019-01-03 18:26:41 +01:00
184b2edc30
fx texture overlap
2018-12-25 21:24:25 +08:00
7afd5cc2fb
Use main buffers for utility draws
2018-12-04 17:37:25 +10:00
2644e920cc
Renderer: Add backbuffer format to base class
2018-12-04 17:36:08 +10:00
1adcd47dcb
Renderer: Add a base Initialize() method to match Shutdown()
2018-12-04 17:36:08 +10:00
38479dd783
RenderBase: Force a pipeline flush when drawing the XFB to the host
...
Since we use the common pipelines here and draw vertices if a batch is
currently being built by the vertex loader, we end up trampling over its
pointer, as we share the buffer with the loader, and it has not been
unmapped yet. Force a pipeline flush to avoid this.
2018-12-04 17:36:08 +10:00
6388992f62
Merge pull request #7039 from stenzek/moltenvk
...
Vulkan: macOS support via MoltenVK
2018-11-30 21:55:30 +10:00
502c4c0e87
TextureCache: Recompute overlapping XFB copy hashes after copying to RAM
2018-11-13 12:48:27 +10:00
541c5ee996
Merge pull request #7550 from JosJuice/widescreen-hack-suggested-ratio
...
Fix the widescreen hack for Wii games with 4:3 forced in game INI
2018-11-09 04:28:31 +01:00
78056686fd
TextureCache: Fix leaking TCacheEntry instances
2018-11-08 11:52:17 +10:00
a42432cae4
RenderBase: Set m_aspect_wide on start
...
It doesn't feel great to let the value from a previous emulation session
linger around considering that the GC aspect ratio heuristic can use
the previous value of m_aspect_wide when calculating m_aspect_wide.
2018-11-07 19:01:45 +01:00
b93b7ec419
Fix the widescreen hack for Wii games with 4:3 forced in game INI
2018-11-07 19:00:24 +01:00
0c0d66809d
PixelShaderGen: Split bbox into seperate variables
...
The Metal shader compiler fails to compile the atomic instructions
when operating on individual components of a vector. Spltting it
into four variables shouldn't make any difference for other
platforms, as they are accessed independently.
2018-11-07 05:41:09 -08:00
673f1963a0
Vulkan: Support macOS via MoltenVK
...
The path to the MoltenVK library can be specified by the
LIBMOLTENVK_PATH environment variable, otherwise it assumes it is
located in the application bundle's Contents/MacOS directory.
2018-11-07 05:41:09 -08:00
487ea5ab36
VideoBackend: Add a virtual PrepareWindow function
...
Executes backend-specific commands on the main thread.
2018-11-07 05:12:20 -08:00
8e2c063d62
TextureCache: Implement deferred/batched EFB copies
2018-11-07 16:25:01 +10:00
f1413dbbf6
Merge pull request #7501 from Techjar/class-memaccess-cleanup
...
VideoCommon: Clean up class-memaccess warnings
2018-10-28 23:59:51 +01:00
83c3370c2a
RenderBase: send performance sample at every end of frame
...
Not the best integration point, but couldn't think of something better.
This implementation has the benefit to be super simple.
2018-10-27 17:39:54 +02:00
eb284b5d66
VideoBackends: Pass window system info from host on creation
2018-10-20 21:11:34 +10:00
1d827a5223
Renderer: Pull dimensions from GLInterface/Swapchain
2018-10-20 21:11:34 +10:00
a3961750a7
Drop Host_GetRenderSurface and pass display to backend
2018-10-20 21:11:34 +10:00
74b82bab3b
GLInterface: Drop Haiku support
2018-10-20 21:11:33 +10:00
97cc9894e4
Update to Visual Studio's default Windows SDK
2018-10-20 00:53:08 +01:00
8560eecd49
VideoCommon: Clean up class-memaccess warnings
2018-10-14 23:05:47 -04:00
b5d855caf7
Merge pull request #7496 from stenzek/null-shader-cache
...
ShaderCache: Don't create or load shader cache with Null backend
2018-10-14 12:30:32 +01:00
660fb3fca0
Merge pull request #7412 from AdmiralCurtiss/xfb-stitch-in-order
...
Stitch together overlapping XFB regions in order of XFB copy creation.
2018-10-14 12:00:41 +01:00
c2fab7f016
ShaderCache: Don't create or load shader cache with Null backend
2018-10-14 20:03:57 +10:00
ecd4897d43
Merge pull request #7437 from stenzek/graphics-options-race
...
Fix race condition caused by opening graphics options while running
2018-10-12 10:29:28 -04:00
5b8e1e61e8
Merge pull request #7470 from Tilka/fifoplayer
...
FifoPlayer: reduce XF_REGS_SIZE to what we know
2018-10-09 08:56:48 +01:00
56fdcf5f00
VideoCommon: remove unnecessary floor()
...
floatindex is clamped to the range [0, 9]. For non-negative numbers
floor() is equivalent to trunc(). Truncation happens implicitly when
converting to uint, so the floor() is unnecessary.
2018-10-09 00:31:43 +01:00
9c7136453d
FifoPlayer: reduce XF_REGS_SIZE to what we know
...
This avoids out-of-bounds warnings when replaying FIFO captures.
The value of XF_REGS_SIZE is written into the DFF header and we only
read the min of XF_REGS_SIZE and the header value, so this change is
backward compatible and doesn't break forward compatibility for old
Dolphin versions either.
2018-10-08 06:54:32 +01:00
c53cd09b00
BPStructs: don't warn about busclock/perf regs
2018-10-07 16:08:18 +01:00
58b0a284a8
Merge pull request #7408 from AdmiralCurtiss/twin-snakes-cutscene-flicker-fix
...
Do not consider XFB copies for invalidating textures when loading a new texture.
2018-10-01 22:24:31 +02:00