Commit Graph

8099 Commits

Author SHA1 Message Date
Brad Parker
367689a3f9 add enum for 21:9 aspect 2018-07-13 15:30:48 -04:00
Brad Parker
637ded4ef1 add 21:9 aspect ratio 2018-07-13 15:29:07 -04:00
Stuart Carnie
13a9aca88a fix(Metal): Render search box correctly 2018-07-12 23:15:24 -07:00
Stuart Carnie
167ad3b57d fix(Metal): Various Metal fixes
* OSD message background
* clear glui background
* add Metal to configuration
* added optional config to compile Metal build without OpenGL
* fixed fill_pathname_join_delim; if out_path and dir are same, don't
  strlcpy, as the results are undefined.
2018-07-12 21:33:18 -07:00
Brad Parker
dbfccb25dd sixel: fix context init 2018-07-12 22:59:05 -04:00
Brad Parker
ab27b7c85f initial SIXEL video driver 2018-07-12 16:55:08 -04:00
twinaphex
6b5ade4ac3 Should be no more deprecated warnings with core context GL for menu
shaders
2018-07-12 22:03:37 +02:00
twinaphex
60d7d1c793 Add xmb ribbon simple core shader 2018-07-12 21:34:17 +02:00
twinaphex
140e657d51 (GLSL) Add logging for compiling menu shaders 2018-07-12 21:25:39 +02:00
Brandon Wright
c81aab345c Lock sizes of enum fields at 32 bits. 2018-07-11 16:37:37 -05:00
alphanu1
755a128d95
cast float 2018-07-08 19:15:24 +01:00
alphanu1
045606ce44
Restore refresh fix for windows
The refresh rate is now detect to restore the original desktop resolution.
2018-07-08 18:17:23 +01:00
alphanu1
74eacd5a33
Merge pull request #76 from libretro/master
update
2018-07-08 18:13:05 +01:00
Stuart Carnie
40a1446c95 feat(Metal): Reload shader preset when Metal driver reinitialized 2018-07-07 07:31:43 -07:00
Stuart Carnie
74e1f24e90 feat(Metal): Full screen support
* I believe there is a race condition where the viewport is not set
  correctly on launch
2018-07-06 23:38:34 -07:00
Stuart Carnie
01df2c5e88 fix(Metal): Check for nil drawable 2018-07-06 23:37:15 -07:00
Dwedit
41ce61974d A hack to invalidate the frame_cache_data pointer during the following events:
Load Game, Reset, Init, Unload, Unload Game, Video Driver Destroy, Video Driver Free, Video Driver Init

This prevents an invalid pointer from being read if the first frame starts out paused.
2018-07-06 09:53:31 -05:00
twinaphex
22d6930488 Some MSVC 2010 360 buildfixes 2018-07-06 04:45:52 +02:00
Dwedit
838dcc8a5a Move Message loop call to right before video_driver_get_status call 2018-07-05 20:07:01 -05:00
twinaphex
c3d469dd8e Revert "Moved WIN32 message loop out of win32_check_window, and into just before the call to runloop_iterate"
This reverts commit 7108628369.
2018-07-05 02:42:16 +02:00
Twinaphex
95500f5631
Merge pull request #6948 from stuartcarnie/sgc-metal
feat(Metal): Add support for overlays
2018-07-04 22:52:29 +02:00
Stuart Carnie
a19ea2ed07 feat(Metal): Add support for overlays 2018-07-04 13:12:40 -07:00
Dwedit
7108628369 Moved WIN32 message loop out of win32_check_window, and into just before the call to runloop_iterate 2018-07-04 14:20:38 -05:00
Twinaphex
63a071b85a
Merge pull request #6945 from Themaister/master
Vulkan: WSI stability fixes
2018-07-04 21:04:08 +02:00
Hans-Kristian Arntzen
52cb0fe375 Vulkan: Fix crash when we get two create_swapchain errors in a row. 2018-07-04 20:25:03 +02:00
Hans-Kristian Arntzen
f1d2dac213 Vulkan: Fix various stability issues with WSI.
Added an ifdef to trigger "hardening" which will return spurious errors
for critical WSI things like acquire next image, queue submit and
surface dimension queries.
2018-07-04 19:45:54 +02:00
Stuart Carnie
048aa16599 feat(Metal): Support vsync enable / disable 2018-07-04 09:50:09 -07:00
Stuart Carnie
844e5e15d0 fix(Metal): fix XRGBA rendering; no nil texture; undefined stuff bad 2018-07-04 08:50:46 -07:00
Stuart Carnie
5240efc857 chore(Metal): fix compiler warnings when targeting newer macOS versions 2018-07-04 00:24:04 -07:00
Stuart Carnie
30d2192338 fix(Metal): Fix release build crash for misaligned read 2018-07-04 00:16:14 -07:00
Stuart Carnie
44ca1062b0 formatting 2018-07-03 22:32:12 -07:00
Stuart Carnie
a0900ec433 feat(Metal): full xmb pipeline support
Menu TODOs:

