Ariel Abreu
ac4514c596
More stubs and fixes for Xcode
2023-09-25 16:17:44 -04:00
Ariel Abreu
3c656d84f5
[mtl] Only require texture memory to be host-visible if it's not framebuffer-only
2023-04-11 08:16:16 -04:00
Ariel Abreu
c449e7608e
Make Metal an optional part of the build
...
See the corresponding commit in the main repo
2023-04-06 10:04:50 -04:00
Ariel Abreu
96122cff43
Use Indium's DynamicVK to load Vulkan functions dynamically
...
This allows us to link to Vulkan dynamically at runtime (via Indium).
2023-04-06 10:04:50 -04:00
Ariel Abreu
6afea83f6c
[mtl-layer] Fix some lock issues with queued drawables
2023-04-06 10:04:49 -04:00
Ariel Abreu
ccf32c6281
Ensure objc presented handlers are invoked
...
Previously, they would only be invoked if the `present` method was
invoked directly on the objc drawable object.
2023-04-06 10:04:49 -04:00
Ariel Abreu
55bafce1f1
Initial support for Metal layers and drawables
...
In its current state, I consider this code to be experimental and
unstable. The biggest problem is that there's currently a HUGE memory
leak somewhere (over 2GiB in under 5 seconds at 60fps). I'm committing
what I have now since I don't feel like debugging that right now and it
*does* technically work as-is.
The current approach is not great for performance: first, we render to a Metal/Vulkan
texture in the desired format then blit that to an RGBA Metal/Vulkan
texture shared with
OpenGL. Then, we copy *that* to another OpenGL texture in CAMetalLayer
to use as the content for the layer (we can't keep the drawable's OpenGL
texture, since that has to be recycled). Finally, this is rendered to a
subwindow by CARenderer/CALayerContext. We cannot get rid of the last copy
since we must render to the subwindow somehow and it's the easiest
way to play nice with sublayers. I also don't think we can get rid of the
first copy since OpenGL doesn't support some of Metal/Vulkan's texture
formats; plus, we can't share optimally tiled images between Vulkan and
OpenGL with some vendors' drivers (e.g. AMD).
We *could* get rid of the second copy if we were able to accurately
determine when the content is finally presented; then we could simply
keep the drawable in-use, render it to the subwindow when asked to, and
release it once we know the render is complete.
2023-04-06 10:04:49 -04:00
Thomas A
19b47b890d
Generate Headers for AppKit, Cocoa, CoreData, CoreGraphics, CoreText, Onyx2D, and QuartzCore
2022-09-04 10:58:40 -07:00
TheBrokenRail
9700bac810
Removed Unused Code
2021-05-24 21:11:48 -04:00
Ariel Abreu
bedacf6515
Add a bunch of class/constant stubs
2021-02-26 12:42:00 -05:00
Ariel Abreu
228a30a672
Merge remote-tracking branch 'origin/master' into update-sources
2020-06-15 14:30:17 -04:00
Ariel Abreu
e44fa3e280
Initial update to clean up include directories
...
"initial" because there might some additional modifications necessary later on
2020-05-14 12:57:38 -04:00
TheBrokenRail
b6548a202d
Fix Continuation Indent
2020-05-12 17:04:16 -04:00
TheBrokenRail
98620811ce
Better Braces
2020-05-12 17:04:16 -04:00
TheBrokenRail
55c7b99e5d
Proper Braces
2020-05-12 17:04:16 -04:00
TheBrokenRail
cda40d9947
Code Formatting Using Patched ClangFormat
2020-05-12 17:04:15 -04:00
Ariel Abreu
10e4a6c644
Update CoreVideo framework reexport path
2020-05-05 12:19:20 -04:00
Andrew Hyatt
255b78624f
Fix build issue caused by reorganization
2020-01-08 23:41:11 -05:00
Andrew Hyatt
6116cd1df6
Move stubs from ApplicationServices to CG
2019-06-09 15:43:12 -04:00
Andrew Hyatt
cc89db5830
Add symbols for sketchtool
...
darlinghq/darling#494
2019-04-01 09:15:47 -04:00
Andrew Hyatt
a13d0363b1
Make QuartzCore reexports dependencies
...
darlinghq/darling#496
2019-03-26 17:48:08 -04:00
Andrew Hyatt
94403265ab
Reexport some libraries in QuartzCore
...
It reexports CoreImage, CoreVideo, and objc.
2019-03-17 12:39:58 -04:00
Andrew Hyatt
89ca94c60f
CAAnimation/CALayer constants
...
darlinghq/darling#445
2019-01-16 16:36:49 -05:00
Andrew Hyatt
d75da03ddf
CAReplicatorLayer and CAScrollLayer classes
...
darlinghq/darling#445
2019-01-16 16:23:16 -05:00
Andrew Hyatt
38cfae7a6b
QuartzCore additions
...
darlinghq/darling#445
2019-01-16 15:05:59 -05:00
Andrew Hyatt
47df1155c9
Missing Core Animation classes/constants
...
darlinghq/darling#445
2019-01-09 15:39:53 -05:00
Sergey Bugaev
a66dd5efba
NSInteger-ization & CGFloat/O2Float-ization
...
See https://github.com/darlinghq/darling/issues/418
2018-09-02 23:14:39 +03:00
Sergey Bugaev
50a571eb4b
Port Cocotron to the new EGL-based OpenGL.framework
...
See darlinghq/darling#365
TODO:
* Get rid of the few remaining glX calls
* Port CALayerContext
2018-05-27 08:26:31 +03:00
Andrew Hyatt
71a3529ac6
Set proper QuartzCore version
2017-12-30 22:46:07 -08:00
Andrew Hyatt
bffdf45663
Revert "Build QuartzCore"
...
This reverts commit ac81f937b5
.
2017-12-30 19:15:08 -08:00
Andrew Hyatt
ed34575b90
Build QuartzCore
2017-12-30 19:15:08 -08:00
Sergey Bugaev
348fdf7813
Fix direct isa access
2017-12-17 16:11:05 +03:00
Andrew Hyatt
b2a54b1871
Revert "Link to CF using the new way"
...
This reverts commit a8364108d4
.
2017-08-22 12:20:24 -07:00
Andrew Hyatt
a8364108d4
Link to CF using the new way
2017-08-10 17:46:00 -07:00
Andrew Hyatt
1c81808e25
Create include directories
2017-08-07 23:33:12 -07:00
Sergey Bugaev
74900145cc
Build CGLPixelSurface
2017-07-14 00:35:47 +03:00
Sergey Bugaev
13da68a5db
Build OpenGL
2017-07-14 00:34:28 +03:00
Sergey Bugaev
934f067913
QuartzCore building, but not linking
2017-07-13 00:46:23 +03:00
Rolf Jansen
bbba7c2199
in the *.xcodeproj files, set indent and tab width to 4 and use tabs to 0, so file editing within the respective projects will honour these settings instead of any custom user settings
2015-10-05 08:11:19 -03:00
Christopher Lloyd
631462795d
Reformat entire project using newer style
2015-05-23 20:15:45 -04:00
Christopher Lloyd
426eaa4bcd
overhaul of targets and configurations, move from multiple targets to single targets and multiple configurations
2015-05-16 11:07:53 -04:00
Christopher Lloyd
a0336d6dbc
merge rolfanroni-cva
2015-04-13 21:53:33 -04:00
Christopher Lloyd
a4cf947897
merge 0e5bc1f
andyvn22-cocotron
2015-04-11 22:14:17 -04:00
Christopher Lloyd
c0185d7525
merge dcdf46c
2015-03-29 23:00:41 -04:00
Christopher Lloyd
b381b1982d
merge 3d9c3b7
2015-03-26 21:45:09 -04:00
Christopher Lloyd
100fbed89b
fix a pile of clang warnings
2013-08-04 01:53:06 -04:00
Christopher Lloyd
2ad3151efb
upgrade some projects to 4.6, remove xcconfigs from resources build phase
2013-04-05 11:24:24 -04:00
Christopher Lloyd
54c3412526
move bulk of build settings to xcconfigs, clean out unneeded build rules, phases and settings
2013-04-05 11:01:56 -04:00
Andy Van Ness
0e5bc1f800
fixed Linux AppKit dependencies & build settings
2012-07-13 18:56:18 -04:00
Christopher Lloyd
f442357e0d
validated projects with Xcode 4
2012-03-06 09:56:28 -05:00