Commit Graph

43 Commits

Author SHA1 Message Date
twinaphex
b16f526540 (Metal) Cleanups - turn function static 2021-03-21 18:10:55 +01:00
twinaphex
5d2a75d782 (Apple/Metal) Combine various Metal files into one 2021-03-21 18:06:00 +01:00
Autechre
7ea1d7d0da
Revert "Mac buildfixes (#11933)" (#11934)
This reverts commit 18a6880900.
2021-01-24 03:56:05 +01:00
Autechre
18a6880900
Mac buildfixes (#11933)
* (Metal/WindowListener) Fix duplicate symbol errors by
moving implementation of WindowListener to cocoa_common.m

* (Apple) Cleanup some conditionals

* (Cocoa) Cut down on OSX ifdefs in Cocoa-specific code
2021-01-24 03:53:10 +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
twinaphex
1e9f6f175e (OSX) Fix PowerPC build 2021-01-17 05:02:07 +01:00
twinaphex
bc43db1789 Remove gfx_display_get_coords_array 2020-09-25 10:31:07 +02:00
twinaphex
dffa052958 Rearrange draw struct 2020-08-14 15:58:43 +02:00
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
Yoshi Sugawara
6308ba1acb support ApplePlatform for iOS and conform app delegate class to it, move app delegate class to apple_platform.h, fix metal references for iOS 2020-07-07 05:03:42 -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
twinaphex
c16568cf32 (gfx drivers display) No more video_frame_info dependency 2020-03-08 22:06:08 +01:00
twinaphex
c71469c715 Rename menu_display to gfx_display 2020-02-16 15:10:07 +01: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
orbea
d3f81e8db8 Fix the osx metal travis build. 2019-01-21 13:03:51 -08:00
orbea
e062b98088 Remove trailing blank lines.
find . -type f -exec sed -i '${/^[[:space:]]*$/d;}' {} \+
2019-01-17 19:39:38 -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
fd2524429d
chore(meta): Cleanup 2018-11-06 07:56:05 -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
9d22aacaa7 refactor: Add vertex buffer struct to ShaderTypes and remove global 2018-09-02 17:53:18 -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
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
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
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
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
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