* understand why ribbon does not look the same as GL
* add clear support to `MenuDisplay` for glui
2018-07-03 22:32:12 -07:00
Stuart Carnie
4a101734a1 More cleanup
* use single render command encoder for display for better performance
* Context handles all rendering and presentation
2018-07-03 22:32:12 -07:00
Stuart Carnie
1c5d94aca1 Improve performance; don't care about previous state ofcolor attachment
Color attachment is being completely overwritten.
2018-07-03 22:32:12 -07:00
Stuart Carnie
5e1f991e32 feat(Metal): initial xmb and glui menu support
TODOs

* menu shader pipeline effects
* refactor / optimize graphics rendering
2018-07-03 22:32:12 -07:00
Themaister
f2cae17021 Vulkan: Try to avoid creating swapchains redundantly.
Win32: Only make resize events when needed.
Do not create swapchain unless necessary.
Deal better with Windows WSI workarounds.
2018-07-01 16:21:09 +02:00
Themaister
c4ba8d26a0 Support multiple displays in VK_KHR_display. 2018-07-01 01:21:51 +02:00
twinaphex
8a1c0be83c (Android) Another potential buildfix; define ENABLE_HLSL
(slang_process) Put HLSL/Cg code around ENABLE_HLSL ifdef
(SPIRV-Cross) Make sure macros no longer need to be redefined; make them
unique in both glsl and hlsl files; needed for Griffin builds
2018-06-26 13:18:17 +02:00
twinaphex
d967cbc879 Add another ENABLE_HLSL ifdef 2018-06-25 21:51:23 +02:00
Twinaphex
3bdc7ca352
Merge pull request #6915 from RobLoach/osd-font
freetype: Allow getting OSD Font from Assets Directory
2018-06-24 18:13:18 +02:00
Rob Loach
e4fe33f437
freetype: Add comment about assets:// 2018-06-24 12:02:28 -04:00
Rob Loach
8a96062ed0
freetype: Rename to osd-font.tff 2018-06-24 11:19:40 -04:00
Rob Loach
da6b7987f1
freetype: Get DejaVuSansMono.ttf from the assets directory 2018-06-24 11:00:21 -04:00
Stuart Carnie
367c15f488 feat(Metal): font rendering
* FPS and other OSD messages render correctly
* add autoreleasepool around entire render loop to avoid memory leaks
2018-06-23 23:54:23 -07:00
Stuart Carnie
eacd52f009 fix(Metal): improve shader stability
* use MTKView, which handles layer and scaling changes automatically
  between displays
2018-06-23 13:33:27 -07:00
Stuart Carnie
ee8d82dcfe add additional project files 2018-06-23 13:33:27 -07:00
twinaphex
0d8729daa6 FIx warning 2018-06-21 08:12:02 +02:00
twinaphex
b05026b69f Buildfix 2018-06-21 07:56:40 +02:00
Twinaphex
fd11b205da Silence bunch of warnings 2018-06-21 07:52:01 +02:00
Twinaphex
2bdffff435 Silence more warnings 2018-06-21 07:34:27 +02:00
Twinaphex
467aa30131 Cleanups 2018-06-21 07:26:05 +02:00
Stuart Carnie
411bcf8bdd feat(apple): Metal support for macOS
* includes rgui
* shader support

