Commit Graph

2712 Commits

Author SHA1 Message Date
MajorPainTheCactus 0e9f246b30
Fixed d3d9 mvp matrix issue (#12984) 2021-09-15 01:17:56 +02:00
MajorPainTheCactus 3c6bdfd0d8
Fixed numerous issues with HDR (#12979)
* Fix for warning and fix for incorrect comment

* Fixed contrast to be more correct - now scales from 0-10 linearly and behaves more the way you'd expect it to - changed name to ditch legacy settings users may have
Added ability to skip inverse tonemapper to the shader via the constant buffer using 'inverse_tonemap' - set to 0.0f to skip
Fixed potential bug when swapping between hdr and sdr and the bit depth not being set correctly
Fixed dx11's blend, rasterizer and topology states not being set to the sames when using hdr and leaving the menu - caused issues with PCSX2's Shadow of the Colossus
Added numerous helper functions to help create the correct values to colour the UI - normally the white UI elements should be rendered at paper white not max brightness for various reasons

* Fix stylistic issues - * Don't use camelcase for variables and function names * Use '(void)' for function declarations instead of () in C code * Declare variables at the top of a function or code block * Make sure functions that return a value always have a default return path that is not encapsulated by an else block * Use more unique names for retro_math functions which are less likely to overlap with other libraries' function symbols

Co-authored-by: twinaphex <libretro@gmail.com>
2021-09-13 16:54:50 +02:00
Autechre dcf77c4d1e
Merge pull request #12821 from markwkidd/config_h
standardize include paths for config.h
2021-09-10 16:59:15 +02:00
bulzipke 8018be5c9b
Fix ram states to file when core deinit (#12956)
* Fix ram states to file when core deinit

* Fix unterminated state_path
Call CMD_EVENT_RAM_STATE_TO_FILE when CMD_EVENT_UNLOAD_CORE too
2021-09-08 18:01:07 +02:00
MrHuu 07600392df
(3DS) Add bottom screen idle state (#12942) 2021-09-06 01:16:16 +02:00
MajorPainTheCactus 0ac542f1db
Fix for warning and fix for incorrect comment (#12944) 2021-09-06 01:16:01 +02:00
twinaphex f597138827 Cleanups 2021-09-04 21:40:37 +02:00
MajorPainTheCactus 536d18778b
Fixed up HDR for UWP/WinRT builds (#12936)
Fixed D3D11 validation warnings
Fixed up technically incorrect labels

Co-authored-by: Autechre <libretro@gmail.com>
2021-09-04 21:13:24 +02:00
bulzipke 8adc24ecbc
(3DS) Add bottom screen menu (#12470)
* (3DS) Add bottom screen menu
 -> User can save/load state on botom screen with thumbnail.
 -> Call a save_state_to_file() when RAM state has data to write a disk.
 -> If the bottom screen needs updating, swap the bottom framebuffers.

Add: SAVE/LODE STATE TO RAM
 -> This is useful for devices with slow I/O
 -> 3DS bottom save state use CMD_EVENT_SAVE_STATE_TO_RAM
 -> 3DS bottom load state use CMD_EVENT_LOAD_STATE when RAM state has no data
 -> 3DS bottom load state use CMD_EVENT_LOAD_STATE_FROM_RAM when RAM sate has data

* Rewrite path_get_state to retroarch_get_current_savestate_path

* Fix unterminated state_path
2021-09-03 18:14:03 +02:00
twinaphex 274638b89e (D3D11) Look at D3D11 feature level - if we are 11.0 or above,
we use Shader Model 5.0 instead of the default SM 4.0 - this fixes
FSR on D3D11 which requires SM5.0
2021-09-03 07:51:44 +02:00
twinaphex b900555494 (D3D11) Add logging after device creation so we can see which
feature level it used
2021-09-03 07:15:53 +02:00
Autechre 7b9cbc08d7
Add HDR support for D3D12 (rebased PR from MajorPainTheCactus) (#12917)
* Add HDR support

* Attempt to fix Mingw build and Metal builds

* (D3D12) Fix relative header includes

* Add missing hdr_sm5.hlsl.h

* (d3d12_common.c) Some C89 build fixes

* Fix MSVC build

* - Attempt to fix build on mingw/msys unix with dirty hack
- Fix shader compilation of hdr_sm5.hlsl.h on MSVC/Visual Studio -
the define was seen as an error and was causing the first pipeline
to error out
- Make sure we manually set handle of backBuffer to NULL

* Moving the release of the texture above the freeing of desc.srv_heap
and desc.rtv_heap solves the hard crashes on teardown/setup in RA -
it was crashing hard in d3d12_release_texture before

* Add HAVE_D3D12_HDR ifdef - needs to be disabled for WinRT for now
because of several things that are Windows desktop-specific right now
(GetWindowRect)

* Add dirty GUID hack - should work for both mingw/msys on Windows/Linux
as well as MSVC/Visual Studio (hopefully)

* Change HAVE_D3D12_HDR to HAVE_DXGI_HDR

* Move away from camelcase named variables

* Fix RARCH_ERR logs - they need a newline at the end

* d3d12_check_display_hdr_support - make it return a bool on return
and set d3d12->hdr.support and d3d12->hdr.enable outside of the
function

* (DXGI) Remove D3D12 dependencies from dxgi_check_display_hdr_support and
move it to dxgi_common.c instead

* (DXGI) move d3d12_swapchain_color_space over to dxgi_common.c and
rename it dxgi_swapchain_color_space

* (DXGI) move d3d12_set_hdr_metadata to dxgi_common.c and
rename it dxgi_set_hdr_metadata

* (DXGI) dxgi_check_display_hdr_support - better error handling?

* Fix typo

* Remove video_force_resolution

* (D3D12) Address TODO/FIXME

* (D3D12) Backport
c1b6c0bff2
- Fixed resource transition for present when HDR is off
Fixed cel shader displaying all black as blending was enabled when the hdr shader was being applied - turned off blending during this shader

* Move d3d12_hdr_uniform_t to dxgi_common.h and
rename it dxgi_hdr_uniform_t

* (D3D11) Add HDR support

* Add TODO/FIXME notes

* Cache hdr_enable in video_frame_info_t

* Update comment
2021-09-03 06:15:25 +02:00
twinaphex bf2e7b93f0 (Vulkan) Fix Vulkan validation layer - fix thanks to flyinghead -
see comments
2021-08-29 20:39:22 +02:00
twinaphex 7f08729a5e Revert "(gfx_display) Make gfx_display_set_fb_size - get rid of the small"
This reverts commit 618cfacd59.
2021-08-26 18:42:43 +02:00
twinaphex ea6139b234 Revert "(GX) Buildfix"
This reverts commit 96d87802cd.
2021-08-26 18:42:34 +02:00
twinaphex 96d87802cd (GX) Buildfix 2021-08-26 18:31:32 +02:00
twinaphex 618cfacd59 (gfx_display) Make gfx_display_set_fb_size - get rid of the small
getter/setter functions - also finally take this opportunity to stop
setting framebuffer width/height/pitch for menu drivers that don't
use a framebuffer texture at all
2021-08-26 18:26:44 +02:00
twinaphex ffb59e5261 (UWP) Turn this back on again - seems to work fine on Xbox 2021-08-20 10:07:29 +02:00
Mark W. Kidd 2b3dfeb10c standardize include path for config.h 2021-08-18 18:54:40 -04:00
Francisco Javier Trujillo Mata a442c5b14f Simplify logic for transparencies 2021-08-16 13:12:06 +02:00
Francisco Javier Trujillo Mata 2aeb0b079e Implement aspect_ratio and scaling integer to PS2 2021-08-10 18:14:02 +02:00
Autechre a40d1ce8b6
Merge pull request #12759 from fjtrujy/ps2_gfx_alpha
Implement Alpha for the PS2_GFX driver
2021-08-07 16:14:49 +02:00
Francisco Javier Trujillo Mata 885f9bbcc3 Implement Alpha for the PS2_GFX driver 2021-08-06 14:29:37 +02:00
twinaphex e596bf7925 Buildfix for previous commit 2021-08-02 16:19:26 +02:00
twinaphex 2af9441d35 Create separate wnd_proc functions for winraw 2021-08-02 16:14:58 +02:00
twinaphex 78341e5824 (D3D12) Fix some header includes 2021-07-30 15:18:56 +02:00
twinaphex ab9a4a95b1 (D3D12) Fix some header includes - probably a mistake that wiiu_dbg.h
was added to the d3d12.c driver
2021-07-30 15:16:14 +02:00
Francisco Javier Trujillo Mata dadf49764b Implement proper ps2_font driver instead of using the font driver from gskit 2021-07-24 10:32:09 +02:00
jdgleaver 218286aa99 (RS90) Add optional approximate 'semi-linear' scaling filter 2021-07-21 14:11:42 +01:00
jdgleaver 6b65daf07d (OpenDingux Beta) Fix IPU scaling when running 256x224 (SNES/Genesis) content 2021-07-16 17:48:03 +01:00
jdgleaver 14580e5f6f (RS-90) Fix offset of OSD text 2021-07-14 16:44:30 +01:00
Autechre b644a37622
Merge pull request #12647 from jdgleaver/dingux-frameskip-fix
(Dingux) Fix display when cores 'drop' frames
2021-07-13 21:42:02 +02:00
John Parton f6aeb717ba Basic rs90 build
DINGUX_BETA has clock_gettime libogc
Add tinyalsa support to rs90
2021-07-13 11:36:48 -05:00
jdgleaver eb259174b8 (Dingux) Fix display when cores 'drop' frames 2021-07-13 13:11:19 +01:00
CrystalCT 89b46bc246 First basic RSX driver for PSL1GHT 2021-07-12 09:35:44 +02:00
twinaphex b2c7fae912 desc.Flags should also be commented out for now 2021-06-26 05:46:37 +02:00
twinaphex 13e88ebe74 (D3D11) Disable tear control support for UWP for now 2021-06-26 05:40:41 +02:00
twinaphex 55afe18872 Move D3D11Draw call back for now - should make OSK work again and
shaders
2021-06-23 19:34:06 +02:00
Connor McLaughlin 322aeb4e46 (d3d11) Don't pass ALLOW_TEARING to present when unsupported 2021-06-22 14:04:32 +10:00
Connor McLaughlin ed2d6b1730 (d3d11) Don't draw content without a texture bound 2021-06-22 14:04:32 +10:00
Connor McLaughlin 9afa30af5e (d3d11) Disable DXGI's ALT+ENTER handling 2021-06-22 14:04:31 +10:00
twinaphex a30a86a09c (D3D11) Fixes Xbox again, do tear control checks only for non-UWP
- TODO/FIXME still has to be resolved, see comment at line 1362
2021-06-22 00:41:56 +02:00
sonninnos 917fb1f796 D3D12 Updates:
- Relocated 'd3d12_gfx_sync()'
- Fixed swap interval option
- Cleanups
2021-06-18 21:54:36 +03:00
twinaphex 8b6e58eebd Buildfix for D3D11 - courtesy of Stenzek 2021-06-16 16:07:38 +02:00
Connor McLaughlin 946d87cf89
(gfx/d3d11) Don't use allow tearing flag with blit swap chains (#12529) 2021-06-16 15:19:27 +02:00
jdgleaver d40d7c389b
(Dingux) Fix black screens when triggering gfx driver reinitialisation via menu actions (#12521) 2021-06-13 00:37:48 +02:00
Tony 3647bdef0f
(D3D) Logging + dupe code cleanups (#12501) 2021-06-09 06:33:14 +02:00
JustMeDaFaq 462cedb654
Update d3d12.c 2021-06-07 12:04:53 +02:00
JustMeDaFaq f1347829c2
Update d3d11.c 2021-06-07 12:03:58 +02:00
sonninnos 04962e1741 (D3D) Add common window title for D3D9+ 2021-06-06 22:24:47 +03:00
sonninnos 8584b122e1 (D3D11+12) Allow fastforward in fullscreen 2021-06-04 04:31:11 +03:00
Francisco José García García 194de13afb Vita: wait before free texture 2021-05-27 18:41:44 +02:00
Francisco José García García 52af69e6cd Vita: support for 720p in PSTV & Sharpscale plugin 2021-05-22 17:29:03 +02:00
U-LAPTOP-0BS9KNOH\crystal 159602d697 Change default video driver name for PSL1GHT 2021-05-19 22:50:34 +02:00
twinaphex 35543ecd91 Move defines files over to libretro-common 2021-05-18 22:15:04 +02:00
Autechre a04fe66032
Merge pull request #12380 from stenzek/vulkan-software-fb
(video/vulkan) Avoid caching stale mapped GPU texture as frame data
2021-05-18 18:01:47 +02:00
LazyFunker 4e0f8bf621 Fix typo 2021-05-16 20:44:31 +02:00
jdgleaver 484c4ad51e Add API extension for cores to override frontend fast-forward state 2021-05-13 13:16:37 +01:00
Autechre 89391ccf9a
Merge pull request #12287 from LazyFunker/master
Some fixes for UWP/XBox
2021-05-12 09:17:53 +02:00
Stenzek c9aaf598bb (video/vulkan) Avoid caching stale mapped GPU texture as frame data
At best, this results in junk on screen, at worst we could crash.

It's not a perfect fix, there's still a scenario where this breaks: when
fast forwarding is enabled, and we swap from vsync-off to vsync-on when
pausing/rendering the menu, the swap chain (and textures) gets
recreated, and the frame data is completely lost.

There isn't much we can do about this without more intrusive changes,
such as preserving the textures inbetween swap chain reinits.
2021-05-11 09:49:39 -07:00
bulzipke 7e7615c97c
(3DS) Load overlay texture images as BGR colors 2021-04-28 19:16:14 +09:00
bulzipke 56a0300db5
Load texture images as BGR colors 2021-04-27 01:58:41 +09:00
MrHuu 1235a7435e (3DS) Enable gfx_widgets / overlays 2021-04-24 15:36:03 +02:00
LazyFunker 8ff0430370 Disable mipmap generation for UWP 2021-04-20 10:29:17 +02:00
jdgleaver c23e32a047 OpenDingux Beta: Add 50Hz support 2021-04-07 10:06:11 +01:00
Autechre 115b08e0e1
Merge pull request #12232 from MrHuu/ctr_overlay
(3DS) Add HAVE_OVERLAY
2021-04-05 11:48:14 +02:00
jdgleaver a81280939e OpenDingux Beta: Fix IPU scaling when running GB/GBC/GG/NGP-resolution content 2021-04-04 22:50:25 +01:00
MrHuu 8df97a0c75 (3DS) Add HAVE_OVERLAY 2021-04-04 22:50:59 +02:00
jdgleaver 41855bb6d4 OpenDingux Beta: Fix IPU scaling when running GBA-resolution content 2021-03-31 11:17:56 +01:00
jdgleaver fe6e02e9bd OpenDingux: Improve handling of unsupported display resolutions + buffer overflow fix 2021-03-27 14:58:02 +00:00
jdgleaver 0a08437e0a Add OpenDingux Beta support 2021-03-25 16:19:42 +00:00
twinaphex 8f79e14d0a Silence LGTM static code analysis warnings 2021-03-24 00:25:47 +01:00
MrHuu b9849f78f7 (3DS) Add HAVE_GFX_WIDGETS 2021-03-23 22:03:44 +01:00
twinaphex 32a6bd021c Prevent 'may be used uninitialized' warning 2021-03-22 15:46:34 +01:00
twinaphex 611efea2bf More CXX_BUILD fixes 2021-03-22 15:20:51 +01:00
twinaphex 15b9bd47b9 (SDL2) Fix jump to label crosses initialization of const char* video_driver 2021-03-22 14:38:10 +01:00
Autechre a2ed065f25
Refactors pt3 (#12124)
* Remove video_pixel_get_alignment - move it to video
drivers that use it

* Rewrite video_driver_pixel_converter_{init/free} - get rid of
p_rarch dependency

* Replace some variables

* (Menu) Get rid of cbs_refresh - was never set to any other
function callback implementation
2021-03-11 02:03:37 +01:00
valadaa48 71cbec9252 oga_gfx: fix messages from not disappearing 2021-03-01 19:25:54 -05:00
sonninnos 6c3c2bea5f Logging cleanups 2021-02-18 18:35:31 +02:00
Francisco José García García 066917ac23
Vita: VitaGL api changes (#11981)
* Vita: VitaGL api changes: vglSwapBuffers

* Vita: VitaGL api change: Remove vglStartRendering
2021-02-04 11:46:00 +01:00
twinaphex 732fce9a04 (SDL2) Add ifdefs for HAVE_X11 and HAVE_WAYLAND 2021-02-01 23:18:06 +01:00
twinaphex 0b08693f9d Merge branch 'sdl2-out-of-x' of git://github.com/keithbowes/RetroArch into master 2021-02-01 23:13:17 +01:00
Francisco Javier Trujillo Mata 082fa22b05 Clean all the warnings in PS2 2021-01-30 15:47:52 +01:00
Autechre a49b02c44b
(Mac) Makefile changes for supporting Metal build (#11929)
* (QB) Add rule for Metal - define HAVE_COCOA_METAL for now
when building for Metal, and HAVE_COCOA for non-Metal build

* Make necessary changes to Makefile.common and qb/config.libs.sh:
- Disable OpenGL for now for Metal build
- Take Metal conditional out of OpenGL block in Makefile.common

* (Metal) Header fixes for compiling without Xcode/Griffin

* (Mac) Some buildfixes for non-Xcode building

* (cocoa_common.h) Restructure to no longer use -DOSX

* (Apple) More buildfixes

* (Apple) Cleanups
2021-01-22 22:20:38 +01:00
Keith Bowes 125154e831 Get the SDL2 video driver to work in Wayland/KMS 2021-01-21 09:42:06 -05:00
twinaphex c7e8d2adf5 Silence warnings for some console platforms 2021-01-20 08:53:45 +01:00
Twinaphex a83c328631 (Metal) Fix some build problems 2021-01-19 04:38:07 +01:00
Twinaphex eea07ea367 (COcoa GL/Cocoa Common) Refactor code for eventual splitting up
of cocoa_gl_ctx.m into two files
2021-01-18 15:41:30 +01:00
twinaphex 6d39160de1 CLeanups 2021-01-16 22:36:03 +01:00
OsirizX b96a0c495a [VITA] Add support for Vita GLES2 (PIGLET) 2021-01-06 19:14:30 +01:00
pcjco a33bcfead7 Some null pointer check
fix Wii version crash on load.
2021-01-06 00:03:31 +01:00
valadaa48 659fb73867 oga_gfx: support for OGS 2021-01-04 18:58:58 -05:00
Francisco José García García 899ec9f9f4 [VITA] Disable depth test if needed 2021-01-03 17:31:18 +01:00
Francisco José García García d83dcba0dd [VITA] Fixes for GL HW renderer 2021-01-03 17:20:21 +01:00
HyperspaceMadness 0c526b6498 Shaders Load Refactor and Fix Referenced Texture Loading
Partial update to work with shaders directly

More Edits

More changes

more shader fixes

More Fixes Compiling, reference load still wrong

Added Feedback & things are working

Logging Fixes

Log Fix

More Fixes

Added Feedback Logging

Fixes for file pathing in Linux

Fix GLCore and Crash in QT Saving

Code Cleanup

Removed Unused Function filepath.c

Code Cleanup
2020-12-26 21:09:27 -05:00
twinaphex 8df5fe2a60 CLeanup 2020-12-20 16:48:52 +01:00
aliaspider 16f997172f (D3D12) allocate rt_view descriptors for feedback render targets too. 2020-12-20 08:08:04 +01:00
aliaspider bf2adda421 (D3D12) move D3D12SignalCommandQueue to d3d12_gfx_sync. 2020-12-20 07:13:11 +01:00
twinaphex 7d313647ae (D3D11) Add flip model support - fallback to blit model for OSes
where flip model is not supported (windows 7 and earlier). Will add
a menu option later allowing the user to switch inbetween the two
2020-12-17 14:39:58 +01:00
twinaphex 38ce3927ae (D3D10/11/12) Increase sprite capacity, we need this so that
the hardware rendered menu drivers don't glitch out
2020-12-17 08:31:06 +01:00
twinaphex 2a8024a71b (D3D10) Cleanups - create init_swapchain function 2020-12-15 23:05:58 +01:00
twinaphex 093dc30ffd Refactor d3d11_init_swapchain some more 2020-12-15 22:56:29 +01:00
twinaphex a1fd1d425c (D3D11) Split init swapchain code up into own function 2020-12-15 08:19:04 +01:00
twinaphex ad2502b645 (D3D11) Change this back 2020-12-15 08:09:48 +01:00
twinaphex d55ca599e0 Replace with macros 2020-12-15 07:28:39 +01:00
twinaphex cdca5d0afc Turn vulkan_copy_staging_to_dynamic into macro 2020-12-15 07:20:33 +01:00
twinaphex d70420a12d vulkan_copy_staging_to_dynamic - put sync texture to GPU
outside of the function
2020-12-15 07:01:00 +01:00
twinaphex 6b38a7916a (Vulkan) Simplify code 2020-12-15 06:19:48 +01:00
valadaa48 bbb9c1d248 oga_gfx: implement RETRO_ENVIRONMENT_GET_CURRENT_SOFTWARE_FRAMEBUFFER 2020-12-13 21:16:11 -05:00
Autechre 71ed4db45a
Merge pull request #11681 from crystalct/master
Fix multipass shaders on PS3 - fix #11673
2020-12-11 20:18:35 +01:00
jdgleaver f657344d85 (OpenDingux/sdl_dingux_gfx) OSD font clean-up 2020-12-11 17:33:41 +00:00
unknown 96a7db2451 Fix multipass shaders on PS3 2020-12-11 18:22:27 +01:00
twinaphex 625f0d4fc6 Improve conditional 2020-12-05 04:54:22 +01:00
twinaphex 9688554921 (D3D11) Use SWAP_EFFECT_*_DISCARD from now on fallback PC codepath 2020-12-05 04:48:11 +01:00
Conrad Kreyling 9cfe50ddd3
Fix missing division sign in sunxi_gfx.c
Same fix as 71c031099b for the same problem, just in a different file.
2020-11-23 13:31:16 -05:00
aliaspider c6b77f6c62 (D3D11) get the hwrender texture format from the view desc
the format set in the texture desc isn't necessarily the same as the
view format.
2020-11-15 15:07:53 +01:00
aliaspider b3134fc05a (D3D11) fix slang shaders 2020-11-15 13:04:24 +01:00
aliaspider b7d3efc503 (D3D11) rename D3D11SetState to D3D11SetRasterizerState. 2020-11-14 04:29:44 +01:00
Rinnegatamante c04d9d62db Don't realloc video buffer when unnecessary. 2020-11-13 14:55:40 +01:00
jdgleaver 3481437b29 OpenDingux: Fix frozen video when enabling fast forward 2020-10-29 15:50:12 +00:00
Justin Weiss 91c695ac52 [3DS] Allow sideways screen rotation 2020-10-27 21:13:19 -07:00
valadaa48 82ce3ae632 oga_gfx: use 32bit aligned surface and other cleanups 2020-10-23 23:34:31 -04:00
twinaphex 2fb60e9510 Cleanup 2020-10-16 00:24:59 +02:00
twinaphex 44b7234756 Move cheat_manager and state_manager to root folder 2020-10-15 05:29:20 +02:00
Francisco José García García 085e592761 [VITA] Workaround: Increase memory threshold 2020-10-12 19:24:49 +02:00
jdgleaver 6094e2c32a OpenDingux: Ensure SDL surface width is a multiple of 16 when using 'sdl_dingux' gfx driver (crash/glitch fix) 2020-10-12 12:16:44 +01:00
twinaphex a11a0eae77 (Vulkan) Style nits 2020-10-12 01:36:50 +02:00
twinaphex 5c76ccbe4a Cleanups 2020-10-12 01:26:51 +02:00
valadaa48 c6aaa0076b drm_gfx: fix race condition in drm_surface_set_aspect 2020-10-10 00:04:09 -04:00
jdgleaver 2dc837850f OpenDingux: Add 'sdl_dingux' input/joypad drivers and use by default 2020-10-08 13:26:45 +01:00
twinaphex d1dd0e9d60 Not sure why this printf was there 2020-10-05 16:01:40 +02:00
jdgleaver 80f1da2fb1 OpenDingux: Enable selection of image interpolation method when using 'sdl_dingux' gfx driver 2020-10-05 14:34:21 +01:00
jdgleaver 472f01e0e6 OpenDingux/sdl_dingux: Prevent crash when selecting invalid video modes + optimisations 2020-10-04 11:43:33 +01:00
jdgleaver bbba80f01e OpenDingux: Enable integer scaling when using the 'sdl_dingux' gfx driver 2020-10-02 16:38:42 +01:00
jdgleaver 3bd66cc14d OpenDingux port improvements: Phase 1 2020-10-01 15:56:14 +01:00
Connor McLaughlin 696df6e916 (video/d3d11) Skip shader/stock blend when we don't have a texture
This happens if the core calls video_cb with the frame set to null on
the first frame, and was causing black screens/driver resets.

The ffmpeg core seems to do this.
2020-10-01 19:19:13 +10:00
Connor McLaughlin 10bbe119a7 (video/d3d11): Fix shaders with scaled framebuffers
The scissor rectangle was left as whatever the core last used.
2020-10-01 16:53:19 +10:00
Connor McLaughlin 30c6f90c93 (video/d3d11) Use cached view as the slang source texture
Fixes shaders in D3D11 driver.
2020-10-01 00:19:11 +10:00
Connor McLaughlin 12382c057a (video/d3d11) Cache view left bound by hw renderers
Fixes garbage/black screen when menu is active.
2020-10-01 00:19:11 +10:00
Autechre 7b600d46ad
Merge pull request #11342 from Ophidon/master
Variable BFI
2020-09-19 22:24:47 +02:00
Ophidon 05c5bdf587 C89 Compliance
For loop iterators updated for C89 compliance.
2020-09-19 13:28:21 -04:00
valadaa48 15708f5d44 oga_gfx: strlcpy, msg max len 128 + style nits 2020-09-19 11:23:59 -04:00
twinaphex ca9683d58d C89 fixes - use C style comments instead of C++, style nits 2020-09-19 14:47:40 +02:00
valadaa48 7015e199bb oga_gfx: rewrite
- Drop libgo2 dep
- Use more features of RGA
- Triple buffer instead of double buffer
- Rewrite of message code to support surface caching, transluceny,
  and multiline message support. Messages also don't scale with the
  emulation frame anymore and are drawn directly to the frame buffer.
- Better support for aspect ratios
2020-09-18 21:24:10 -04:00
Ophidon 2f36c94f3f Variable BFI
BFI support added for 180hz / 240hz / etc. Solves issue with image retention from voltage issues at 120hz BFI. Also disabled BFI while in menu, as if set to an incorrect value for the current refresh rate, could cause severe flickering and difficulty reverting to the correct value.
2020-09-18 11:57:32 -04:00
twinaphex c436ac83cd Call gl2_set_viewport directly 2020-09-15 11:11:32 +02:00
jdgleaver 55b6d8ba15 Miscellaneous overlay fixes 2020-09-11 17:00:44 +01:00
Autechre 33a04a794f
Merge pull request #11312 from justinweiss/3ds-enable-threading
[3DS] Enable threading and add a threaded audio driver
2020-09-10 06:50:12 +02:00
Autechre 2d3c63f545
Merge pull request #11248 from justinweiss/update-libctru
[3DS] Update to libctru 2.0
2020-09-10 06:49:54 +02:00
driver1998 9cf71619d3 GDI: use custom BITMAPINFO struct to avoid malloc 2020-09-07 12:36:43 +08:00
driver1998 fb00bf8602 gdi: Fix crashing 2020-09-07 10:55:25 +08:00
driver1998 a4dec6e226 d3d9: "Fix" the HLSL render chain
It won't get you very far, but at least it won't crash.
Needs HAVE_HLSL and HAVE_D3DX defines and DirectX SDK
2020-09-07 10:13:41 +08:00
valadaa48 405b987986 oga_gfx: round width to nearest integer when scaling 2020-09-03 21:53:21 -04:00
twinaphex e810b0251a (GL) Cleanups 2020-09-01 19:54:41 +02:00
twinaphex 5f08605680 Refactor joypad drivers 2020-08-30 05:29:32 +02:00
Justin Weiss f53c137459 [3DS] Enable threading 2020-08-27 19:36:39 -07:00
twinaphex 4d1cfa9c41 Make the 'raw' versions the generic function for the message loop
callback - this way it's reused for SDL2 input driver too
2020-08-28 02:55:39 +02:00
twinaphex 32279c3a70 Split up wnd_proc_common_internal into two - one for dinput,
one for raw
2020-08-28 02:21:13 +02:00
Justin Weiss 9ae2514009 [3DS] Update to libctru 2.0
Set USE_CTRULIB_2=1 to build with libctru 2.0. When unset, this code
is compatible with the older toolchain.

Some 2.0 changes addressed rare problems in earlier versions:

- Save / restore stack pointer for init / exit
  Otherwise, it could be outside of the range we deallocate.
- Run aptMainLoop in the audio driver to react correctly to sleep events

Other changes for 2.0:

- Remove ninjhax1 -- requires outdated APIs that have been removed
- Switch from __sync_arbiter to syncArbitrateAddress
- Use implicit gxCmdBuf
- Use gpuPresentBuffer for double buffering
2020-08-26 19:08:12 -07:00
twinaphex 662e37f670 Replace more instances of string_split 2020-08-26 13:35:05 +02:00
twinaphex 6b3fcf79f0 (DXGI) Turn these into macros 2020-08-24 00:04:12 +02:00
twinaphex 6b978eb057 (D3D11) Cleanups 2020-08-19 11:26:30 +02:00
twinaphex 5166eebcaf for loop cleanups - use space after 'for' 2020-08-19 03:06:22 +02:00
twinaphex aeeff7f350 (D3D11) Cleanup 2020-08-16 03:11:00 +02:00
twinaphex bb58b0d6e3 (GLSLANG) Move more common code out of shader_gl_core and shader_vulkan
and into glslang_util.h
2020-08-16 02:05:38 +02:00
twinaphex 2a9915f80d (D3D) Buildfix 2020-08-08 19:12:01 +02:00
twinaphex ade58fc8b6 (UWP) Buildfix 2020-08-08 18:17:40 +02:00
twinaphex 365ca7cf63 Buildfix 2020-08-06 02:59:09 +02:00
twinaphex a1ce1e4f1d gl_glsl_set_proc_address unneeded - remove it 2020-08-04 03:58:51 +02:00
twinaphex 72afa2f932 Cleanups 2020-08-03 16:33:54 +02:00
twinaphex 332bcc7f9e Remove dxgi_update_title 2020-08-03 15:48:08 +02:00
twinaphex f3c4b4fcf7 (GLCORE) Fix other use after free issues pointed to by jdgleaver 2020-08-03 15:19:34 +02:00
twinaphex 2d10d9fd7a (D3D10) Move these static global variables to D3D10 struct 2020-08-03 12:39:46 +02:00
twinaphex db80281b0f (D3D11) Move static global variables to D3D11 state 2020-08-03 12:36:51 +02:00
twinaphex 76398f4151 (glcore) Fix heap use after free 2020-08-03 12:15:52 +02:00
twinaphex 85e5c783af Backport getting rid of video_context_driver_input_driver 2020-08-03 00:47:58 +02:00
twinaphex deee393dfb Backport video_context_driver_free changes 2020-08-03 00:35:07 +02:00
twinaphex 3e41cbc381 Revert "Add get_metrics to poke interface"
This reverts commit 119689c940.
2020-08-02 23:44:28 +02:00
twinaphex 03fe023de4 Revert "Cleanup"
This reverts commit 576679ac05.
2020-08-02 23:44:09 +02:00
twinaphex da5806a810 Revert "Cleanups"
This reverts commit a01a2375a1.
2020-08-02 23:43:56 +02:00
twinaphex 2efa8ac80e Revert "Get rid of video_context_driver_input_driver"
This reverts commit 75b1a09184.
2020-08-02 23:43:19 +02:00
twinaphex 75b1a09184 Get rid of video_context_driver_input_driver 2020-08-02 20:37:21 +02:00
twinaphex a01a2375a1 Cleanups 2020-08-02 20:19:42 +02:00
twinaphex 576679ac05 Cleanup 2020-08-02 19:59:26 +02:00
twinaphex 119689c940 Add get_metrics to poke interface 2020-08-02 19:25:45 +02:00
twinaphex 416363e9fd Cleanups 2020-08-02 18:49:31 +02:00
bulzipke 1c0fb50877
Update ctr_gfx.c
It fixed the sound cracking when opening or closing the 3DS screen.
2020-07-28 15:03:43 +09:00
twinaphex 7f1cd52d65 Remove video_driver_context_get_size 2020-07-27 14:33:21 +02:00
twinaphex d6465a1348 Refactor 'focus' function callback 2020-07-27 13:46:55 +02:00
twinaphex 74345f08d6 Refactor video_driver_has_windowed 2020-07-27 13:39:02 +02:00
twinaphex 0c78d2ec27 Cleanup 2020-07-27 13:22:23 +02:00
twinaphex 60f3265017 Cleanups 2020-07-27 13:16:14 +02:00
twinaphex 61b798b789 Get rid of video_context_driver_set_video_mode 2020-07-27 11:08:34 +02:00
twinaphex 197465c1ea make_current is only ever used for GL, so move it out of
video_driver_load/unload_texture and into the inner GL
drivers
2020-07-27 10:26:13 +02:00
twinaphex 3d893b7602 Add extra parameter to unload_texture 2020-07-27 10:15:28 +02:00
twinaphex dc94356505 Cleanup context driver video output functions 2020-07-27 09:38:20 +02:00
twinaphex 3e04b158ab Get rid of video_context_driver_write_to_image_buffer 2020-07-27 08:25:11 +02:00
twinaphex 8dc7524e43 Get rid of video_context_driver_translate_aspect wrapper function 2020-07-27 08:15:35 +02:00
twinaphex 4e5037d7e1 Revert "Get rid of these context driver higher level functions"
This reverts commit 27b09229b3.
2020-07-26 23:11:24 +02:00
twinaphex 27b09229b3 Get rid of these context driver higher level functions 2020-07-26 11:58:38 +02:00
twinaphex 30dd294c43 (GDI) Implement resolution callback functions 2020-07-25 19:36:19 +02:00
twinaphex 9f20a48602 (D3D10/11/12) Implement resolution callback functions 2020-07-25 11:47:49 +02:00
twinaphex cb138183ad (Vulkan) Implement video resolution callback functions 2020-07-25 11:35:42 +02:00
barbudreadmon 2dedaca7b3
gcm_gfx.c: oops, forgot to include this 2020-07-24 19:40:07 +02:00
barbudreadmon 70025e4d08
gcm_gfx.c: compatibility with all sdks 2020-07-24 18:39:00 +02:00
barbudreadmon 3f7895a668
gcm_gfx.c: compatibility with recent psl1ght sdk 2020-07-24 17:47:28 +02:00
twinaphex eba83390ba Warning fixes 2020-07-23 07:39:08 +02:00
twinaphex 2f6ba7f477 Silence Emscripten warnings and leave TODO/FIXME note 2020-07-23 06:50:08 +02:00
Yoshi Sugawara c462aaf374 iOS Metal: implement the metric method for the graphics context to support getting the dpi - this is needed to make the touch interactions with the menus work. Update the metal and opengl graphics context to support a lower dpi for larger screen iPhones to make better use of the screen 2020-07-21 11:33:37 -10:00
Francisco Javier Trujillo Mata 86c43d65fa Add FPSLimiter functionality 2020-07-20 22:58:31 +02:00
twinaphex 9fb54a0a1c Fix --disable-menu 2020-07-20 01:58:49 +02:00
twinaphex 7c66f0adbc Simplify win32_check_window 2020-07-18 17:09:07 +02:00
twinaphex 04a0c55add Cleanups 2020-07-18 16:54:14 +02:00
valadaa48 9bbf191523 oga_gfx: fix last character from being chopped in on-screen messages 2020-07-14 21:43:19 -04:00
twinaphex f707994cb8 Get rid of gfx_ctx_network 2020-07-15 02:37:50 +02:00
Francisco José García García dc01bf8d46 [Vita][GL] Fix returning to menu and clear for fake hw render 2020-07-09 18:49:22 +02:00
twinaphex 4c5f4b244a (Sixel) Buildfixes 2020-07-09 15:07:06 +02:00
twinaphex d0736a1797 (MSVC) Buildfixes 2020-07-09 10:20:27 +02:00
twinaphex 77d630a0a5 (GDI) Only render framebuffer texture when menu is enabled 2020-07-09 09:40:13 +02:00
twinaphex 35762e07cb (GDI) Get rid of memory allocation per frame 2020-07-09 09:34:06 +02:00
twinaphex f56b6a3a0f (GDI) Merge gdi_ctx.c into gdi_gfx.c 2020-07-09 09:25:10 +02:00
twinaphex 255332c989 Remove sixel_ctx.c 2020-07-09 08:12:47 +02:00
twinaphex 6b466c6013 Cleanups 2020-07-09 07:46:40 +02:00
twinaphex f6c4890063 Get rid of cb_set_resize 2020-07-09 05:36:29 +02:00
twinaphex 298413dce8 Cleanups 2020-07-09 00:33:19 +02:00
twinaphex 276e86a403 (Vulkan) Turn some of these functions into macros 2020-07-03 17:48:46 +02:00
twinaphex 25f682249f (Vulkan) Turn vulkan_image_layout_transition into macro 2020-07-03 08:45:53 +02:00
Autechre 043a60633f
Merge pull request #10951 from fjtrujy/salamanderPS2
WIP: PS2 Salamander and multi-core
2020-07-01 21:18:53 +02:00
twinaphex 87b9c2a367 Add HAVE_REWIND switch 2020-07-01 21:04:05 +02:00
Francisco Javier Trujillo Mata 9d2a1b5ac4 Improve dist scripts
Improve cores folder
Improve WaitTillDeviceIsReady
Now every single driver, init and deinit the IRX binaries
Improve platform PS2
Make salamander to open proper elf
2020-07-01 17:07:53 +02:00
twinaphex 120afe5d21 (Vulkan) return early/error out if no context driver is found 2020-06-30 01:33:19 +02:00
twinaphex 968922e151 Fix static code analysis warnings 2020-06-29 21:24:32 +02:00
twinaphex cf92d8fddb (gl.c) Prevent static code analysis warnings 2020-06-29 19:40:17 +02:00
twinaphex 1b3826b348 (Vulkan) Avoid some unnecessary memsets 2020-06-29 00:02:45 +02:00
twinaphex bc73a815b7 Prevent memsets for vk->tracker 2020-06-28 19:18:48 +02:00
twinaphex c1f90e4c9a (Vulkan) Cleanups 2020-06-28 01:09:33 +02:00
twinaphex 1ae20ea17c Style nits - turn macro names into upper-case - some while style nits 2020-06-26 20:00:19 +02:00
valadaa48 f753efeaa7 oga_gfx: fix race condition with rgui callback
- oga_gfx_frame is sometimes called before set_texture_frame has been
called
2020-06-22 21:38:19 -04:00
valadaa48 69e2bd986d oga_gfx 24bit menu support
- hack borrowed from drm_gfx
2020-06-14 03:54:36 +00:00
twinaphex 01bd76405f Buildfixes 2020-06-13 08:37:26 +02:00
valadaa48 3abcb2b922 Add ffwd to non-threaded oga_gfx driver 2020-06-09 20:24:28 -04:00
jdgleaver 1fde6f8aed Fix 3DS build 2020-06-09 10:57:00 +01:00
Themaister cd4f22c275 Vulkan: Add path which uses WSI acquire semaphores.
Fence wait path has some issues on certain platforms. For now, gate this
on whether the GPU is integrated or not.
2020-06-09 00:24:29 +02:00
Themaister 15df55d011 Vulkan: Refactor swapchain index and frame index.
Do not tie these concepts together, it will not work for upcoming
refactor of swapchain logic.
2020-06-09 00:24:29 +02:00
twinaphex 2660182d52 Get rid of gfx_widgets_ready call inside
gfx_widgets_frame
2020-06-08 05:45:15 +02:00
twinaphex be76958070 Unneeded gdi_has_menu_frame 2020-06-07 02:56:56 +02:00
Francisco José García García 13b5450ff9 [GL1] Initial changes for hw context without FBO 2020-06-03 20:48:16 +02:00
Guo Yunhe e9916df9d0 Change keys to upper case 2020-06-02 10:28:00 +03:00
Rinnegatamante 14a6c42e0d [VITA] Using a global to prevent erroneous vitaGL re-initializations. 2020-06-01 11:12:16 +02:00
twinaphex e030986837 Replace fprintfs with RARCH_LOG/RARCH_ERR 2020-05-24 19:29:55 +02:00