22 Commits

Author SHA1 Message Date
Yoshi Sugawara
b83823f1f1 Add preprocessor flags for tvOS and other build settings; fix compiler errors when building for tvOS sdk 2020-07-19 11:42:19 -10:00
Yoshi Sugawara
a2327be378 improved readability for references to the platform specific metal storage mode option; removed support for btstack since its not compiling and is less relevant for the iOS platform; removed commented out code 2020-07-19 07:48:07 -10:00
Olivier PARRA
5813228c6c [FIXES]GPU capture on Metal/OSX/NVidia
[FIX]RetroArch CRASH on Metal internal assert
_validateGetBytes:39: failed assertion `texture must not be a
framebufferOnly texture.' GPU Capture were done on a
framebufferOnly texture. Fix it by setting framebufferOnly
CAMetalLayer property to NO. Subsequent MTLTexture inherits from
this property.

[FIX]Capture black frames. Resulting PNG screenshots were black.
Since GPU texture where not sync with CPU,
getBytes:bytesPerRow:fromRegion:mipmapLevel: behavior is undefined
Fix it by adding synchronizeResource command to blitCommandEncoder
In order to keep performances, syncing is done ONLY when a GPU
Capture is requested.

[FIX]Corrupted image due to incorrect viewport copy
Modify code in charge of copying MTLTexture bytes to 24bits PNG
buffer.
2020-04-02 23:01:48 +02:00
Tor Arne Vestbø
91caf28bfc metal: Add some missing debug labels and groups 2019-09-25 22:36:40 +02:00
Tor Arne Vestbø
204407b64a metal: Set up correct viewport before rendering overlay 2019-09-02 18:02:30 +02:00
twinaphex
a5aa4d731b Use memset instead of bzero 2019-04-03 16:56:50 +02:00
orbea
28ff4b391a Clean up white space. 2019-02-03 16:00:50 -08:00
Stuart Carnie
0e295716b9
feat(metal): Add native rotation support for Metal driver
* fix crash when frame or frame size is 0
2018-11-29 22:04:43 -07:00
Stuart Carnie
8569ee79bc
feat(metal): Add scissor rect support
This is required for correct rendering of the ozone menu
2018-11-06 07:56:05 -07:00
Stuart Carnie
99f497de85 feat(Metal): Add support for screen shots 2018-09-02 17:55:02 -07:00
Stuart Carnie
eadc3f4a91 fix(Metal): Fix SIGFAULT if any attribute is 0 2018-09-01 16:13:23 -07:00
Stuart Carnie
802697fdec fix(Metal): Use textures for pixel conversion 2018-09-01 11:58:37 -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
Stuart Carnie
01df2c5e88 fix(Metal): Check for nil drawable 2018-07-06 23:37:15 -07:00
Stuart Carnie
a19ea2ed07 feat(Metal): Add support for overlays 2018-07-04 13:12:40 -07: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
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
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
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