This is a work-in-progress and there are some bugs and visual artifacts
still to be fixed.
2018-06-20 21:33:45 -07:00
twinaphex
1f571be61d Fix warning 2018-06-20 10:24:10 +02:00
Hans-Kristian Arntzen
16c797f057 Vulkan: Fix two validation errors.
- Mipgen was only transitioning the first miplevel to GENERAL.
  Fix the image barrier helper function to transition all levels and
  layers.

- Validation layer was complaining that a VkSwapchainKHR was not
  properly destroyed. After recycling the swapchain, destroy the old
  one.
2018-06-06 23:23:32 +02:00
misson20000
1404b63219 fix for tearing (depends on libtransistor commit cf5d0403 in v2.0.0, which is yet to be released) 2018-05-30 18:04:58 -07:00
Gustavo Maciel Dias Vieira
14c505117d Add screensaver (idle) inhibition for Wayland driver
The Wayland driver currently has no implementation for gfx_ctx_wl_suppress_screensaver. This adds a Dbus implementation using the same infrastructure used by the X11 driver.
2018-05-29 09:56:58 -03:00
twinaphex
23b0444afe Update libretro-common 2018-05-28 17:30:56 +02:00
alphanu1
7c50550fc3
Black screen fix 2018-05-25 12:26:11 +01:00
alphanu1
b4996e6d41
Porch adjust to fix aspect 2018-05-25 10:58:43 +01:00
alphanu1
e6b2f5a734
240p menu for CRT 2018-05-25 10:57:32 +01:00
alphanu1
f99540e9d0
update 2018-05-25 10:56:22 +01:00
alphanu1
23ec5eed84
update 2018-05-25 10:55:15 +01:00
alphanu1
a98ce80df0
Porch adjust to fix aspect 2018-05-25 10:49:28 +01:00
alphanu1
e20e0b1cfd
240p menu for CRT 2018-05-25 10:42:57 +01:00
alphanu1
f9fb5ae659
Merge pull request #68 from libretro/master
update
2018-05-25 10:41:38 +01:00
twinaphex
c7c1983c91 Update d3d9_set_pixel_shader 2018-05-18 20:43:12 +02:00
twinaphex
eac9ce1818 Refactor load_program 2018-05-18 08:49:52 +02:00
twinaphex
3c1c6758c7 Update 2018-05-18 01:38:45 +02:00
twinaphex
ce79ff79d2 Cleanups 2018-05-18 01:10:13 +02:00
twinaphex
db184a470b Cleanups 2018-05-18 00:51:45 +02:00
twinaphex
c9de823e38 (D3D9 HLSL) Start getting rid of old code 2018-05-18 00:46:39 +02:00
twinaphex
d457256bda (D3D9 HLSL) More work hooking up the stock shader(D3D9 HLSL) More work
hooking up the stock shader(D3D9 HLSL) More work hooking up the stock
shader(D3D9 HLSL) More work hooking up the stock shader(D3D9 HLSL) More
work hooking up the stock shader(D3D9 HLSL) More work hooking up the
stock shader(D3D9 HLSL) More work hooking up the stock shader(D3D9 HLSL)
More work hooking up the stock shader(D3D9 HLSL) More work hooking up
the stock shader
2018-05-18 00:36:51 +02:00
twinaphex
48b9506299 (HLSL) Implement renderchain_add_pass 2018-05-18 00:27:07 +02:00
twinaphex
076a8a6a97 (D3D9 HLSL) Updates 2018-05-18 00:24:19 +02:00
twinaphex
5a84170efe Simplify d3d9_hlsl_load_program 2018-05-18 00:19:02 +02:00
twinaphex
c4a38f24d1 Refactor D3D9 HLSL 2018-05-18 00:17:47 +02:00
twinaphex
991882cbd6 Create d3d9_hlsl_bind_program 2018-05-17 23:25:43 +02:00
twinaphex
8fadef7082 Update d3d9_set_vertex_shader 2018-05-17 23:23:17 +02:00
twinaphex
1d67334323 Expand d3d9_cg_bind_program 2018-05-17 23:20:13 +02:00
twinaphex
9adedbc01a Create d3d9_cg_bind_program 2018-05-17 22:57:16 +02:00
twinaphex
eb27d014e8 Cleanups 2018-05-17 22:50:37 +02:00
twinaphex
f7b1007995 Move mvp_val to hlsl_renderchain 2018-05-17 22:46:51 +02:00
twinaphex
671be3c372 Cleanup d3d9_cg_load_program 2018-05-17 22:40:46 +02:00
twinaphex
c412e2ec97 (Cg renderchain) Refactor vStock/fStock 2018-05-17 22:38:17 +02:00
twinaphex
3b7a1a8a73 Make hlsl_load_program more like Cg version 2018-05-17 22:30:57 +02:00
twinaphex
0df8ca030f Cleanups 2018-05-17 22:22:10 +02:00
twinaphex
c67dc034e9 Add vtable/ftable to shader_pass 2018-05-17 22:14:23 +02:00
twinaphex
34c5c84706 Cleanups 2018-05-17 21:43:27 +02:00
twinaphex
be9f643edb Get rid of hlsl->dev 2018-05-17 21:26:11 +02:00
twinaphex
cabe5c6686 Uncomment d3d9_hlsl_renderchain_set_params for state tracker 2018-05-17 21:11:43 +02:00
twinaphex
d946cf1ee5 Create common set vertices function 2018-05-17 21:07:44 +02:00
twinaphex
2011453340 Cleanups 2018-05-17 20:50:32 +02:00
twinaphex
9d6777a87f Rewrite set_shader_params to be nearly identical to Cg renderchain 2018-05-17 20:45:26 +02:00
twinaphex
6c392d3863 Cleanups 2018-05-17 20:31:16 +02:00
twinaphex
70074010e0 Cleanups 2018-05-17 20:15:47 +02:00
twinaphex
aec7ce3f4e Update 2018-05-17 20:01:20 +02:00
twinaphex
ebc2cc6d5b (HLSL) Cleanup log messages 2018-05-17 19:57:07 +02:00
twinaphex
cc1f503f57 (HLSL) Further cleanups 2018-05-17 19:55:08 +02:00
twinaphex
9adc4d4a2f Another cleanup 2018-05-17 19:48:16 +02:00
twinaphex
0de7e7bf46 Cleanups 2018-05-17 19:47:22 +02:00
twinaphex
bef7b481c6 Refactor more D3D9 HLSL renderchain code 2018-05-17 19:33:47 +02:00
twinaphex
5bb1b2ef7c Start refactoring HLSL code - constant table parameter setters 2018-05-17 19:26:52 +02:00
twinaphex
da53ddc99b Create d3d9_hlsl_get_constant_by_name 2018-05-17 19:13:39 +02:00
twinaphex
18b176c1ea Rename functions 2018-05-17 19:03:13 +02:00
twinaphex
3b7414bc4b (Cg) Some refactors 2018-05-17 18:56:12 +02:00
twinaphex
d28aad6372 Rename hlsl_compile_program 2018-05-17 18:46:57 +02:00
Twinaphex
380308d7d0
Merge pull request #6792 from Tatsuya79/patch-1
Disable gl hard sync in menu
2018-05-17 18:40:36 +02:00
twinaphex
fe1d3306af Cleanups 2018-05-17 18:20:36 +02:00
twinaphex
a9cede28b4 remove some Cg references from log messages 2018-05-17 18:03:18 +02:00
twinaphex
08425d978c Create d3d9_renderchain_destroy_passes_and_luts 2018-05-17 17:59:42 +02:00
twinaphex
c022190895 Cleanups 2018-05-17 17:52:44 +02:00
twinaphex
041d51b8d1 Cleanups 2018-05-17 17:50:33 +02:00
twinaphex
f8b7104ef2 Move more common code to d3d9_renderchain.h 2018-05-17 17:38:42 +02:00
twinaphex
a024da61f4 More code de-duplication 2018-05-17 17:27:56 +02:00
twinaphex
e01a028e24 Move add_lut_internal to d3d9_renderchain.h 2018-05-17 17:25:46 +02:00
Tatsuya79
e96463645d
Disable gl hard sync in menu 2018-05-17 17:24:10 +02:00
twinaphex
c46d84b799 Create d3d9_renderchain_add_lut 2018-05-17 17:23:53 +02:00
twinaphex
6d2b5c8052 Move read_viewport function back to d3d9.c 2018-05-17 17:17:08 +02:00
twinaphex
ad3cedfff1 Create d3d9_init_renderchain 2018-05-17 17:15:04 +02:00
twinaphex
ea5e4e9ae4 Create struct D3D9Vertex 2018-05-17 17:10:44 +02:00
twinaphex
30b6366158 (d3d9_cg_renderchain.c) Reuse same struct 2018-05-17 17:09:23 +02:00
twinaphex
45f409b022 Start using shader_pass struct 2018-05-17 16:52:12 +02:00
twinaphex
d369cde6c6 (Cg renderchain) Cleanups 2018-05-17 16:50:02 +02:00
twinaphex
bc59b0345d Start unifying the structs across the two renderchains 2018-05-17 16:42:27 +02:00
twinaphex
517e42c9c7 Pass d3d pointer to set_mvp 2018-05-17 05:46:49 +02:00
twinaphex
8161add9e4 (D3D renderchains) Updates 2018-05-17 05:36:56 +02:00
twinaphex
7afad7a84b Add start/end render 2018-05-17 04:19:35 +02:00
twinaphex
fef586b887 Comment out align texels for now 2018-05-17 02:21:40 +02:00
twinaphex
8686c5e037 (HLSL) Use HLSLVertex everywhere in the file 2018-05-17 02:18:57 +02:00
twinaphex
91fc81e76a (D3D9 HLSL) Prevents crash with game frame 2018-05-17 02:17:47 +02:00
twinaphex
62a2af1848 (HLSL) Update set_vertices 2018-05-17 02:16:19 +02:00
twinaphex
a999bff175 Cleanups 2018-05-17 02:07:15 +02:00
twinaphex
47551cec84 (HLSL) set_vertices - more work 2018-05-17 02:01:32 +02:00
twinaphex
47f3855e1b Cleanups 2018-05-16 16:06:00 +02:00
twinaphex
4b5ea2877e Cleanups 2018-05-16 16:03:22 +02:00
twinaphex
efbfe85da4 Cleanups 2018-05-16 15:58:46 +02:00
twinaphex
3aba080434 Integrate HLSL code into d3d9_hlsl_renderchain.c 2018-05-16 15:52:11 +02:00
twinaphex
2d540264e8 Start hooking up set_shader_mvp function 2018-05-15 06:02:10 +02:00
twinaphex
6afd100d2f (D3D9 HLSL) Add calc_and_set_shader_mvp 2018-05-15 05:53:15 +02:00
twinaphex
52fcdd183a (HLSL) Add more functions 2018-05-14 23:14:26 +02:00
twinaphex
5cba3f0b25 (D3D) Updates 2018-05-14 22:24:02 +02:00
twinaphex
9e63b108ae Cleanups 2018-05-14 22:20:26 +02:00
twinaphex
8361922034 Cleanup 2018-05-14 22:07:07 +02:00
twinaphex
c0cd08fa11 Cleanups 2018-05-14 22:01:21 +02:00
twinaphex
4e572d6f87 Simplify calc_and_set_shader_mvp 2018-05-14 21:54:28 +02:00
twinaphex
e1368a9209 (Cg D3D9) Buildfix 2018-05-14 21:42:14 +02:00
twinaphex
39f45a17d2 create d3d9_convert_geometry 2018-05-14 21:32:14 +02:00
twinaphex
c941b4e922 Update D3D9 HLSL code 2018-05-14 21:26:52 +02:00
twinaphex
f37f8a1076 (HLSL renderchain) Refactor code 2018-05-14 21:10:14 +02:00
twinaphex
dc61c08006 Cleanups 2018-05-14 20:50:02 +02:00