macOS Mojave(10.14.1)安装Vulkan依赖的工具链SPIR-V Toolchain

目前在研究学习VulkanVulkan使用SPIR-V工具链进行编译,在macOS Mojave(10.14.1)中使用如下命令安装工具链:

$ brew info glslang
glslang: stable 7.10.2984 (bottled), HEAD
OpenGL and OpenGL ES reference compiler for shading languages
https://www.khronos.org/opengles/sdk/tools/Reference-Compiler/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/glslang.rb
==> Dependencies
Build: cmake ✘
==> Options
--HEAD
	Install HEAD version
==> Analytics
install: 1,147 (30 days), 1,770 (90 days), 2,664 (365 days)
install_on_request: 383 (30 days), 696 (90 days), 1,537 (365 days)
build_error: 0 (30 days)

$  brew install glslang
==> Downloading https://homebrew.bintray.com/bottles/glslang-7.10.2984.mojave.bo
######################################################################## 100.0%
==> Pouring glslang-7.10.2984.mojave.bottle.tar.gz
?  /usr/local/Cellar/glslang/7.10.2984: 58 files, 6.7MB

$ glslangValidator -v
Glslang Version: 7.10.2984
ESSL Version: OpenGL ES GLSL 3.20 glslang Khronos. 10.2984
GLSL Version: 4.60 glslang Khronos. 10.2984
SPIR-V Version 0x00010300, Revision 1
GLSL.std.450 Version 100, Revision 1
Khronos Tool ID 8
SPIR-V Generator Version 7
GL_KHR_vulkan_glsl version 100
ARB_GL_gl_spirv version 100

但是,需要注意的是,使用HomeBrew安装的版本,缺少部分功能,如果使用"-Os"(代码大小优化)参数的时候,会报告错误,如下:

$ glslangValidator -V -Os
glslangValidator: Error -Os not available; optimizer not linked (use -h for usage)

这是由于代码大小优化部分需要spirv-tools执行,然而HomeBrew编译的版本没有关联spirv-tools导致安装的程序没办法使用这个功能。

如果需要这部分功能,我们只能手动编译安装:

# 移除brew安装的版本
$ brew remove glslang

# 编译安装 glslang
$ git clone https://github.com/KhronosGroup/glslang.git

$ cd glslang

# 目前(2018.12.17)的正式版,最稳定的版本,试过最新的版本,编译部分代码存在问题
$ git checkout 7.10.2984

# 下载 spirv-tools 部分的功能代码
$ python update_glslang_sources.py 

$ mkdir build

$ cd build

$ cmake ..

$ make

$ sudo make install

继续阅读macOS Mojave(10.14.1)安装Vulkan依赖的工具链SPIR-V Toolchain

Apple的官方开源项目网站

Apple的开源其实做得很棒!http://www.opensource.apple.com/,这个Apple的官方开源网站真的是一个大宝藏。真的是不怕你知道,就怕你学不完。

WebKit就不用说了。在OS X和iOS分类下,有对应的WebKit的版本号,这里也可以快速知道相应操作系统里使用的WebKit版本。
Objective-C Runtime。objc运行时是如何工作的?如何使用mach-o里的__TEXT.__objc_xxx和__DATA._objc_xxx(__OBJC segment现在没有了?)?可以查看OS X分类下某个系统版本下的objc4-XXX目录。
Libc。想知道c库里的某个函数如何实现?可以查看OS X分类下某个系统版本下的Libc-XXX目录。
xnu。想学习内核?可以查看OS X分类下某个系统版本下的xnu-XXX目录。
想了解和学习各种工具如何实现?otool?nm?可以查看Developer Tools分类下某个Xcode版本下的cctools-XXX目录。nm.c就在这个目录里的msic目录里。
还有很多很多。。。
某个主题目录可以直接下载,而且,有一些主题里会有Xcode project文件,这样可以很方便查看和搜索。另外,某些主题的源代码应该是不完全的,不同的操作系统版本里会有不同,如果某个主题里的某个源代码在新的操作系统里没有找到,可以尝试在旧的操作系统里找一下。

http://www.opensource.apple.com/,你值得拥有!

参考链接


Apple Open Source

Xcode 10.1清除最近打开的工程

如果直接点击屏幕下方的Xcode图标,回弹出一个Xcode的启动框,右边会列出你最近打开过的工程,如果想清除这些记录,就点击Xcode的菜单栏的“File”菜单,然后选择 Open Recent ,然后就能看到Clear Menu了,点击后,再次启动Xcode就看不到先前打开过的工程了。

参考链接


Xcode清除最近打开的工程

在macOS Mojave (10.14.1)系统上使用Xcode 10.1导入IOKit Framework开发

尝试在在macOS Mojave (10.14.1)系统上使用Xcode 10.1进行IOKit Framework相关的开发,没有在网上找到合适的例子,自己摸索了一下步骤。

继续阅读在macOS Mojave (10.14.1)系统上使用Xcode 10.1导入IOKit Framework开发

解决macOS Mojave(10.14/10.14.1)无法删除从应用商店下载的macOS High Sierra安装文件

解决macOS Mojave(10.14/10.14.1)无法删除从应用商店下载的macOS High Sierra安装文件,现象如下图:
继续阅读解决macOS Mojave(10.14/10.14.1)无法删除从应用商店下载的macOS High Sierra安装文件

解决VirtualBox升级到5.2.6后无法启动之前版本关闭的处于休眠状态的芯片组为ICH9的虚拟机报告错误"VERR_SSM_LOAD_CONFIG_MISMATCH"

VirtualBox升级到5.2.6以及之后的版本,无法启动之前版本关闭的处于休眠状态的芯片组为ICH9的虚拟机。

报错信息如下:

不能为虚拟电脑 Debian 打开一个新任务.

ich9pci#0: Device in slot 0xc0 has been removed! vendor=0x8086 device=0x2448 [ver=2 pass=final] (VERR_SSM_LOAD_CONFIG_MISMATCH).

返回 代码: NS_ERROR_FAILURE (0x80004005)
组件: ConsoleWrap
界面: IConsole {872da645-4a9b-1727-bee2-5585105b9eed}

继续阅读解决VirtualBox升级到5.2.6后无法启动之前版本关闭的处于休眠状态的芯片组为ICH9的虚拟机报告错误"VERR_SSM_LOAD_CONFIG_MISMATCH"

macOS Mojave(10.14)安装AX88179(USB 3.0 有线网卡)驱动程序

自己的mac book pro在升级到macOS Mojave(10.14)之后,无法识别USB 3.0有线网卡。

使用如下命令,查询网卡的设备类型:

$ system_profiler SPUSBDataType

然后下载驱动安装才可以。

官方下载地址:
AX88179 Drivers Download