Compare commits
38 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
74e7fb7818
|
|||
|
8366cdd224
|
|||
|
05f9939077
|
|||
|
ae30f627dd
|
|||
|
b4916dd431
|
|||
|
4cf235675a
|
|||
|
098943ab46
|
|||
|
fb3df67ba6
|
|||
|
b1c882b4de
|
|||
|
0ed0d8abde
|
|||
|
51e4426a4f
|
|||
|
316edeb17b
|
|||
|
8facae53c7
|
|||
|
7881bfd027
|
|||
|
9e9469fe6c
|
|||
|
b6d90eb8e0
|
|||
|
879f911fd8
|
|||
|
1066fc0097
|
|||
|
3a3d8efb1e
|
|||
|
cb8c9e4e68
|
|||
|
1c4a3b72bf
|
|||
|
fdca05487c
|
|||
|
89db730bb9
|
|||
|
5161fc24ec
|
|||
|
e1f16e7720
|
|||
|
8e9b3a2ed1
|
|||
|
fd0a81b304
|
|||
|
1d6d89a11a
|
|||
|
6a6fdab92d
|
|||
|
67c67574e8
|
|||
|
79be25433b
|
|||
|
a4d78e8a32
|
|||
|
ab3c37f75a
|
|||
|
e6757fe254
|
|||
|
b0f0d9e060
|
|||
|
ce58895a0d
|
|||
|
3c78551b24
|
|||
|
223e8e56b3
|
@@ -210,6 +210,10 @@ func main() {
|
||||
&cm.attr.Jobs,
|
||||
"jobs", command.IntFlag(0),
|
||||
"Preferred number of jobs to run, when applicable",
|
||||
).Flag(
|
||||
&cm.attr.Load,
|
||||
"load-average", command.IntFlag(0),
|
||||
"Preferred load average number, when applicable",
|
||||
).Flag(
|
||||
&cm.base,
|
||||
"d", command.StringFlag("$MBF_CACHE_DIR"),
|
||||
|
||||
@@ -107,7 +107,7 @@ func skipGNUTests(tests ...int64) string {
|
||||
buf.WriteString(strconv.Itoa(int(n - 1)))
|
||||
buf.WriteString(" ")
|
||||
}
|
||||
if i == len(tests)-1 || tests[i+1] != n+1 {
|
||||
if i == len(tests)-1 || (tests[i+1] != n+1 && tests[i+1] != n+2) {
|
||||
buf.WriteString(strconv.Itoa(int(n + 1)))
|
||||
buf.WriteString("-")
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ func TestSkipGNUTests(t *testing.T) {
|
||||
}{
|
||||
{[]int64{764}, "1-763 765-"},
|
||||
{[]int64{764, 0xcafe, 37, 9}, "1-8 10-36 38-763 765-51965 51967-"},
|
||||
{[]int64{168, 170, 623, 764}, "1-167 169 171-622 624-763 765-"},
|
||||
{[]int64{1, 2, 0xbed}, "3-3052 3054-"},
|
||||
{[]int64{3, 4}, "1-2 5-"},
|
||||
}
|
||||
|
||||
+8
-26
@@ -56,16 +56,15 @@ ln -s \
|
||||
|
||||
func init() {
|
||||
const (
|
||||
version = "1.26.4"
|
||||
checksum = "fpqJlxa41wKRtbnviYNLk9VxgcL-5oIEDxsriF8svU6kNwQW70oRRA9gTz_ImVoB"
|
||||
version = "1.25.12"
|
||||
checksum = "XNrGD_boJl2-El_a_T3BuTcMin_WPoU-FGddcNG8dcXA8n2QuxZB7kaUaCWu60QX"
|
||||
)
|
||||
meta := Metadata{
|
||||
Name: "go",
|
||||
Description: "the Go programming language toolchain",
|
||||
Name: "go-bootstrap",
|
||||
Description: "the Go programming language toolchain (bootstrap)",
|
||||
Website: "https://go.dev",
|
||||
Version: version,
|
||||
|
||||
ID: 1227,
|
||||
Exclude: true,
|
||||
}
|
||||
native.MustRegister(meta.Name, func(t Toolchain) (*Metadata, pkg.Artifact) {
|
||||
var (
|
||||
@@ -152,8 +151,8 @@ sed -i \
|
||||
)
|
||||
|
||||
go125 := t.newGo(
|
||||
"1.25.11",
|
||||
"cnqAQ8wpVZXcM6nHAfSqFkIW4L3H73ALB9rBfKUBbfgg4_pOF3I9zOZARgYQ6MR2",
|
||||
version,
|
||||
checksum,
|
||||
[]string{"CGO_ENABLED=0"}, `
|
||||
sed -i \
|
||||
's,/lib/ld-musl-`+t.linuxArch()+`.so.1,/system/bin/linker,' \
|
||||
@@ -165,23 +164,6 @@ rm \
|
||||
`, go123,
|
||||
)
|
||||
|
||||
return &meta, t.newGo(
|
||||
version,
|
||||
checksum,
|
||||
finalEnv, `
|
||||
sed -i \
|
||||
's,/lib/ld-musl-`+t.linuxArch()+`.so.1,/system/bin/linker,' \
|
||||
cmd/link/internal/`+t.arch+`/obj.go
|
||||
sed -i \
|
||||
's/cpu.X86.HasAVX512VBMI/& \&\& cpu.X86.HasPOPCNT/' \
|
||||
internal/runtime/gc/scan/scan_amd64.go
|
||||
|
||||
rm \
|
||||
os/root_unix_test.go \
|
||||
cmd/cgo/internal/testsanitizers/tsan_test.go \
|
||||
cmd/cgo/internal/testsanitizers/cshared_test.go
|
||||
`, go125,
|
||||
)
|
||||
|
||||
return &meta, go125
|
||||
})
|
||||
}
|
||||
|
||||
+10
-9
@@ -17,11 +17,12 @@ var (
|
||||
_earlyRuntimes = H("early-runtimes")
|
||||
_musl = H("musl")
|
||||
|
||||
_bash = H("bash")
|
||||
_gawk = H("gawk")
|
||||
_coreutils = H("coreutils")
|
||||
_diffutils = H("diffutils")
|
||||
_findutils = H("findutils")
|
||||
_bash = H("bash")
|
||||
_awk = H("awk")
|
||||
_pythonEarly = H("python-early")
|
||||
_coreutils = H("coreutils")
|
||||
_diffutils = H("diffutils")
|
||||
_findutils = H("findutils")
|
||||
|
||||
_zlib = H("zlib")
|
||||
_zstd = H("zstd")
|
||||
@@ -124,7 +125,7 @@ ln -s \
|
||||
"/work/system/lib/${ROSA_TRIPLE}/crtendS.o"
|
||||
`,
|
||||
},
|
||||
_python,
|
||||
_pythonEarly,
|
||||
|
||||
_muslHeaders,
|
||||
_kernelHeaders,
|
||||
@@ -180,7 +181,7 @@ ln -s \
|
||||
},
|
||||
SkipTest: true,
|
||||
},
|
||||
_python,
|
||||
_pythonEarly,
|
||||
|
||||
_zlib,
|
||||
_zstd,
|
||||
@@ -367,11 +368,11 @@ ln -s clang++ /work/system/bin/c++
|
||||
|
||||
Test: "ninja " + jobsFlagE + " " + loadFlagE + " check-all",
|
||||
},
|
||||
_python,
|
||||
_pythonEarly,
|
||||
_perl,
|
||||
_diffutils,
|
||||
_bash,
|
||||
_gawk,
|
||||
_awk,
|
||||
_coreutils,
|
||||
_findutils,
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
)
|
||||
|
||||
func TestLLVMInputs(t *testing.T) {
|
||||
const wantInputCount = 553
|
||||
const wantInputCount = 467
|
||||
|
||||
_, llvm := rosa.Native().Std().MustLoad(rosa.H("llvm"))
|
||||
var n int
|
||||
|
||||
@@ -56,7 +56,7 @@ func (attr *MakeHelper) extra(flag int) P {
|
||||
extra := P{_make}
|
||||
if (attr == nil || !attr.OmitDefaults) && flag&TEarly == 0 {
|
||||
extra = append(extra,
|
||||
_gawk,
|
||||
_awk,
|
||||
_coreutils,
|
||||
)
|
||||
}
|
||||
|
||||
+45
-16
@@ -5,10 +5,16 @@ import (
|
||||
"strings"
|
||||
)
|
||||
|
||||
var _meson = H("meson")
|
||||
var (
|
||||
_muon = H("muon")
|
||||
_meson = H("meson")
|
||||
)
|
||||
|
||||
// MesonHelper builds and tests a meson project.
|
||||
type MesonHelper struct {
|
||||
// Use muon instead of meson.
|
||||
Muon bool
|
||||
|
||||
// Runs after setup.
|
||||
ScriptCompileEarly string
|
||||
// Runs after compile.
|
||||
@@ -29,7 +35,12 @@ type MesonHelper struct {
|
||||
var _ Helper = new(MesonHelper)
|
||||
|
||||
// extra returns hardcoded meson runtime dependencies.
|
||||
func (*MesonHelper) extra(int) P { return P{_meson} }
|
||||
func (attr *MesonHelper) extra(int) P {
|
||||
if !attr.isPython() {
|
||||
return P{_muon}
|
||||
}
|
||||
return P{_meson}
|
||||
}
|
||||
|
||||
// wantsChmod returns false.
|
||||
func (*MesonHelper) wantsChmod() bool { return false }
|
||||
@@ -43,6 +54,12 @@ func (*MesonHelper) scriptEarly() string { return "" }
|
||||
// wantsDir requests a new directory in TMPDIR.
|
||||
func (*MesonHelper) wantsDir() (string, bool) { return `"$(mktemp -d)"`, false }
|
||||
|
||||
// isPython returns whether the legacy python implementation is used.
|
||||
func (attr *MesonHelper) isPython() bool {
|
||||
return attr == nil ||
|
||||
!attr.Muon || len(attr.SkipTests) != 0 || attr.InteractiveTest
|
||||
}
|
||||
|
||||
// script generates the cure script.
|
||||
func (attr *MesonHelper) script(t Toolchain, name string) string {
|
||||
if attr == nil {
|
||||
@@ -54,12 +71,28 @@ func (attr *MesonHelper) script(t Toolchain, name string) string {
|
||||
scriptCompiled = "\n" + scriptCompiled
|
||||
}
|
||||
|
||||
python := attr.isPython()
|
||||
muon := "muon"
|
||||
compile := " samu " + jobsFlagE
|
||||
destdir := "-d"
|
||||
if python {
|
||||
muon = "meson"
|
||||
compile = " compile " + jobsFlagE + " " + loadFlagE
|
||||
destdir = "--destdir"
|
||||
}
|
||||
|
||||
var scriptTest string
|
||||
if !attr.SkipTest && t.opts&OptSkipCheck == 0 {
|
||||
scriptTest = `
|
||||
meson test \
|
||||
-t 10 \
|
||||
` + muon + ` test \
|
||||
` + jobsFlagE + ` \
|
||||
-t 10`
|
||||
if python {
|
||||
scriptTest += ` \
|
||||
--print-errorlogs`
|
||||
} else {
|
||||
scriptTest += " -Rv"
|
||||
}
|
||||
if attr.InteractiveTest {
|
||||
scriptTest += ` \
|
||||
--interactive`
|
||||
@@ -70,29 +103,25 @@ meson test \
|
||||
}
|
||||
|
||||
return `
|
||||
cd "$(mktemp -d)"
|
||||
meson setup \
|
||||
` + muon + ` setup \
|
||||
` + strings.Join(slices.Collect(func(yield func(string) bool) {
|
||||
for _, v := range append([]KV{
|
||||
{"wrap-mode", "nofallback"},
|
||||
{"wrap_mode", "nofallback"},
|
||||
{"prefix", "/system"},
|
||||
{"buildtype", "release"},
|
||||
}, attr.Setup...) {
|
||||
s := "-" + v[0]
|
||||
if len(v[0]) > 0 && v[0][0] != 'D' {
|
||||
s = "-" + s
|
||||
}
|
||||
s := v[0]
|
||||
if v[1] != "" {
|
||||
s += "=" + v[1]
|
||||
s = "-D" + s + "=" + v[1]
|
||||
}
|
||||
if !yield(s) {
|
||||
return
|
||||
}
|
||||
}
|
||||
}), " \\\n\t") + ` \
|
||||
. '/usr/src/` + name + `'
|
||||
meson compile` + scriptCompiled + scriptTest + `
|
||||
meson install \
|
||||
--destdir=/work
|
||||
'/usr/src/` + name + `'
|
||||
` + muon + compile + scriptCompiled + scriptTest + `
|
||||
` + muon + ` install \
|
||||
` + destdir + ` /work
|
||||
` + attr.Script
|
||||
}
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
package awk {
|
||||
description = "one true awk";
|
||||
website = "https://github.com/onetrueawk/awk";
|
||||
anitya = 16171;
|
||||
|
||||
version# = "20260426";
|
||||
source = remoteGitHub {
|
||||
suffix = "onetrueawk/awk";
|
||||
tag = version;
|
||||
checksum = "ewAvWLEHajhm7cA7v4DsKVk1c11niCLKIE5Q-8W_sxv1XXsbZlcOuWn1KOBYMxjo";
|
||||
};
|
||||
|
||||
enterSource = true;
|
||||
writable = true;
|
||||
chmod = true;
|
||||
|
||||
exec = make {
|
||||
omitDefaults = true;
|
||||
inPlace = true;
|
||||
skipConfigure = true;
|
||||
preCheck = "install -vD a.out /system/bin/awk\n";
|
||||
install = "install -vD a.out /work/system/bin/awk";
|
||||
};
|
||||
|
||||
inputs = [
|
||||
m4,
|
||||
bison,
|
||||
diffutils,
|
||||
];
|
||||
}
|
||||
@@ -10,10 +10,15 @@ package bison {
|
||||
compress = gzip;
|
||||
};
|
||||
|
||||
// awk dependency loop
|
||||
toyboxEarly = true;
|
||||
|
||||
exec = make {
|
||||
check = [
|
||||
"TESTSUITEFLAGS=" + jobsFlagE + "' " + skipGNUTests {
|
||||
tests = [
|
||||
// GNU-isms not implemented in toybox
|
||||
168, 170, 623,
|
||||
// clang miscompiles (SIGILL)
|
||||
764,
|
||||
];
|
||||
@@ -22,9 +27,5 @@ package bison {
|
||||
];
|
||||
};
|
||||
|
||||
inputs = [
|
||||
m4,
|
||||
diffutils,
|
||||
sed,
|
||||
];
|
||||
inputs = [ m4 ];
|
||||
}
|
||||
|
||||
@@ -13,16 +13,16 @@ package cairo {
|
||||
|
||||
exec = meson {
|
||||
setup = {
|
||||
"Ddwrite": "enabled";
|
||||
"Dfontconfig": "enabled";
|
||||
"Dfreetype": "enabled";
|
||||
"dwrite": "enabled";
|
||||
"fontconfig": "enabled";
|
||||
"freetype": "enabled";
|
||||
|
||||
"Dpng": "enabled";
|
||||
"Dtee": "enabled";
|
||||
"Dxcb": "enabled";
|
||||
"Dxlib": "disabled";
|
||||
"Dxlib-xcb": "disabled";
|
||||
"Dzlib": "enabled";
|
||||
"png": "enabled";
|
||||
"tee": "enabled";
|
||||
"xcb": "enabled";
|
||||
"xlib": "disabled";
|
||||
"xlib-xcb": "disabled";
|
||||
"zlib": "enabled";
|
||||
};
|
||||
// runs the entire test suite in a single meson test
|
||||
interactiveTest = true;
|
||||
@@ -31,7 +31,7 @@ package cairo {
|
||||
};
|
||||
|
||||
inputs = [
|
||||
gawk,
|
||||
awk,
|
||||
|
||||
zlib,
|
||||
libpng,
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
diff --git a/Tests/BootstrapTest.cmake b/Tests/BootstrapTest.cmake
|
||||
index 137de78bc1..b4da52e664 100644
|
||||
--- a/Tests/BootstrapTest.cmake
|
||||
+++ b/Tests/BootstrapTest.cmake
|
||||
@@ -9,7 +9,7 @@ if(NOT nproc EQUAL 0)
|
||||
endif()
|
||||
message(STATUS "running bootstrap: ${bootstrap} ${ninja_arg} ${parallel_arg}")
|
||||
execute_process(
|
||||
- COMMAND ${bootstrap} ${ninja_arg} ${parallel_arg}
|
||||
+ COMMAND ${bootstrap} ${ninja_arg} ${parallel_arg} -- -DCMAKE_USE_OPENSSL=OFF
|
||||
WORKING_DIRECTORY "${bin_dir}"
|
||||
RESULT_VARIABLE result
|
||||
)
|
||||
@@ -3,18 +3,15 @@ package cmake {
|
||||
website = "https://cmake.org";
|
||||
anitya = 306;
|
||||
|
||||
version# = "4.3.4";
|
||||
version# = "4.4.0";
|
||||
source = remoteGitHubRelease {
|
||||
suffix = "Kitware/CMake";
|
||||
tag = "v"+version;
|
||||
name = "cmake-"+version+".tar.gz";
|
||||
checksum = "6A50pqarKDXKOCv7ffKMvWJWmNTVp_ep8KoaWwNdg-RYQRddgKbxayHveTo6jZ_7";
|
||||
checksum = "ZL0Y19_mSJWsl3dMjRRQJAaCvl4_PqbwpgUC1aBA-cdVdrK_gt4ylpUM2GMoQMku";
|
||||
compress = gzip;
|
||||
};
|
||||
patches = [
|
||||
"bootstrap-test-no-openssl.patch",
|
||||
"disable-broken-tests-musl.patch",
|
||||
];
|
||||
patches = [ "disable-broken-tests-musl.patch" ];
|
||||
|
||||
// test suite expects writable source tree
|
||||
writable = true;
|
||||
@@ -32,6 +29,7 @@ package cmake {
|
||||
"--";
|
||||
"-DCMAKE_USE_OPENSSL": "OFF";
|
||||
"-DCMake_TEST_NO_NETWORK": "ON";
|
||||
"-DCMake_TEST_BOOTSTRAP": "OFF";
|
||||
};
|
||||
|
||||
check = [
|
||||
|
||||
@@ -19,9 +19,9 @@ package dbus {
|
||||
|
||||
exec = meson {
|
||||
setup = {
|
||||
"Depoll": "enabled";
|
||||
"Dinotify": "enabled";
|
||||
"Dx11_autolaunch": "disabled";
|
||||
"epoll": "enabled";
|
||||
"inotify": "enabled";
|
||||
"x11_autolaunch": "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -50,7 +50,7 @@ package xdg-dbus-proxy {
|
||||
|
||||
exec = meson {
|
||||
setup = {
|
||||
"Dman": "disabled";
|
||||
"man": "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ package dtc {
|
||||
|
||||
exec = meson {
|
||||
setup = {
|
||||
"Dyaml": "disabled";
|
||||
"yaml": "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -3,12 +3,12 @@ package fontconfig {
|
||||
website = "https://www.freedesktop.org/wiki/Software/fontconfig";
|
||||
anitya = 827;
|
||||
|
||||
version# = "2.18.1";
|
||||
version# = "2.18.2";
|
||||
source = remoteGitLab {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
suffix = "fontconfig/fontconfig";
|
||||
ref = version;
|
||||
checksum = "S3FJfh-PeZ2_YgNrUqL0H2G4Wf_ilj5HpIGV2oURnkK672AQHpWk526bNtRHwyJt";
|
||||
checksum = "P8YoQunIynBhc3gdDyPkImw_GGYoy1U4aX0jTnpkgtLmU4nqIgUyeqCH3-rNzpTd";
|
||||
};
|
||||
|
||||
exec = make {
|
||||
|
||||
@@ -12,7 +12,7 @@ package fribidi {
|
||||
|
||||
exec = meson {
|
||||
setup = {
|
||||
"Ddocs": "false";
|
||||
"docs": "false";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -14,10 +14,10 @@ package fuse {
|
||||
|
||||
exec = meson {
|
||||
setup = {
|
||||
"Ddefault_library": "both";
|
||||
"Dtests": "true";
|
||||
"Duseroot": "false";
|
||||
"Dinitscriptdir": "/system/etc";
|
||||
"default_library": "both";
|
||||
"tests": "true";
|
||||
"useroot": "false";
|
||||
"initscriptdir": "/system/etc";
|
||||
};
|
||||
|
||||
postCompile = "python3 -m pytest test/";
|
||||
|
||||
@@ -60,6 +60,8 @@ disable_test t1451-fsck-buffer
|
||||
disable_test t4104-apply-boundary
|
||||
disable_test t4200-rerere
|
||||
disable_test t5515-fetch-merge-logic
|
||||
disable_test t4124-apply-ws-rule
|
||||
disable_test t3404-rebase-interactive
|
||||
`;
|
||||
|
||||
check = [
|
||||
|
||||
@@ -3,11 +3,11 @@ package glib {
|
||||
website = "https://developer.gnome.org/glib";
|
||||
anitya = 10024;
|
||||
|
||||
version# = "2.89.1";
|
||||
version# = "2.89.2";
|
||||
source = remoteGit {
|
||||
url = "https://gitlab.gnome.org/GNOME/glib.git";
|
||||
tag = version;
|
||||
checksum = "9_6Eew2KIwa1AHopjU7CqC13_nur5FPJMu-iGUd7sD_1gAM1pa_HVUuAtqExJoYU";
|
||||
checksum = "ZetUwjVOKs0v2xtndzy7_4kvZY2VEESOTT45AAMJVLr22fmTRKit4MJOwruB0als";
|
||||
};
|
||||
|
||||
files = {
|
||||
@@ -17,7 +17,7 @@ package glib {
|
||||
|
||||
exec = meson {
|
||||
setup = {
|
||||
"Ddefault_library": "both";
|
||||
"default_library": "both";
|
||||
};
|
||||
// fails with ipv6 disabled
|
||||
skipTests = [ "gio" ];
|
||||
|
||||
@@ -3,11 +3,11 @@ package glslang {
|
||||
website = "https://github.com/KhronosGroup/glslang";
|
||||
anitya = 205796;
|
||||
|
||||
version# = "16.3.0";
|
||||
version# = "16.4.0";
|
||||
source = remoteGitHub {
|
||||
suffix = "KhronosGroup/glslang";
|
||||
tag = version;
|
||||
checksum = "xyqDf8k3-D0_BXHGi0uLgMglnJ05Rf3j73QgbDs3sGtKNdBIQhY8JfqX1NcNoJQN";
|
||||
checksum = "u67ps8Fv_75QDiusvKjzgttPPPxb5V7HsObb0q6OvqQfHh0UGN2_x8Y0RKb9JEie";
|
||||
};
|
||||
|
||||
// test suite writes to source
|
||||
|
||||
@@ -12,6 +12,9 @@ package m4 {
|
||||
compress = bzip2;
|
||||
};
|
||||
|
||||
// awk dependency loop
|
||||
toyboxEarly = true;
|
||||
|
||||
writable = true;
|
||||
early = `
|
||||
chmod +w tests/test-c32ispunct.sh && echo '#!/bin/sh' > tests/test-c32ispunct.sh
|
||||
@@ -220,25 +223,6 @@ test_disable '#!/bin/sh' tests/need-filename
|
||||
exec = make {};
|
||||
}
|
||||
|
||||
package gawk {
|
||||
description = "an implementation of awk with GNU extensions";
|
||||
website = "https://www.gnu.org/software/gawk";
|
||||
anitya = 868;
|
||||
|
||||
version# = "5.4.0";
|
||||
source = remoteTar {
|
||||
url = "https://ftpmirror.gnu.org/gnu/gawk/gawk-"+version+".tar.gz";
|
||||
checksum = "m0RkIolC-PI7EY5q8pcx5Y-0twlIW0Yp3wXXmV-QaHorSdf8BhZ7kW9F8iWomz0C";
|
||||
compress = gzip;
|
||||
};
|
||||
|
||||
toyboxEarly = true;
|
||||
exec = make {
|
||||
// dependency loop
|
||||
skipCheck = true;
|
||||
};
|
||||
}
|
||||
|
||||
package grep {
|
||||
description = "searches input for lines containing a match to a pattern";
|
||||
website = "https://www.gnu.org/software/grep";
|
||||
@@ -309,14 +293,15 @@ package findutils {
|
||||
website = "https://www.gnu.org/software/findutils";
|
||||
anitya = 812;
|
||||
|
||||
version# = "4.10.0";
|
||||
version# = "4.11.0";
|
||||
source = remoteFile {
|
||||
url = "https://ftpmirror.gnu.org/gnu/findutils/findutils-"+version+".tar.xz";
|
||||
checksum = "ZXABdNBQXL7QjTygynRRTdXYWxQKZ0Wn5eMd3NUnxR0xaS0u0VfcKoTlbo50zxv6";
|
||||
checksum = "X-qsv9aUoBL583q-4iZcBI3_7Ufd3fSIqFmNLXWdEpUihlRfMpGGyAUt8SAvDKae";
|
||||
};
|
||||
|
||||
early = `
|
||||
echo '#!/bin/sh' > gnulib-tests/test-c32ispunct.sh
|
||||
echo 'int main(){return 0;}' > gnulib-tests/test-fstatat.c
|
||||
echo 'int main(){return 0;}' > tests/xargs/test-sigusr.c
|
||||
`;
|
||||
|
||||
@@ -450,7 +435,7 @@ package texinfo {
|
||||
|
||||
runtime = [
|
||||
perl,
|
||||
gawk,
|
||||
awk,
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
From 45929774c3d5c084cc478afba63c77cf67a68bd7 Mon Sep 17 00:00:00 2001
|
||||
From: khr@golang.org <khr@golang.org>
|
||||
Date: Wed, 18 Feb 2026 09:09:57 -0800
|
||||
Subject: [PATCH] internal/runtime/gc/scan: require popcnt for x86
|
||||
|
||||
The GOAMD64=v1 test disables popcnt instructions, which is a feature
|
||||
this package's amd64 assembly uses.
|
||||
|
||||
Fixes #77674
|
||||
|
||||
Change-Id: I7be9bb665838f5da50275f96ef3df398412bb44a
|
||||
Reviewed-on: https://go-review.googlesource.com/c/go/+/746640
|
||||
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
|
||||
Reviewed-by: Michael Knyszek <mknyszek@google.com>
|
||||
Reviewed-by: Keith Randall <khr@google.com>
|
||||
Auto-Submit: Keith Randall <khr@golang.org>
|
||||
---
|
||||
|
||||
diff --git a/src/internal/runtime/gc/scan/scan_amd64.go b/src/internal/runtime/gc/scan/scan_amd64.go
|
||||
index c03021c7d4..544b237770 100644
|
||||
--- a/src/internal/runtime/gc/scan/scan_amd64.go
|
||||
+++ b/src/internal/runtime/gc/scan/scan_amd64.go
|
||||
@@ -39,4 +39,5 @@ var avx512ScanPackedReqsMet = cpu.X86.HasAVX512VL &&
|
||||
cpu.X86.HasGFNI &&
|
||||
cpu.X86.HasAVX512BITALG &&
|
||||
cpu.X86.HasAVX512DQ && // for kmovb, see #79871
|
||||
- cpu.X86.HasAVX512VBMI
|
||||
+ cpu.X86.HasAVX512VBMI &&
|
||||
+ cpu.X86.HasPOPCNT
|
||||
@@ -0,0 +1,135 @@
|
||||
From 06f90ebfa6f3e0a744584513e2786988b26569da Mon Sep 17 00:00:00 2001
|
||||
From: Damien Neil <dneil@google.com>
|
||||
Date: Wed, 08 Jul 2026 11:11:48 -0700
|
||||
Subject: [PATCH] os: properly handle trailing / in Root.MkdirAll
|
||||
|
||||
MkdirAll("dir/") should create "dir", not return an error.
|
||||
|
||||
Fixes #80308
|
||||
|
||||
Change-Id: I75458c30b6cb94be3a3d368f6024caef6a6a6964
|
||||
---
|
||||
|
||||
diff --git a/src/os/root_noopenat.go b/src/os/root_noopenat.go
|
||||
index 228b580..a84e952 100644
|
||||
--- a/src/os/root_noopenat.go
|
||||
+++ b/src/os/root_noopenat.go
|
||||
@@ -158,6 +158,9 @@
|
||||
if err := checkPathEscapes(r, name); err == errPathEscapes {
|
||||
return &PathError{Op: "mkdirat", Path: name, Err: err}
|
||||
}
|
||||
+ if name == "" {
|
||||
+ return &PathError{Op: "mkdirat", Path: name, Err: syscall.ENOENT}
|
||||
+ }
|
||||
prefix := r.root.name + string(PathSeparator)
|
||||
if err := MkdirAll(prefix+name, perm); err != nil {
|
||||
if pe, ok := err.(*PathError); ok {
|
||||
diff --git a/src/os/root_openat.go b/src/os/root_openat.go
|
||||
index d7c9334..92865e4 100644
|
||||
--- a/src/os/root_openat.go
|
||||
+++ b/src/os/root_openat.go
|
||||
@@ -167,6 +167,12 @@
|
||||
fi, e := r.Stat(fullname)
|
||||
if e == nil && fi.Mode().IsDir() {
|
||||
err = nil
|
||||
+ } else if e == nil {
|
||||
+ err = syscall.ENOTDIR
|
||||
+ } else if !IsNotExist(e) {
|
||||
+ // EPERM, ELOOP, etc.,
|
||||
+ // probably more useful than EEXIST.
|
||||
+ err = e
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -177,7 +183,12 @@
|
||||
}
|
||||
return struct{}{}, &PathError{Op: "mkdirat", Err: err}
|
||||
}
|
||||
- _, err := doInRoot(r, fullname, 0, openDirFunc, openLastComponentFunc)
|
||||
+ flags := uint(doInRootCreatingDirectory)
|
||||
+ switch runtime.GOOS {
|
||||
+ case "linux", "windows":
|
||||
+ flags = doInRootNoHandleTerminalSlash // see rootMkdir
|
||||
+ }
|
||||
+ _, err := doInRoot(r, fullname, flags, openDirFunc, openLastComponentFunc)
|
||||
if err != nil {
|
||||
if _, ok := err.(*PathError); !ok {
|
||||
err = &PathError{Op: "mkdirat", Path: fullname, Err: err}
|
||||
diff --git a/src/os/root_test.go b/src/os/root_test.go
|
||||
index 5e0acf9..33a2f33 100644
|
||||
--- a/src/os/root_test.go
|
||||
+++ b/src/os/root_test.go
|
||||
@@ -585,6 +585,11 @@
|
||||
|
||||
func TestRootMkdirAll(t *testing.T) {
|
||||
for _, test := range rootTestCases {
|
||||
+ if test.name == "directory does not exist" {
|
||||
+ // Test expects error, mkdirall creates the missing directory.
|
||||
+ // TestRootMultiMkdirAll covers this case better anyway, just skip.
|
||||
+ continue
|
||||
+ }
|
||||
test.run(t, func(t *testing.T, target string, root *os.Root) {
|
||||
wantError := test.wantError
|
||||
if test.ltarget != "" {
|
||||
@@ -593,7 +598,7 @@
|
||||
wantError = true
|
||||
}
|
||||
|
||||
- err := root.Mkdir(test.open, 0o777)
|
||||
+ err := root.MkdirAll(test.open, 0o777)
|
||||
if errEndsTest(t, err, wantError, "root.MkdirAll(%q)", test.open) {
|
||||
return
|
||||
}
|
||||
@@ -3133,6 +3138,52 @@
|
||||
})
|
||||
}
|
||||
|
||||
+func TestRootMultiMkdirAllShallow(t *testing.T) {
|
||||
+ runRootMultiTest(t, func(t *testing.T, test *rootMultiTest) (string, error) {
|
||||
+ return testRootMultiMkdirAll(t, test, test.targetPath)
|
||||
+ })
|
||||
+}
|
||||
+
|
||||
+func TestRootMultiMkdirAllDeep(t *testing.T) {
|
||||
+ runRootMultiTest(t, func(t *testing.T, test *rootMultiTest) (string, error) {
|
||||
+ targetPath := test.targetPath
|
||||
+ if len(targetPath) > 0 && os.IsPathSeparator(targetPath[len(targetPath)-1]) {
|
||||
+ targetPath += "a/b/"
|
||||
+ } else {
|
||||
+ targetPath += "/a/b"
|
||||
+ }
|
||||
+ return testRootMultiMkdirAll(t, test, targetPath)
|
||||
+ })
|
||||
+}
|
||||
+
|
||||
+func testRootMultiMkdirAll(t *testing.T, test *rootMultiTest, targetPath string) (string, error) {
|
||||
+ var mkdirAll = os.MkdirAll
|
||||
+ if test.root != nil {
|
||||
+ mkdirAll = test.root.MkdirAll
|
||||
+ }
|
||||
+
|
||||
+ test.setOp("MkdirAll(%q, 0o777)", targetPath)
|
||||
+ gotErr := mkdirAll(targetPath, 0o777)
|
||||
+
|
||||
+ switch {
|
||||
+ case test.root != nil && test.target.lescapes():
|
||||
+ // "mkdir ../target", or equivalent escaping path.
|
||||
+ test.wantError(t, gotErr, os.ErrPathEscapes)
|
||||
+ case test.root != nil && test.target.escapes():
|
||||
+ // "mkdir ../target", or equivalent escaping path.
|
||||
+ test.wantError(t, gotErr, errAny)
|
||||
+ return "", errSkipRootConsistencyCheck
|
||||
+ case test.root != nil && test.target.kind == testFileSymlink && test.target.target.kind == testFileAbsent && targetPath != test.targetPath:
|
||||
+ // A minor inconsistency between Root.MkdirAll and os.MkdirAll:
|
||||
+ // When an intermediate component of the tree being constructed is a
|
||||
+ // dangling symlink, Root.MkdirAll will follow the symlink and create
|
||||
+ // its target directory, while os.MkdirAll will fail with an error.
|
||||
+ return "", errSkipRootConsistencyCheck
|
||||
+ default:
|
||||
+ }
|
||||
+ return "", gotErr
|
||||
+}
|
||||
+
|
||||
func TestRootMultiRename(t *testing.T) {
|
||||
if runtime.GOOS == "wasip1" {
|
||||
switch os.Getenv("GOWASIRUNTIME") {
|
||||
@@ -0,0 +1,64 @@
|
||||
package go {
|
||||
description = "the Go programming language toolchain";
|
||||
website = "https://go.dev";
|
||||
anitya = 1227;
|
||||
|
||||
version# = "1.26.5";
|
||||
source = remoteTar {
|
||||
url = "https://go.dev/dl/go"+version+".src.tar.gz";
|
||||
checksum = "13yt1u_NGOd62LO-WZ8W6CUXodOrEF5CdkiTTiH9E635IHn1luvlXYjsHpBXNFSw";
|
||||
compress = gzip;
|
||||
};
|
||||
|
||||
patches = [
|
||||
// https://go.dev/issue/77674
|
||||
"746640.patch",
|
||||
// https://go.dev/issue/80308
|
||||
"799064.patch",
|
||||
];
|
||||
|
||||
env = [
|
||||
"CC=cc",
|
||||
"GOCACHE=/tmp/gocache",
|
||||
"GOROOT_BOOTSTRAP=/system/go",
|
||||
"TMPDIR=/dev/shm/go",
|
||||
];
|
||||
|
||||
enterSource = true;
|
||||
|
||||
exec = generic {
|
||||
inPlace = true;
|
||||
build = `
|
||||
mkdir /work/system/ "${TMPDIR}"
|
||||
cp -r . /work/system/go
|
||||
cd /work/system/go/src/
|
||||
chmod -R +w ..
|
||||
|
||||
sed -i \
|
||||
's,/lib/ld-musl-`+linuxArch+`.so.1,/system/bin/linker,' \
|
||||
cmd/link/internal/`+arch+`/obj.go
|
||||
|
||||
rm \
|
||||
os/root_unix_test.go \
|
||||
runtime/crash_cgo_test.go \
|
||||
cmd/cgo/internal/testsanitizers/tsan_test.go \
|
||||
cmd/cgo/internal/testsanitizers/cshared_test.go
|
||||
|
||||
set +u
|
||||
. ./make.bash "$@" --no-banner
|
||||
set -u
|
||||
`;
|
||||
check = "bash run.bash --no-rebuild\n";
|
||||
install = `
|
||||
../bin/go tool dist banner # print build info
|
||||
|
||||
mkdir /work/system/bin
|
||||
ln -s \
|
||||
../go/bin/go \
|
||||
../go/bin/gofmt \
|
||||
/work/system/bin
|
||||
`;
|
||||
};
|
||||
|
||||
inputs = [ bash, go-bootstrap ];
|
||||
}
|
||||
@@ -12,10 +12,10 @@ package harfbuzz {
|
||||
|
||||
exec = meson {
|
||||
setup = {
|
||||
"Dcairo": "enabled";
|
||||
"Dpng": "enabled";
|
||||
"Dzlib": "enabled";
|
||||
"Dfreetype": "enabled";
|
||||
"cairo": "enabled";
|
||||
"png": "enabled";
|
||||
"zlib": "enabled";
|
||||
"freetype": "enabled";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -132,7 +132,7 @@ rm -v "/work/system/lib/modules/$(make -f /usr/src/kernel/Makefile kernelversion
|
||||
perl,
|
||||
bc,
|
||||
sed,
|
||||
gawk,
|
||||
awk,
|
||||
coreutils,
|
||||
diffutils,
|
||||
bash,
|
||||
|
||||
@@ -13,12 +13,12 @@ package kmod {
|
||||
|
||||
exec = meson {
|
||||
setup = {
|
||||
"Dmoduledir": "/system/lib/modules";
|
||||
"Dsysconfdir": "/system/etc";
|
||||
"Dbashcompletiondir": "no";
|
||||
"Dfishcompletiondir": "no";
|
||||
"Dxz": "disabled";
|
||||
"Dmanpages": "false";
|
||||
"moduledir": "/system/lib/modules";
|
||||
"sysconfdir": "/system/etc";
|
||||
"bashcompletiondir": "no";
|
||||
"fishcompletiondir": "no";
|
||||
"xz": "disabled";
|
||||
"manpages": "false";
|
||||
};
|
||||
|
||||
// makes assumptions about the running kernel
|
||||
|
||||
@@ -13,7 +13,7 @@ package libdrm {
|
||||
|
||||
exec = meson {
|
||||
setup = {
|
||||
"Dintel": "enabled";
|
||||
"intel": "enabled";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -12,8 +12,8 @@ package libepoxy {
|
||||
|
||||
exec = meson {
|
||||
setup = {
|
||||
"Dglx": "yes";
|
||||
"Degl": "yes";
|
||||
"glx": "yes";
|
||||
"egl": "yes";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ package libevdev {
|
||||
|
||||
exec = meson {
|
||||
setup = {
|
||||
"Ddocumentation": "disabled";
|
||||
"documentation": "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -3,12 +3,14 @@ package libffi {
|
||||
website = "https://sourceware.org/libffi";
|
||||
anitya = 1611;
|
||||
|
||||
version# = "3.6.0";
|
||||
block = "severe regressions caused by questionable maintainer decisions";
|
||||
|
||||
version# = "3.5.2";
|
||||
source = remoteGitHubRelease {
|
||||
suffix = "libffi/libffi";
|
||||
tag = "v"+version;
|
||||
name = "libffi-"+version+".tar.gz";
|
||||
checksum = "y3H_jP_eoByznlztjvni3wDfGA4CIJoOh3eRnzjnE3G3Ms3AWk53oOZxkbruvLxM";
|
||||
checksum = "2_Q-ZNBBbVhltfL5zEr0wljxPegUimTK4VeMSiwJEGksls3n4gj3lV0Ly3vviSFH";
|
||||
compress = gzip;
|
||||
};
|
||||
|
||||
|
||||
@@ -13,8 +13,8 @@ package libglvnd {
|
||||
|
||||
exec = meson {
|
||||
setup = {
|
||||
"Dx11": "enabled";
|
||||
"Dglx": "enabled";
|
||||
"x11": "enabled";
|
||||
"glx": "enabled";
|
||||
};
|
||||
|
||||
postCompile = `
|
||||
|
||||
@@ -14,9 +14,9 @@ package libinput {
|
||||
bin = [ "bash" ];
|
||||
exec = meson {
|
||||
setup = {
|
||||
"Dmtdev": "false";
|
||||
"Dlibwacom": "false";
|
||||
"Ddebug-gui": "false";
|
||||
"mtdev": "false";
|
||||
"libwacom": "false";
|
||||
"debug-gui": "false";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -3,12 +3,12 @@ package libpsl {
|
||||
website = "https://rockdaboot.github.io/libpsl";
|
||||
anitya = 7305;
|
||||
|
||||
version# = "0.22.0";
|
||||
version# = "0.23.0";
|
||||
source = remoteGitHubRelease {
|
||||
suffix = "rockdaboot/libpsl";
|
||||
tag = version;
|
||||
name = "libpsl-"+version+".tar.gz";
|
||||
checksum = "sYrq75kNAJvU5gA2gv2tFYIFbFFit6PuYuW1tYSgcsJsIUzwMJTodofsaEGq3iGf";
|
||||
checksum = "7M0i3g6snxXGri0PcE5iYJFVGhZjBq1QxEom45ML0tCyu8b7i-ydvlcIAS2g9zqa";
|
||||
compress = gzip;
|
||||
};
|
||||
|
||||
|
||||
@@ -3,11 +3,11 @@ package libucontext {
|
||||
website = "https://github.com/kaniini/libucontext";
|
||||
anitya = 17085;
|
||||
|
||||
version# = "1.5.1";
|
||||
version# = "1.5.2";
|
||||
source = remoteGitHub {
|
||||
suffix = "kaniini/libucontext";
|
||||
tag = "libucontext-"+version;
|
||||
checksum = "mUgeyJknjMxT-5fORzz-rqhZfP3Y7EZGBhOwvhuX7MsF4Pk9wkuwtrLf5IML-jWu";
|
||||
checksum = "SSIdb9LVzAel9JPGfkrnG1MIF60Hx5ZJoXBDbmxi9swbrjSfsLkTyldB1wEAnAH0";
|
||||
};
|
||||
|
||||
// uses source tree as scratch space
|
||||
|
||||
@@ -3,18 +3,18 @@ package libva {
|
||||
website = "https://01.org/vaapi";
|
||||
anitya = 1752;
|
||||
|
||||
version# = "2.24.0";
|
||||
version# = "2.24.1";
|
||||
source = remoteGitHub {
|
||||
suffix = "intel/libva";
|
||||
tag = version;
|
||||
checksum = "Jb5bdeHXLPPTWFlmauKDZlfAjFiXiILs17Pp7F8kAiyctFiDItpzYY0prIlnW7mu";
|
||||
checksum = "4IdXxvDFLvl_7lXbJne4_TQA4PZhG89MZXLyvQEkGSb4LcX7CGLrMOjRNZOWb9d6";
|
||||
};
|
||||
|
||||
exec = meson {
|
||||
setup = {
|
||||
"Dwith_x11": "yes";
|
||||
"Dwith_glx": "yes";
|
||||
"Dwith_wayland": "yes";
|
||||
"with_x11": "yes";
|
||||
"with_glx": "yes";
|
||||
"with_wayland": "yes";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -14,14 +14,14 @@ package mesa {
|
||||
|
||||
exec = meson {
|
||||
setup = {
|
||||
"Dplatforms": "x11,wayland";
|
||||
"Dvideo-codecs": "all";
|
||||
"platforms": "x11,wayland";
|
||||
"video-codecs": "all";
|
||||
|
||||
"Dglvnd": "enabled";
|
||||
"Dgbm": "enabled";
|
||||
"Degl": "enabled";
|
||||
"glvnd": "enabled";
|
||||
"gbm": "enabled";
|
||||
"egl": "enabled";
|
||||
|
||||
"Dgallium-drivers": join {
|
||||
"gallium-drivers": join {
|
||||
elems = [
|
||||
"asahi", // Apple AGX
|
||||
"crocus", // Intel legacy
|
||||
@@ -51,7 +51,7 @@ package mesa {
|
||||
sep = ",";
|
||||
};
|
||||
|
||||
"Dvulkan-drivers": join {
|
||||
"vulkan-drivers": join {
|
||||
elems = [
|
||||
"amd", // AMD (aka RADV)
|
||||
"broadcom", // Broadcom VC5 (Raspberry Pi 4, aka V3D)
|
||||
@@ -72,7 +72,7 @@ package mesa {
|
||||
sep = ",";
|
||||
};
|
||||
|
||||
"Dvulkan-layers": join {
|
||||
"vulkan-layers": join {
|
||||
elems = [
|
||||
"device-select",
|
||||
"intel-nullhw",
|
||||
@@ -84,8 +84,8 @@ package mesa {
|
||||
sep = ",";
|
||||
};
|
||||
|
||||
"Dfreedreno-kmds": "msm,virtio";
|
||||
"Damdgpu-virtio": "true";
|
||||
"freedreno-kmds": "msm,virtio";
|
||||
"amdgpu-virtio": "true";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -3,11 +3,11 @@ package meson {
|
||||
website = "https://mesonbuild.com";
|
||||
anitya = 6472;
|
||||
|
||||
version# = "1.11.1";
|
||||
version# = "1.11.2";
|
||||
source = remoteGitHub {
|
||||
suffix = "mesonbuild/meson";
|
||||
tag = version;
|
||||
checksum = "uvILRxdopwc6Dy17UbIeClcQr0qHqyTaqyk1M9OqWKN9PwB9N6UVAiyN8kSSz3r2";
|
||||
checksum = "9AMilGxTOVqPA2DaGMASyuVs1BeTzgDZ0NH2oSYoRZk846ApvfOBa4cc18XEEK7M";
|
||||
};
|
||||
|
||||
env = [
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
package meson-tests {
|
||||
description = "tests from meson/test cases, updated alongside muon";
|
||||
website = "https://github.com/muon-build/meson-tests";
|
||||
exclude = true;
|
||||
|
||||
version# = "0bbaa42e7ba553356fbec038e8b40cf89f90da82";
|
||||
output = remoteTar {
|
||||
url = "https://github.com/muon-build/meson-tests/archive/"+
|
||||
version+".tar.gz";
|
||||
checksum = "W_yNC2Id1aGBXLmBhrQ53UARVBl-nZ2bDZJcmZDaE4GyoZyj6tSURojuTyWgG1U8";
|
||||
compress = gzip;
|
||||
};
|
||||
}
|
||||
|
||||
package muon {
|
||||
description = "meson implementation in C";
|
||||
website = "https://muon.build";
|
||||
anitya = 391173;
|
||||
|
||||
version# = "0.6.0";
|
||||
source = remoteTar {
|
||||
url = "https://git.sr.ht/~lattis/muon/archive/"+version+".tar.gz";
|
||||
checksum = "DiRw1dTaHlL5d3TNK8gykFHI_BAWK7ERooSmVC-kltUkjOubWkN9b-DG21a1ETCe";
|
||||
compress = gzip;
|
||||
};
|
||||
extra = [ meson-tests ];
|
||||
|
||||
writable = true;
|
||||
early = `
|
||||
chmod +w subprojects
|
||||
cp -r ../extra/meson-tests subprojects
|
||||
chmod -R +w subprojects/meson-tests
|
||||
sed -i '/common.220 fs module/d' subprojects/meson-tests/meson.build
|
||||
`;
|
||||
|
||||
exec = generic {
|
||||
build = `
|
||||
(cd /usr/src/muon && CC=cc ./bootstrap.sh /boot)
|
||||
/boot/muon-bootstrap setup \
|
||||
-Dprefix=/system \
|
||||
-Dbuildtype=release \
|
||||
-Dlibcurl=disabled \
|
||||
-Dlibarchive=disabled \
|
||||
-Dlibpkgconf=disabled \
|
||||
-Dtracy=disabled \
|
||||
-Dmeson-docs=disabled \
|
||||
-Dmeson-tests=enabled \
|
||||
-Dwebsite=disabled \
|
||||
/usr/src/muon
|
||||
/boot/muon-bootstrap samu `+jobsFlagE+`
|
||||
`;
|
||||
check = "./muon test "+jobsFlagE+" -Rv\n";
|
||||
install = "./muon install -d /work\n";
|
||||
};
|
||||
|
||||
inputs = [
|
||||
python-early,
|
||||
kernel-headers,
|
||||
];
|
||||
|
||||
runtime = [ pkg-config ];
|
||||
}
|
||||
@@ -20,6 +20,13 @@ package ncurses {
|
||||
|
||||
// "tests" are actual demo programs, not a test suite.
|
||||
skipCheck = true;
|
||||
|
||||
postInstall = `
|
||||
find /work/system/lib \
|
||||
-type f \
|
||||
-name '*.a' \
|
||||
-exec objcopy --enable-deterministic-archives {} \;
|
||||
`;
|
||||
};
|
||||
|
||||
inputs = [ pkg-config ];
|
||||
|
||||
@@ -34,7 +34,7 @@ cp ninja /work/system/bin/`;
|
||||
};
|
||||
|
||||
inputs = [
|
||||
python,
|
||||
python-early,
|
||||
bash,
|
||||
];
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ cp -r \
|
||||
inputs = [
|
||||
perl,
|
||||
python,
|
||||
gawk,
|
||||
awk,
|
||||
coreutils,
|
||||
|
||||
zlib,
|
||||
|
||||
@@ -3,17 +3,17 @@ package p11-kit {
|
||||
website = "https://p11-glue.freedesktop.org/p11-kit.html";
|
||||
anitya = 2582;
|
||||
|
||||
version# = "0.26.2";
|
||||
version# = "0.26.4";
|
||||
source = remoteGit {
|
||||
url = "https://github.com/p11-glue/p11-kit.git";
|
||||
tag = version;
|
||||
checksum = "3ei-6DUVtYzrRVe-SubtNgRlweXd6H2qHmUu-_5qVyIn6gSTvZbGS2u79Y8IFb2N";
|
||||
checksum = "iqkBuTqqBAc6suv7wY89DyceN1arWTn2QwaXVwKN_J_IqNyRGNKPLq9RAmkumYD7";
|
||||
};
|
||||
|
||||
exec = meson {
|
||||
setup = {
|
||||
"Dsystemd": "disabled";
|
||||
"Dlibffi": "enabled";
|
||||
"systemd": "disabled";
|
||||
"libffi": "enabled";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -13,9 +13,9 @@ package pango {
|
||||
|
||||
exec = meson {
|
||||
setup = {
|
||||
"Dfontconfig": "enabled";
|
||||
"Dfreetype": "enabled";
|
||||
"Dcairo": "enabled";
|
||||
"fontconfig": "enabled";
|
||||
"freetype": "enabled";
|
||||
"cairo": "enabled";
|
||||
};
|
||||
// Fontconfig error: Cannot load default config file: File not found: /etc/fonts/fonts.conf
|
||||
skipTest = true;
|
||||
|
||||
@@ -13,7 +13,7 @@ package pixman {
|
||||
|
||||
exec = meson {
|
||||
setup = {
|
||||
"Dtests": "enabled";
|
||||
"tests": "enabled";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -73,6 +73,76 @@ package python {
|
||||
];
|
||||
}
|
||||
|
||||
package python-early {
|
||||
description = "minimal python interpreter exclusive to the bootstrap path";
|
||||
website = "https://www.python.org";
|
||||
exclude = true;
|
||||
anitya = 13254;
|
||||
block = "exclusive to the bootstrap path";
|
||||
|
||||
version# = "3.14.6";
|
||||
source = remoteTar {
|
||||
url = "https://www.python.org/ftp/python/"+version+
|
||||
"/Python-"+version+".tgz";
|
||||
checksum = "yynwXnElUvlAweA_RkBKQY35P59Gu5YU6ickJs6Z-blIoHgw5KgKXROY1gq2w0ez";
|
||||
compress = gzip;
|
||||
};
|
||||
|
||||
// test_synopsis_sourceless assumes this is writable and checks __pycache__
|
||||
writable = true;
|
||||
chmod = true;
|
||||
|
||||
env = [
|
||||
"EXTRATESTOPTS=-j0 -x " + join {
|
||||
elems = [
|
||||
// requires internet access (http://www.pythontest.net/)
|
||||
"test_asyncio",
|
||||
"test_socket",
|
||||
"test_urllib2",
|
||||
"test_urllibnet",
|
||||
"test_urllib2net",
|
||||
|
||||
// makes assumptions about uid_map/gid_map
|
||||
"test_os",
|
||||
"test_subprocess",
|
||||
|
||||
// insane strict_timestamps default
|
||||
"test_zipfile",
|
||||
|
||||
// requires gcc
|
||||
"test_ctypes",
|
||||
|
||||
// breaks on llvm
|
||||
"test_dbm_gnu",
|
||||
];
|
||||
sep = " -x ";
|
||||
},
|
||||
|
||||
// _ctypes appears to infer something from the linker name
|
||||
"LDFLAGS=-Wl,--dynamic-linker=/system/lib/" +
|
||||
"ld-musl-" + linuxArch + ".so.1",
|
||||
];
|
||||
|
||||
exec = make {
|
||||
check = [ "test" ];
|
||||
postInstall = "ln -s python3 /work/system/bin/python";
|
||||
};
|
||||
|
||||
inputs = [
|
||||
zlib,
|
||||
bzip2,
|
||||
libffi,
|
||||
|
||||
kernel-headers,
|
||||
];
|
||||
|
||||
runtime = [
|
||||
zlib,
|
||||
bzip2,
|
||||
libffi,
|
||||
];
|
||||
}
|
||||
|
||||
package python-setuptools {
|
||||
description = "the autotools of the Python ecosystem";
|
||||
website = "https://pypi.org/project/setuptools";
|
||||
@@ -302,11 +372,11 @@ package python-hatchling {
|
||||
website = "https://hatch.pypa.io";
|
||||
anitya = 16137;
|
||||
|
||||
version# = "1.17.0";
|
||||
version# = "1.17.1";
|
||||
source = remoteGitHub {
|
||||
suffix = "pypa/hatch";
|
||||
tag = "hatch-v"+version;
|
||||
checksum = "fK85G542FXEXTP1QZNVhhfp8_Y8f9u1DAyeeFO3PWyv3JLTCPdPl9WTz8Ov6tfYp";
|
||||
checksum = "FK9PkGIkL3wyVFHOKrx9lSRqoevuQ_TFrN-pMqsoFKsh5eim4pfzx7MvL3ioif9o";
|
||||
};
|
||||
|
||||
exec = pip {
|
||||
|
||||
@@ -17,9 +17,9 @@ package seatd {
|
||||
|
||||
exec = meson {
|
||||
setup = {
|
||||
"Dlibseat-logind": "disabled";
|
||||
"Dlibseat-seatd": "enabled";
|
||||
"Dlibseat-builtin": "enabled";
|
||||
"libseat-logind": "disabled";
|
||||
"libseat-seatd": "enabled";
|
||||
"libseat-builtin": "enabled";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
+341
@@ -0,0 +1,341 @@
|
||||
From b8a32968473ce852a809b9de5f04f02a5a9dfa78 Mon Sep 17 00:00:00 2001
|
||||
From: Yury Plyakhin <yury.plyakhin@intel.com>
|
||||
Date: Wed, 29 Apr 2026 07:52:53 -0700
|
||||
Subject: [PATCH 01/26] grammar and header changes for SPV_INTEL_predicated_io
|
||||
(#585)
|
||||
|
||||
---
|
||||
include/spirv/unified1/spirv.bf | 3 ++
|
||||
.../spirv/unified1/spirv.core.grammar.json | 34 +++++++++++++++++++
|
||||
include/spirv/unified1/spirv.cs | 3 ++
|
||||
include/spirv/unified1/spirv.h | 8 +++++
|
||||
include/spirv/unified1/spirv.hpp | 8 +++++
|
||||
include/spirv/unified1/spirv.hpp11 | 8 +++++
|
||||
include/spirv/unified1/spirv.json | 3 ++
|
||||
include/spirv/unified1/spirv.lua | 3 ++
|
||||
include/spirv/unified1/spirv.py | 3 ++
|
||||
include/spirv/unified1/spv.d | 3 ++
|
||||
10 files changed, 76 insertions(+)
|
||||
|
||||
diff --git a/include/spirv/unified1/spirv.bf b/include/spirv/unified1/spirv.bf
|
||||
index b705259..0fd8703 100644
|
||||
--- a/include/spirv/unified1/spirv.bf
|
||||
+++ b/include/spirv/unified1/spirv.bf
|
||||
@@ -1426,6 +1426,7 @@ namespace Spv
|
||||
UntypedVariableLengthArrayINTEL = 6243,
|
||||
SpecConditionalINTEL = 6245,
|
||||
FunctionVariantsINTEL = 6246,
|
||||
+ PredicatedIOINTEL = 6257,
|
||||
GroupUniformArithmeticKHR = 6400,
|
||||
TensorFloat32RoundingINTEL = 6425,
|
||||
MaskedGatherScatterINTEL = 6427,
|
||||
@@ -2694,6 +2695,8 @@ namespace Spv
|
||||
OpSpecConstantArchitectureINTEL = 6252,
|
||||
OpSpecConstantCapabilitiesINTEL = 6253,
|
||||
OpConditionalCopyObjectINTEL = 6254,
|
||||
+ OpPredicatedLoadINTEL = 6258,
|
||||
+ OpPredicatedStoreINTEL = 6259,
|
||||
OpGroupIMulKHR = 6401,
|
||||
OpGroupFMulKHR = 6402,
|
||||
OpGroupBitwiseAndKHR = 6403,
|
||||
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
|
||||
index 22f5fe9..0a282c5 100644
|
||||
--- a/include/spirv/unified1/spirv.core.grammar.json
|
||||
+++ b/include/spirv/unified1/spirv.core.grammar.json
|
||||
@@ -11598,6 +11598,34 @@
|
||||
"provisional" : true,
|
||||
"version" : "None"
|
||||
},
|
||||
+ {
|
||||
+ "opname" : "OpPredicatedLoadINTEL",
|
||||
+ "class" : "Memory",
|
||||
+ "opcode" : 6258,
|
||||
+ "operands" : [
|
||||
+ { "kind" : "IdResultType" },
|
||||
+ { "kind" : "IdResult" },
|
||||
+ { "kind" : "IdRef", "name" : "Pointer" },
|
||||
+ { "kind" : "IdRef", "name" : "Predicate" },
|
||||
+ { "kind" : "IdRef", "name" : "Default Value" },
|
||||
+ { "kind" : "MemoryAccess", "quantifier" : "?" }
|
||||
+ ],
|
||||
+ "capabilities" : [ "PredicatedIOINTEL" ],
|
||||
+ "version" : "None"
|
||||
+ },
|
||||
+ {
|
||||
+ "opname" : "OpPredicatedStoreINTEL",
|
||||
+ "class" : "Memory",
|
||||
+ "opcode" : 6259,
|
||||
+ "operands" : [
|
||||
+ { "kind" : "IdRef", "name" : "Pointer" },
|
||||
+ { "kind" : "IdRef", "name" : "Object" },
|
||||
+ { "kind" : "IdRef", "name" : "Predicate" },
|
||||
+ { "kind" : "MemoryAccess", "quantifier" : "?" }
|
||||
+ ],
|
||||
+ "capabilities" : [ "PredicatedIOINTEL" ],
|
||||
+ "version" : "None"
|
||||
+ },
|
||||
{
|
||||
"opname" : "OpGroupIMulKHR",
|
||||
"class" : "Group",
|
||||
@@ -18659,6 +18687,12 @@
|
||||
"provisional" : true,
|
||||
"version": "None"
|
||||
},
|
||||
+ {
|
||||
+ "enumerant" : "PredicatedIOINTEL",
|
||||
+ "value" : 6257,
|
||||
+ "extensions" : [ "SPV_INTEL_predicated_io" ],
|
||||
+ "version" : "None"
|
||||
+ },
|
||||
{
|
||||
"enumerant" : "GroupUniformArithmeticKHR",
|
||||
"value" : 6400,
|
||||
diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs
|
||||
index 2f8c1ff..375dd0b 100644
|
||||
--- a/include/spirv/unified1/spirv.cs
|
||||
+++ b/include/spirv/unified1/spirv.cs
|
||||
@@ -1425,6 +1425,7 @@ namespace Spv
|
||||
UntypedVariableLengthArrayINTEL = 6243,
|
||||
SpecConditionalINTEL = 6245,
|
||||
FunctionVariantsINTEL = 6246,
|
||||
+ PredicatedIOINTEL = 6257,
|
||||
GroupUniformArithmeticKHR = 6400,
|
||||
TensorFloat32RoundingINTEL = 6425,
|
||||
MaskedGatherScatterINTEL = 6427,
|
||||
@@ -2693,6 +2694,8 @@ namespace Spv
|
||||
OpSpecConstantArchitectureINTEL = 6252,
|
||||
OpSpecConstantCapabilitiesINTEL = 6253,
|
||||
OpConditionalCopyObjectINTEL = 6254,
|
||||
+ OpPredicatedLoadINTEL = 6258,
|
||||
+ OpPredicatedStoreINTEL = 6259,
|
||||
OpGroupIMulKHR = 6401,
|
||||
OpGroupFMulKHR = 6402,
|
||||
OpGroupBitwiseAndKHR = 6403,
|
||||
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
|
||||
index d00cf0f..9233ff0 100644
|
||||
--- a/include/spirv/unified1/spirv.h
|
||||
+++ b/include/spirv/unified1/spirv.h
|
||||
@@ -1396,6 +1396,7 @@ typedef enum SpvCapability_ {
|
||||
SpvCapabilityUntypedVariableLengthArrayINTEL = 6243,
|
||||
SpvCapabilitySpecConditionalINTEL = 6245,
|
||||
SpvCapabilityFunctionVariantsINTEL = 6246,
|
||||
+ SpvCapabilityPredicatedIOINTEL = 6257,
|
||||
SpvCapabilityGroupUniformArithmeticKHR = 6400,
|
||||
SpvCapabilityTensorFloat32RoundingINTEL = 6425,
|
||||
SpvCapabilityMaskedGatherScatterINTEL = 6427,
|
||||
@@ -2628,6 +2629,8 @@ typedef enum SpvOp_ {
|
||||
SpvOpSpecConstantArchitectureINTEL = 6252,
|
||||
SpvOpSpecConstantCapabilitiesINTEL = 6253,
|
||||
SpvOpConditionalCopyObjectINTEL = 6254,
|
||||
+ SpvOpPredicatedLoadINTEL = 6258,
|
||||
+ SpvOpPredicatedStoreINTEL = 6259,
|
||||
SpvOpGroupIMulKHR = 6401,
|
||||
SpvOpGroupFMulKHR = 6402,
|
||||
SpvOpGroupBitwiseAndKHR = 6403,
|
||||
@@ -3510,6 +3513,8 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
||||
case SpvOpSpecConstantArchitectureINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpSpecConstantCapabilitiesINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpConditionalCopyObjectINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
+ case SpvOpPredicatedLoadINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
+ case SpvOpPredicatedStoreINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpGroupFMulKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break;
|
||||
@@ -4517,6 +4522,7 @@ inline const char* SpvCapabilityToString(SpvCapability value) {
|
||||
case SpvCapabilityUntypedVariableLengthArrayINTEL: return "UntypedVariableLengthArrayINTEL";
|
||||
case SpvCapabilitySpecConditionalINTEL: return "SpecConditionalINTEL";
|
||||
case SpvCapabilityFunctionVariantsINTEL: return "FunctionVariantsINTEL";
|
||||
+ case SpvCapabilityPredicatedIOINTEL: return "PredicatedIOINTEL";
|
||||
case SpvCapabilityGroupUniformArithmeticKHR: return "GroupUniformArithmeticKHR";
|
||||
case SpvCapabilityTensorFloat32RoundingINTEL: return "TensorFloat32RoundingINTEL";
|
||||
case SpvCapabilityMaskedGatherScatterINTEL: return "MaskedGatherScatterINTEL";
|
||||
@@ -5575,6 +5581,8 @@ inline const char* SpvOpToString(SpvOp value) {
|
||||
case SpvOpSpecConstantArchitectureINTEL: return "OpSpecConstantArchitectureINTEL";
|
||||
case SpvOpSpecConstantCapabilitiesINTEL: return "OpSpecConstantCapabilitiesINTEL";
|
||||
case SpvOpConditionalCopyObjectINTEL: return "OpConditionalCopyObjectINTEL";
|
||||
+ case SpvOpPredicatedLoadINTEL: return "OpPredicatedLoadINTEL";
|
||||
+ case SpvOpPredicatedStoreINTEL: return "OpPredicatedStoreINTEL";
|
||||
case SpvOpGroupIMulKHR: return "OpGroupIMulKHR";
|
||||
case SpvOpGroupFMulKHR: return "OpGroupFMulKHR";
|
||||
case SpvOpGroupBitwiseAndKHR: return "OpGroupBitwiseAndKHR";
|
||||
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
|
||||
index 462c3f6..055086c 100644
|
||||
--- a/include/spirv/unified1/spirv.hpp
|
||||
+++ b/include/spirv/unified1/spirv.hpp
|
||||
@@ -1392,6 +1392,7 @@ enum Capability {
|
||||
CapabilityUntypedVariableLengthArrayINTEL = 6243,
|
||||
CapabilitySpecConditionalINTEL = 6245,
|
||||
CapabilityFunctionVariantsINTEL = 6246,
|
||||
+ CapabilityPredicatedIOINTEL = 6257,
|
||||
CapabilityGroupUniformArithmeticKHR = 6400,
|
||||
CapabilityTensorFloat32RoundingINTEL = 6425,
|
||||
CapabilityMaskedGatherScatterINTEL = 6427,
|
||||
@@ -2624,6 +2625,8 @@ enum Op {
|
||||
OpSpecConstantArchitectureINTEL = 6252,
|
||||
OpSpecConstantCapabilitiesINTEL = 6253,
|
||||
OpConditionalCopyObjectINTEL = 6254,
|
||||
+ OpPredicatedLoadINTEL = 6258,
|
||||
+ OpPredicatedStoreINTEL = 6259,
|
||||
OpGroupIMulKHR = 6401,
|
||||
OpGroupFMulKHR = 6402,
|
||||
OpGroupBitwiseAndKHR = 6403,
|
||||
@@ -3506,6 +3509,8 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case OpSpecConstantArchitectureINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSpecConstantCapabilitiesINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConditionalCopyObjectINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
+ case OpPredicatedLoadINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
+ case OpPredicatedStoreINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case OpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupFMulKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break;
|
||||
@@ -4513,6 +4518,7 @@ inline const char* CapabilityToString(Capability value) {
|
||||
case CapabilityUntypedVariableLengthArrayINTEL: return "UntypedVariableLengthArrayINTEL";
|
||||
case CapabilitySpecConditionalINTEL: return "SpecConditionalINTEL";
|
||||
case CapabilityFunctionVariantsINTEL: return "FunctionVariantsINTEL";
|
||||
+ case CapabilityPredicatedIOINTEL: return "PredicatedIOINTEL";
|
||||
case CapabilityGroupUniformArithmeticKHR: return "GroupUniformArithmeticKHR";
|
||||
case CapabilityTensorFloat32RoundingINTEL: return "TensorFloat32RoundingINTEL";
|
||||
case CapabilityMaskedGatherScatterINTEL: return "MaskedGatherScatterINTEL";
|
||||
@@ -5571,6 +5577,8 @@ inline const char* OpToString(Op value) {
|
||||
case OpSpecConstantArchitectureINTEL: return "OpSpecConstantArchitectureINTEL";
|
||||
case OpSpecConstantCapabilitiesINTEL: return "OpSpecConstantCapabilitiesINTEL";
|
||||
case OpConditionalCopyObjectINTEL: return "OpConditionalCopyObjectINTEL";
|
||||
+ case OpPredicatedLoadINTEL: return "OpPredicatedLoadINTEL";
|
||||
+ case OpPredicatedStoreINTEL: return "OpPredicatedStoreINTEL";
|
||||
case OpGroupIMulKHR: return "OpGroupIMulKHR";
|
||||
case OpGroupFMulKHR: return "OpGroupFMulKHR";
|
||||
case OpGroupBitwiseAndKHR: return "OpGroupBitwiseAndKHR";
|
||||
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
|
||||
index 41ebe91..0d85dfe 100644
|
||||
--- a/include/spirv/unified1/spirv.hpp11
|
||||
+++ b/include/spirv/unified1/spirv.hpp11
|
||||
@@ -1392,6 +1392,7 @@ enum class Capability : unsigned {
|
||||
UntypedVariableLengthArrayINTEL = 6243,
|
||||
SpecConditionalINTEL = 6245,
|
||||
FunctionVariantsINTEL = 6246,
|
||||
+ PredicatedIOINTEL = 6257,
|
||||
GroupUniformArithmeticKHR = 6400,
|
||||
TensorFloat32RoundingINTEL = 6425,
|
||||
MaskedGatherScatterINTEL = 6427,
|
||||
@@ -2624,6 +2625,8 @@ enum class Op : unsigned {
|
||||
OpSpecConstantArchitectureINTEL = 6252,
|
||||
OpSpecConstantCapabilitiesINTEL = 6253,
|
||||
OpConditionalCopyObjectINTEL = 6254,
|
||||
+ OpPredicatedLoadINTEL = 6258,
|
||||
+ OpPredicatedStoreINTEL = 6259,
|
||||
OpGroupIMulKHR = 6401,
|
||||
OpGroupFMulKHR = 6402,
|
||||
OpGroupBitwiseAndKHR = 6403,
|
||||
@@ -3506,6 +3509,8 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case Op::OpSpecConstantArchitectureINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpSpecConstantCapabilitiesINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpConditionalCopyObjectINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
+ case Op::OpPredicatedLoadINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
+ case Op::OpPredicatedStoreINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpGroupFMulKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break;
|
||||
@@ -4513,6 +4518,7 @@ inline const char* CapabilityToString(Capability value) {
|
||||
case Capability::UntypedVariableLengthArrayINTEL: return "UntypedVariableLengthArrayINTEL";
|
||||
case Capability::SpecConditionalINTEL: return "SpecConditionalINTEL";
|
||||
case Capability::FunctionVariantsINTEL: return "FunctionVariantsINTEL";
|
||||
+ case Capability::PredicatedIOINTEL: return "PredicatedIOINTEL";
|
||||
case Capability::GroupUniformArithmeticKHR: return "GroupUniformArithmeticKHR";
|
||||
case Capability::TensorFloat32RoundingINTEL: return "TensorFloat32RoundingINTEL";
|
||||
case Capability::MaskedGatherScatterINTEL: return "MaskedGatherScatterINTEL";
|
||||
@@ -5571,6 +5577,8 @@ inline const char* OpToString(Op value) {
|
||||
case Op::OpSpecConstantArchitectureINTEL: return "OpSpecConstantArchitectureINTEL";
|
||||
case Op::OpSpecConstantCapabilitiesINTEL: return "OpSpecConstantCapabilitiesINTEL";
|
||||
case Op::OpConditionalCopyObjectINTEL: return "OpConditionalCopyObjectINTEL";
|
||||
+ case Op::OpPredicatedLoadINTEL: return "OpPredicatedLoadINTEL";
|
||||
+ case Op::OpPredicatedStoreINTEL: return "OpPredicatedStoreINTEL";
|
||||
case Op::OpGroupIMulKHR: return "OpGroupIMulKHR";
|
||||
case Op::OpGroupFMulKHR: return "OpGroupFMulKHR";
|
||||
case Op::OpGroupBitwiseAndKHR: return "OpGroupBitwiseAndKHR";
|
||||
diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json
|
||||
index 0a200b2..ec778af 100644
|
||||
--- a/include/spirv/unified1/spirv.json
|
||||
+++ b/include/spirv/unified1/spirv.json
|
||||
@@ -1358,6 +1358,7 @@
|
||||
"UntypedVariableLengthArrayINTEL": 6243,
|
||||
"SpecConditionalINTEL": 6245,
|
||||
"FunctionVariantsINTEL": 6246,
|
||||
+ "PredicatedIOINTEL": 6257,
|
||||
"GroupUniformArithmeticKHR": 6400,
|
||||
"TensorFloat32RoundingINTEL": 6425,
|
||||
"MaskedGatherScatterINTEL": 6427,
|
||||
@@ -2595,6 +2596,8 @@
|
||||
"OpSpecConstantArchitectureINTEL": 6252,
|
||||
"OpSpecConstantCapabilitiesINTEL": 6253,
|
||||
"OpConditionalCopyObjectINTEL": 6254,
|
||||
+ "OpPredicatedLoadINTEL": 6258,
|
||||
+ "OpPredicatedStoreINTEL": 6259,
|
||||
"OpGroupIMulKHR": 6401,
|
||||
"OpGroupFMulKHR": 6402,
|
||||
"OpGroupBitwiseAndKHR": 6403,
|
||||
diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua
|
||||
index e612025..b883dd8 100644
|
||||
--- a/include/spirv/unified1/spirv.lua
|
||||
+++ b/include/spirv/unified1/spirv.lua
|
||||
@@ -1383,6 +1383,7 @@ spv = {
|
||||
UntypedVariableLengthArrayINTEL = 6243,
|
||||
SpecConditionalINTEL = 6245,
|
||||
FunctionVariantsINTEL = 6246,
|
||||
+ PredicatedIOINTEL = 6257,
|
||||
GroupUniformArithmeticKHR = 6400,
|
||||
TensorFloat32RoundingINTEL = 6425,
|
||||
MaskedGatherScatterINTEL = 6427,
|
||||
@@ -2615,6 +2616,8 @@ spv = {
|
||||
OpSpecConstantArchitectureINTEL = 6252,
|
||||
OpSpecConstantCapabilitiesINTEL = 6253,
|
||||
OpConditionalCopyObjectINTEL = 6254,
|
||||
+ OpPredicatedLoadINTEL = 6258,
|
||||
+ OpPredicatedStoreINTEL = 6259,
|
||||
OpGroupIMulKHR = 6401,
|
||||
OpGroupFMulKHR = 6402,
|
||||
OpGroupBitwiseAndKHR = 6403,
|
||||
diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py
|
||||
index 1085498..590ee22 100644
|
||||
--- a/include/spirv/unified1/spirv.py
|
||||
+++ b/include/spirv/unified1/spirv.py
|
||||
@@ -1354,6 +1354,7 @@ spv = {
|
||||
'UntypedVariableLengthArrayINTEL' : 6243,
|
||||
'SpecConditionalINTEL' : 6245,
|
||||
'FunctionVariantsINTEL' : 6246,
|
||||
+ 'PredicatedIOINTEL' : 6257,
|
||||
'GroupUniformArithmeticKHR' : 6400,
|
||||
'TensorFloat32RoundingINTEL' : 6425,
|
||||
'MaskedGatherScatterINTEL' : 6427,
|
||||
@@ -2558,6 +2559,8 @@ spv = {
|
||||
'OpSpecConstantArchitectureINTEL' : 6252,
|
||||
'OpSpecConstantCapabilitiesINTEL' : 6253,
|
||||
'OpConditionalCopyObjectINTEL' : 6254,
|
||||
+ 'OpPredicatedLoadINTEL' : 6258,
|
||||
+ 'OpPredicatedStoreINTEL' : 6259,
|
||||
'OpGroupIMulKHR' : 6401,
|
||||
'OpGroupFMulKHR' : 6402,
|
||||
'OpGroupBitwiseAndKHR' : 6403,
|
||||
diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d
|
||||
index c9cde5d..0323867 100644
|
||||
--- a/include/spirv/unified1/spv.d
|
||||
+++ b/include/spirv/unified1/spv.d
|
||||
@@ -1428,6 +1428,7 @@ enum Capability : uint
|
||||
UntypedVariableLengthArrayINTEL = 6243,
|
||||
SpecConditionalINTEL = 6245,
|
||||
FunctionVariantsINTEL = 6246,
|
||||
+ PredicatedIOINTEL = 6257,
|
||||
GroupUniformArithmeticKHR = 6400,
|
||||
TensorFloat32RoundingINTEL = 6425,
|
||||
MaskedGatherScatterINTEL = 6427,
|
||||
@@ -2696,6 +2697,8 @@ enum Op : uint
|
||||
OpSpecConstantArchitectureINTEL = 6252,
|
||||
OpSpecConstantCapabilitiesINTEL = 6253,
|
||||
OpConditionalCopyObjectINTEL = 6254,
|
||||
+ OpPredicatedLoadINTEL = 6258,
|
||||
+ OpPredicatedStoreINTEL = 6259,
|
||||
OpGroupIMulKHR = 6401,
|
||||
OpGroupFMulKHR = 6402,
|
||||
OpGroupBitwiseAndKHR = 6403,
|
||||
--
|
||||
2.54.0
|
||||
|
||||
+170
@@ -0,0 +1,170 @@
|
||||
From 948a3b0997e2dffea5484b3df7bd5590c5b844cc Mon Sep 17 00:00:00 2001
|
||||
From: Ben Ashbaugh <ben.ashbaugh@intel.com>
|
||||
Date: Wed, 29 Apr 2026 08:10:46 -0700
|
||||
Subject: [PATCH 02/26] header updates for SPV_INTEL_rounded_divide_sqrt (#582)
|
||||
|
||||
---
|
||||
include/spirv/unified1/spirv.bf | 1 +
|
||||
include/spirv/unified1/spirv.core.grammar.json | 6 ++++++
|
||||
include/spirv/unified1/spirv.cs | 1 +
|
||||
include/spirv/unified1/spirv.h | 2 ++
|
||||
include/spirv/unified1/spirv.hpp | 2 ++
|
||||
include/spirv/unified1/spirv.hpp11 | 2 ++
|
||||
include/spirv/unified1/spirv.json | 1 +
|
||||
include/spirv/unified1/spirv.lua | 1 +
|
||||
include/spirv/unified1/spirv.py | 1 +
|
||||
include/spirv/unified1/spv.d | 1 +
|
||||
10 files changed, 18 insertions(+)
|
||||
|
||||
diff --git a/include/spirv/unified1/spirv.bf b/include/spirv/unified1/spirv.bf
|
||||
index 0fd8703..3d24085 100644
|
||||
--- a/include/spirv/unified1/spirv.bf
|
||||
+++ b/include/spirv/unified1/spirv.bf
|
||||
@@ -1427,6 +1427,7 @@ namespace Spv
|
||||
SpecConditionalINTEL = 6245,
|
||||
FunctionVariantsINTEL = 6246,
|
||||
PredicatedIOINTEL = 6257,
|
||||
+ RoundedDivideSqrtINTEL = 6265,
|
||||
GroupUniformArithmeticKHR = 6400,
|
||||
TensorFloat32RoundingINTEL = 6425,
|
||||
MaskedGatherScatterINTEL = 6427,
|
||||
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
|
||||
index 0a282c5..4fc0ec9 100644
|
||||
--- a/include/spirv/unified1/spirv.core.grammar.json
|
||||
+++ b/include/spirv/unified1/spirv.core.grammar.json
|
||||
@@ -18693,6 +18693,12 @@
|
||||
"extensions" : [ "SPV_INTEL_predicated_io" ],
|
||||
"version" : "None"
|
||||
},
|
||||
+ {
|
||||
+ "enumerant" : "RoundedDivideSqrtINTEL",
|
||||
+ "value" : 6265,
|
||||
+ "extensions" : [ "SPV_INTEL_rounded_divide_sqrt" ],
|
||||
+ "version": "None"
|
||||
+ },
|
||||
{
|
||||
"enumerant" : "GroupUniformArithmeticKHR",
|
||||
"value" : 6400,
|
||||
diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs
|
||||
index 375dd0b..35b9aff 100644
|
||||
--- a/include/spirv/unified1/spirv.cs
|
||||
+++ b/include/spirv/unified1/spirv.cs
|
||||
@@ -1426,6 +1426,7 @@ namespace Spv
|
||||
SpecConditionalINTEL = 6245,
|
||||
FunctionVariantsINTEL = 6246,
|
||||
PredicatedIOINTEL = 6257,
|
||||
+ RoundedDivideSqrtINTEL = 6265,
|
||||
GroupUniformArithmeticKHR = 6400,
|
||||
TensorFloat32RoundingINTEL = 6425,
|
||||
MaskedGatherScatterINTEL = 6427,
|
||||
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
|
||||
index 9233ff0..a9e4998 100644
|
||||
--- a/include/spirv/unified1/spirv.h
|
||||
+++ b/include/spirv/unified1/spirv.h
|
||||
@@ -1397,6 +1397,7 @@ typedef enum SpvCapability_ {
|
||||
SpvCapabilitySpecConditionalINTEL = 6245,
|
||||
SpvCapabilityFunctionVariantsINTEL = 6246,
|
||||
SpvCapabilityPredicatedIOINTEL = 6257,
|
||||
+ SpvCapabilityRoundedDivideSqrtINTEL = 6265,
|
||||
SpvCapabilityGroupUniformArithmeticKHR = 6400,
|
||||
SpvCapabilityTensorFloat32RoundingINTEL = 6425,
|
||||
SpvCapabilityMaskedGatherScatterINTEL = 6427,
|
||||
@@ -4523,6 +4524,7 @@ inline const char* SpvCapabilityToString(SpvCapability value) {
|
||||
case SpvCapabilitySpecConditionalINTEL: return "SpecConditionalINTEL";
|
||||
case SpvCapabilityFunctionVariantsINTEL: return "FunctionVariantsINTEL";
|
||||
case SpvCapabilityPredicatedIOINTEL: return "PredicatedIOINTEL";
|
||||
+ case SpvCapabilityRoundedDivideSqrtINTEL: return "RoundedDivideSqrtINTEL";
|
||||
case SpvCapabilityGroupUniformArithmeticKHR: return "GroupUniformArithmeticKHR";
|
||||
case SpvCapabilityTensorFloat32RoundingINTEL: return "TensorFloat32RoundingINTEL";
|
||||
case SpvCapabilityMaskedGatherScatterINTEL: return "MaskedGatherScatterINTEL";
|
||||
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
|
||||
index 055086c..6676d71 100644
|
||||
--- a/include/spirv/unified1/spirv.hpp
|
||||
+++ b/include/spirv/unified1/spirv.hpp
|
||||
@@ -1393,6 +1393,7 @@ enum Capability {
|
||||
CapabilitySpecConditionalINTEL = 6245,
|
||||
CapabilityFunctionVariantsINTEL = 6246,
|
||||
CapabilityPredicatedIOINTEL = 6257,
|
||||
+ CapabilityRoundedDivideSqrtINTEL = 6265,
|
||||
CapabilityGroupUniformArithmeticKHR = 6400,
|
||||
CapabilityTensorFloat32RoundingINTEL = 6425,
|
||||
CapabilityMaskedGatherScatterINTEL = 6427,
|
||||
@@ -4519,6 +4520,7 @@ inline const char* CapabilityToString(Capability value) {
|
||||
case CapabilitySpecConditionalINTEL: return "SpecConditionalINTEL";
|
||||
case CapabilityFunctionVariantsINTEL: return "FunctionVariantsINTEL";
|
||||
case CapabilityPredicatedIOINTEL: return "PredicatedIOINTEL";
|
||||
+ case CapabilityRoundedDivideSqrtINTEL: return "RoundedDivideSqrtINTEL";
|
||||
case CapabilityGroupUniformArithmeticKHR: return "GroupUniformArithmeticKHR";
|
||||
case CapabilityTensorFloat32RoundingINTEL: return "TensorFloat32RoundingINTEL";
|
||||
case CapabilityMaskedGatherScatterINTEL: return "MaskedGatherScatterINTEL";
|
||||
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
|
||||
index 0d85dfe..e08b65b 100644
|
||||
--- a/include/spirv/unified1/spirv.hpp11
|
||||
+++ b/include/spirv/unified1/spirv.hpp11
|
||||
@@ -1393,6 +1393,7 @@ enum class Capability : unsigned {
|
||||
SpecConditionalINTEL = 6245,
|
||||
FunctionVariantsINTEL = 6246,
|
||||
PredicatedIOINTEL = 6257,
|
||||
+ RoundedDivideSqrtINTEL = 6265,
|
||||
GroupUniformArithmeticKHR = 6400,
|
||||
TensorFloat32RoundingINTEL = 6425,
|
||||
MaskedGatherScatterINTEL = 6427,
|
||||
@@ -4519,6 +4520,7 @@ inline const char* CapabilityToString(Capability value) {
|
||||
case Capability::SpecConditionalINTEL: return "SpecConditionalINTEL";
|
||||
case Capability::FunctionVariantsINTEL: return "FunctionVariantsINTEL";
|
||||
case Capability::PredicatedIOINTEL: return "PredicatedIOINTEL";
|
||||
+ case Capability::RoundedDivideSqrtINTEL: return "RoundedDivideSqrtINTEL";
|
||||
case Capability::GroupUniformArithmeticKHR: return "GroupUniformArithmeticKHR";
|
||||
case Capability::TensorFloat32RoundingINTEL: return "TensorFloat32RoundingINTEL";
|
||||
case Capability::MaskedGatherScatterINTEL: return "MaskedGatherScatterINTEL";
|
||||
diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json
|
||||
index ec778af..bd3f41b 100644
|
||||
--- a/include/spirv/unified1/spirv.json
|
||||
+++ b/include/spirv/unified1/spirv.json
|
||||
@@ -1359,6 +1359,7 @@
|
||||
"SpecConditionalINTEL": 6245,
|
||||
"FunctionVariantsINTEL": 6246,
|
||||
"PredicatedIOINTEL": 6257,
|
||||
+ "RoundedDivideSqrtINTEL": 6265,
|
||||
"GroupUniformArithmeticKHR": 6400,
|
||||
"TensorFloat32RoundingINTEL": 6425,
|
||||
"MaskedGatherScatterINTEL": 6427,
|
||||
diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua
|
||||
index b883dd8..347e010 100644
|
||||
--- a/include/spirv/unified1/spirv.lua
|
||||
+++ b/include/spirv/unified1/spirv.lua
|
||||
@@ -1384,6 +1384,7 @@ spv = {
|
||||
SpecConditionalINTEL = 6245,
|
||||
FunctionVariantsINTEL = 6246,
|
||||
PredicatedIOINTEL = 6257,
|
||||
+ RoundedDivideSqrtINTEL = 6265,
|
||||
GroupUniformArithmeticKHR = 6400,
|
||||
TensorFloat32RoundingINTEL = 6425,
|
||||
MaskedGatherScatterINTEL = 6427,
|
||||
diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py
|
||||
index 590ee22..a5c118d 100644
|
||||
--- a/include/spirv/unified1/spirv.py
|
||||
+++ b/include/spirv/unified1/spirv.py
|
||||
@@ -1355,6 +1355,7 @@ spv = {
|
||||
'SpecConditionalINTEL' : 6245,
|
||||
'FunctionVariantsINTEL' : 6246,
|
||||
'PredicatedIOINTEL' : 6257,
|
||||
+ 'RoundedDivideSqrtINTEL' : 6265,
|
||||
'GroupUniformArithmeticKHR' : 6400,
|
||||
'TensorFloat32RoundingINTEL' : 6425,
|
||||
'MaskedGatherScatterINTEL' : 6427,
|
||||
diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d
|
||||
index 0323867..781154a 100644
|
||||
--- a/include/spirv/unified1/spv.d
|
||||
+++ b/include/spirv/unified1/spv.d
|
||||
@@ -1429,6 +1429,7 @@ enum Capability : uint
|
||||
SpecConditionalINTEL = 6245,
|
||||
FunctionVariantsINTEL = 6246,
|
||||
PredicatedIOINTEL = 6257,
|
||||
+ RoundedDivideSqrtINTEL = 6265,
|
||||
GroupUniformArithmeticKHR = 6400,
|
||||
TensorFloat32RoundingINTEL = 6425,
|
||||
MaskedGatherScatterINTEL = 6427,
|
||||
--
|
||||
2.54.0
|
||||
|
||||
+282
@@ -0,0 +1,282 @@
|
||||
From 157de8e260e9362225c0ce9a6675d034968abe15 Mon Sep 17 00:00:00 2001
|
||||
From: mjkrol <mjkrol@gmail.com>
|
||||
Date: Wed, 29 Apr 2026 17:42:37 +0200
|
||||
Subject: [PATCH 03/26] Add SPV_MESA_fragment_coverage_mask enumerants (#580)
|
||||
|
||||
Reserve BuiltIn FragmentCoverageMaskMESA (4096) and Capability
|
||||
FragmentCoverageMESA (4097) for SPV_MESA_fragment_coverage_mask.
|
||||
---
|
||||
include/spirv/unified1/spirv.bf | 2 ++
|
||||
include/spirv/unified1/spirv.core.grammar.json | 13 +++++++++++++
|
||||
include/spirv/unified1/spirv.cs | 2 ++
|
||||
include/spirv/unified1/spirv.h | 4 ++++
|
||||
include/spirv/unified1/spirv.hpp | 4 ++++
|
||||
include/spirv/unified1/spirv.hpp11 | 4 ++++
|
||||
include/spirv/unified1/spirv.json | 2 ++
|
||||
include/spirv/unified1/spirv.lua | 2 ++
|
||||
include/spirv/unified1/spirv.py | 2 ++
|
||||
include/spirv/unified1/spv.d | 2 ++
|
||||
10 files changed, 37 insertions(+)
|
||||
|
||||
diff --git a/include/spirv/unified1/spirv.bf b/include/spirv/unified1/spirv.bf
|
||||
index 3d24085..efd329f 100644
|
||||
--- a/include/spirv/unified1/spirv.bf
|
||||
+++ b/include/spirv/unified1/spirv.bf
|
||||
@@ -757,6 +757,7 @@ namespace Spv
|
||||
SubgroupLocalInvocationId = 41,
|
||||
VertexIndex = 42,
|
||||
InstanceIndex = 43,
|
||||
+ FragmentCoverageMaskMESA = 4096,
|
||||
CoreIDARM = 4160,
|
||||
CoreCountARM = 4161,
|
||||
CoreMaxIDARM = 4162,
|
||||
@@ -1169,6 +1170,7 @@ namespace Spv
|
||||
ShaderLayer = 69,
|
||||
ShaderViewportIndex = 70,
|
||||
UniformDecoration = 71,
|
||||
+ FragmentCoverageMESA = 4097,
|
||||
CoreBuiltinsARM = 4165,
|
||||
TileImageColorReadAccessEXT = 4166,
|
||||
TileImageDepthReadAccessEXT = 4167,
|
||||
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
|
||||
index 4fc0ec9..1a6a490 100644
|
||||
--- a/include/spirv/unified1/spirv.core.grammar.json
|
||||
+++ b/include/spirv/unified1/spirv.core.grammar.json
|
||||
@@ -16170,6 +16170,12 @@
|
||||
"capabilities" : [ "Shader" ],
|
||||
"version": "1.0"
|
||||
},
|
||||
+ {
|
||||
+ "enumerant" : "FragmentCoverageMaskMESA",
|
||||
+ "value" : 4096,
|
||||
+ "capabilities" : [ "FragmentCoverageMESA" ],
|
||||
+ "version" : "None"
|
||||
+ },
|
||||
{
|
||||
"enumerant" : "CoreIDARM",
|
||||
"value" : 4160,
|
||||
@@ -17309,6 +17315,13 @@
|
||||
"value" : 71,
|
||||
"version" : "1.6"
|
||||
},
|
||||
+ {
|
||||
+ "enumerant" : "FragmentCoverageMESA",
|
||||
+ "value" : 4097,
|
||||
+ "capabilities" : [ "Shader" ],
|
||||
+ "extensions" : [ "SPV_MESA_fragment_coverage_mask" ],
|
||||
+ "version" : "None"
|
||||
+ },
|
||||
{
|
||||
"enumerant" : "CoreBuiltinsARM",
|
||||
"value" : 4165,
|
||||
diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs
|
||||
index 35b9aff..248e593 100644
|
||||
--- a/include/spirv/unified1/spirv.cs
|
||||
+++ b/include/spirv/unified1/spirv.cs
|
||||
@@ -756,6 +756,7 @@ namespace Spv
|
||||
SubgroupLocalInvocationId = 41,
|
||||
VertexIndex = 42,
|
||||
InstanceIndex = 43,
|
||||
+ FragmentCoverageMaskMESA = 4096,
|
||||
CoreIDARM = 4160,
|
||||
CoreCountARM = 4161,
|
||||
CoreMaxIDARM = 4162,
|
||||
@@ -1168,6 +1169,7 @@ namespace Spv
|
||||
ShaderLayer = 69,
|
||||
ShaderViewportIndex = 70,
|
||||
UniformDecoration = 71,
|
||||
+ FragmentCoverageMESA = 4097,
|
||||
CoreBuiltinsARM = 4165,
|
||||
TileImageColorReadAccessEXT = 4166,
|
||||
TileImageDepthReadAccessEXT = 4167,
|
||||
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
|
||||
index a9e4998..ea4fb66 100644
|
||||
--- a/include/spirv/unified1/spirv.h
|
||||
+++ b/include/spirv/unified1/spirv.h
|
||||
@@ -743,6 +743,7 @@ typedef enum SpvBuiltIn_ {
|
||||
SpvBuiltInSubgroupLocalInvocationId = 41,
|
||||
SpvBuiltInVertexIndex = 42,
|
||||
SpvBuiltInInstanceIndex = 43,
|
||||
+ SpvBuiltInFragmentCoverageMaskMESA = 4096,
|
||||
SpvBuiltInCoreIDARM = 4160,
|
||||
SpvBuiltInCoreCountARM = 4161,
|
||||
SpvBuiltInCoreMaxIDARM = 4162,
|
||||
@@ -1139,6 +1140,7 @@ typedef enum SpvCapability_ {
|
||||
SpvCapabilityShaderLayer = 69,
|
||||
SpvCapabilityShaderViewportIndex = 70,
|
||||
SpvCapabilityUniformDecoration = 71,
|
||||
+ SpvCapabilityFragmentCoverageMESA = 4097,
|
||||
SpvCapabilityCoreBuiltinsARM = 4165,
|
||||
SpvCapabilityTileImageColorReadAccessEXT = 4166,
|
||||
SpvCapabilityTileImageDepthReadAccessEXT = 4167,
|
||||
@@ -4118,6 +4120,7 @@ inline const char* SpvBuiltInToString(SpvBuiltIn value) {
|
||||
case SpvBuiltInSubgroupLocalInvocationId: return "SubgroupLocalInvocationId";
|
||||
case SpvBuiltInVertexIndex: return "VertexIndex";
|
||||
case SpvBuiltInInstanceIndex: return "InstanceIndex";
|
||||
+ case SpvBuiltInFragmentCoverageMaskMESA: return "FragmentCoverageMaskMESA";
|
||||
case SpvBuiltInCoreIDARM: return "CoreIDARM";
|
||||
case SpvBuiltInCoreCountARM: return "CoreCountARM";
|
||||
case SpvBuiltInCoreMaxIDARM: return "CoreMaxIDARM";
|
||||
@@ -4316,6 +4319,7 @@ inline const char* SpvCapabilityToString(SpvCapability value) {
|
||||
case SpvCapabilityShaderLayer: return "ShaderLayer";
|
||||
case SpvCapabilityShaderViewportIndex: return "ShaderViewportIndex";
|
||||
case SpvCapabilityUniformDecoration: return "UniformDecoration";
|
||||
+ case SpvCapabilityFragmentCoverageMESA: return "FragmentCoverageMESA";
|
||||
case SpvCapabilityCoreBuiltinsARM: return "CoreBuiltinsARM";
|
||||
case SpvCapabilityTileImageColorReadAccessEXT: return "TileImageColorReadAccessEXT";
|
||||
case SpvCapabilityTileImageDepthReadAccessEXT: return "TileImageDepthReadAccessEXT";
|
||||
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
|
||||
index 6676d71..3a61c4d 100644
|
||||
--- a/include/spirv/unified1/spirv.hpp
|
||||
+++ b/include/spirv/unified1/spirv.hpp
|
||||
@@ -739,6 +739,7 @@ enum BuiltIn {
|
||||
BuiltInSubgroupLocalInvocationId = 41,
|
||||
BuiltInVertexIndex = 42,
|
||||
BuiltInInstanceIndex = 43,
|
||||
+ BuiltInFragmentCoverageMaskMESA = 4096,
|
||||
BuiltInCoreIDARM = 4160,
|
||||
BuiltInCoreCountARM = 4161,
|
||||
BuiltInCoreMaxIDARM = 4162,
|
||||
@@ -1135,6 +1136,7 @@ enum Capability {
|
||||
CapabilityShaderLayer = 69,
|
||||
CapabilityShaderViewportIndex = 70,
|
||||
CapabilityUniformDecoration = 71,
|
||||
+ CapabilityFragmentCoverageMESA = 4097,
|
||||
CapabilityCoreBuiltinsARM = 4165,
|
||||
CapabilityTileImageColorReadAccessEXT = 4166,
|
||||
CapabilityTileImageDepthReadAccessEXT = 4167,
|
||||
@@ -4114,6 +4116,7 @@ inline const char* BuiltInToString(BuiltIn value) {
|
||||
case BuiltInSubgroupLocalInvocationId: return "SubgroupLocalInvocationId";
|
||||
case BuiltInVertexIndex: return "VertexIndex";
|
||||
case BuiltInInstanceIndex: return "InstanceIndex";
|
||||
+ case BuiltInFragmentCoverageMaskMESA: return "FragmentCoverageMaskMESA";
|
||||
case BuiltInCoreIDARM: return "CoreIDARM";
|
||||
case BuiltInCoreCountARM: return "CoreCountARM";
|
||||
case BuiltInCoreMaxIDARM: return "CoreMaxIDARM";
|
||||
@@ -4312,6 +4315,7 @@ inline const char* CapabilityToString(Capability value) {
|
||||
case CapabilityShaderLayer: return "ShaderLayer";
|
||||
case CapabilityShaderViewportIndex: return "ShaderViewportIndex";
|
||||
case CapabilityUniformDecoration: return "UniformDecoration";
|
||||
+ case CapabilityFragmentCoverageMESA: return "FragmentCoverageMESA";
|
||||
case CapabilityCoreBuiltinsARM: return "CoreBuiltinsARM";
|
||||
case CapabilityTileImageColorReadAccessEXT: return "TileImageColorReadAccessEXT";
|
||||
case CapabilityTileImageDepthReadAccessEXT: return "TileImageDepthReadAccessEXT";
|
||||
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
|
||||
index e08b65b..a3c8b1c 100644
|
||||
--- a/include/spirv/unified1/spirv.hpp11
|
||||
+++ b/include/spirv/unified1/spirv.hpp11
|
||||
@@ -739,6 +739,7 @@ enum class BuiltIn : unsigned {
|
||||
SubgroupLocalInvocationId = 41,
|
||||
VertexIndex = 42,
|
||||
InstanceIndex = 43,
|
||||
+ FragmentCoverageMaskMESA = 4096,
|
||||
CoreIDARM = 4160,
|
||||
CoreCountARM = 4161,
|
||||
CoreMaxIDARM = 4162,
|
||||
@@ -1135,6 +1136,7 @@ enum class Capability : unsigned {
|
||||
ShaderLayer = 69,
|
||||
ShaderViewportIndex = 70,
|
||||
UniformDecoration = 71,
|
||||
+ FragmentCoverageMESA = 4097,
|
||||
CoreBuiltinsARM = 4165,
|
||||
TileImageColorReadAccessEXT = 4166,
|
||||
TileImageDepthReadAccessEXT = 4167,
|
||||
@@ -4114,6 +4116,7 @@ inline const char* BuiltInToString(BuiltIn value) {
|
||||
case BuiltIn::SubgroupLocalInvocationId: return "SubgroupLocalInvocationId";
|
||||
case BuiltIn::VertexIndex: return "VertexIndex";
|
||||
case BuiltIn::InstanceIndex: return "InstanceIndex";
|
||||
+ case BuiltIn::FragmentCoverageMaskMESA: return "FragmentCoverageMaskMESA";
|
||||
case BuiltIn::CoreIDARM: return "CoreIDARM";
|
||||
case BuiltIn::CoreCountARM: return "CoreCountARM";
|
||||
case BuiltIn::CoreMaxIDARM: return "CoreMaxIDARM";
|
||||
@@ -4312,6 +4315,7 @@ inline const char* CapabilityToString(Capability value) {
|
||||
case Capability::ShaderLayer: return "ShaderLayer";
|
||||
case Capability::ShaderViewportIndex: return "ShaderViewportIndex";
|
||||
case Capability::UniformDecoration: return "UniformDecoration";
|
||||
+ case Capability::FragmentCoverageMESA: return "FragmentCoverageMESA";
|
||||
case Capability::CoreBuiltinsARM: return "CoreBuiltinsARM";
|
||||
case Capability::TileImageColorReadAccessEXT: return "TileImageColorReadAccessEXT";
|
||||
case Capability::TileImageDepthReadAccessEXT: return "TileImageDepthReadAccessEXT";
|
||||
diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json
|
||||
index bd3f41b..88f2605 100644
|
||||
--- a/include/spirv/unified1/spirv.json
|
||||
+++ b/include/spirv/unified1/spirv.json
|
||||
@@ -765,6 +765,7 @@
|
||||
"SubgroupLocalInvocationId": 41,
|
||||
"VertexIndex": 42,
|
||||
"InstanceIndex": 43,
|
||||
+ "FragmentCoverageMaskMESA": 4096,
|
||||
"CoreIDARM": 4160,
|
||||
"CoreCountARM": 4161,
|
||||
"CoreMaxIDARM": 4162,
|
||||
@@ -1101,6 +1102,7 @@
|
||||
"ShaderLayer": 69,
|
||||
"ShaderViewportIndex": 70,
|
||||
"UniformDecoration": 71,
|
||||
+ "FragmentCoverageMESA": 4097,
|
||||
"CoreBuiltinsARM": 4165,
|
||||
"TileImageColorReadAccessEXT": 4166,
|
||||
"TileImageDepthReadAccessEXT": 4167,
|
||||
diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua
|
||||
index 347e010..db1bfd5 100644
|
||||
--- a/include/spirv/unified1/spirv.lua
|
||||
+++ b/include/spirv/unified1/spirv.lua
|
||||
@@ -730,6 +730,7 @@ spv = {
|
||||
SubgroupLocalInvocationId = 41,
|
||||
VertexIndex = 42,
|
||||
InstanceIndex = 43,
|
||||
+ FragmentCoverageMaskMESA = 4096,
|
||||
CoreIDARM = 4160,
|
||||
CoreCountARM = 4161,
|
||||
CoreMaxIDARM = 4162,
|
||||
@@ -1126,6 +1127,7 @@ spv = {
|
||||
ShaderLayer = 69,
|
||||
ShaderViewportIndex = 70,
|
||||
UniformDecoration = 71,
|
||||
+ FragmentCoverageMESA = 4097,
|
||||
CoreBuiltinsARM = 4165,
|
||||
TileImageColorReadAccessEXT = 4166,
|
||||
TileImageDepthReadAccessEXT = 4167,
|
||||
diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py
|
||||
index a5c118d..976e23b 100644
|
||||
--- a/include/spirv/unified1/spirv.py
|
||||
+++ b/include/spirv/unified1/spirv.py
|
||||
@@ -711,6 +711,7 @@ spv = {
|
||||
'SubgroupLocalInvocationId' : 41,
|
||||
'VertexIndex' : 42,
|
||||
'InstanceIndex' : 43,
|
||||
+ 'FragmentCoverageMaskMESA' : 4096,
|
||||
'CoreIDARM' : 4160,
|
||||
'CoreCountARM' : 4161,
|
||||
'CoreMaxIDARM' : 4162,
|
||||
@@ -1097,6 +1098,7 @@ spv = {
|
||||
'ShaderLayer' : 69,
|
||||
'ShaderViewportIndex' : 70,
|
||||
'UniformDecoration' : 71,
|
||||
+ 'FragmentCoverageMESA' : 4097,
|
||||
'CoreBuiltinsARM' : 4165,
|
||||
'TileImageColorReadAccessEXT' : 4166,
|
||||
'TileImageDepthReadAccessEXT' : 4167,
|
||||
diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d
|
||||
index 781154a..a9093d6 100644
|
||||
--- a/include/spirv/unified1/spv.d
|
||||
+++ b/include/spirv/unified1/spv.d
|
||||
@@ -759,6 +759,7 @@ enum BuiltIn : uint
|
||||
SubgroupLocalInvocationId = 41,
|
||||
VertexIndex = 42,
|
||||
InstanceIndex = 43,
|
||||
+ FragmentCoverageMaskMESA = 4096,
|
||||
CoreIDARM = 4160,
|
||||
CoreCountARM = 4161,
|
||||
CoreMaxIDARM = 4162,
|
||||
@@ -1171,6 +1172,7 @@ enum Capability : uint
|
||||
ShaderLayer = 69,
|
||||
ShaderViewportIndex = 70,
|
||||
UniformDecoration = 71,
|
||||
+ FragmentCoverageMESA = 4097,
|
||||
CoreBuiltinsARM = 4165,
|
||||
TileImageColorReadAccessEXT = 4166,
|
||||
TileImageDepthReadAccessEXT = 4167,
|
||||
--
|
||||
2.54.0
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
From 1a22b167081842915a1c78a0b5b5a353a23284aa Mon Sep 17 00:00:00 2001
|
||||
From: alelenv <40001162+alelenv@users.noreply.github.com>
|
||||
Date: Wed, 29 Apr 2026 08:50:18 -0700
|
||||
Subject: [PATCH 04/26] Update headers for spirv issue 373 (#584)
|
||||
|
||||
---
|
||||
include/spirv/unified1/spirv.core.grammar.json | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
|
||||
index 1a6a490..c7e3cc3 100644
|
||||
--- a/include/spirv/unified1/spirv.core.grammar.json
|
||||
+++ b/include/spirv/unified1/spirv.core.grammar.json
|
||||
@@ -6505,7 +6505,8 @@
|
||||
{ "kind" : "IdRef", "name" : "Hit Object" },
|
||||
{ "kind" : "IdRef", "name" : "Ray Query" },
|
||||
{ "kind" : "IdRef", "name" : "SBT Record Index" },
|
||||
- { "kind" : "IdRef", "name" : "Hit Object Attributes" }
|
||||
+ { "kind" : "IdRef", "name" : "Hit Object Attributes" },
|
||||
+ { "kind" : "IdRef", "quantifier" : "?", "name" : "Hit Kind" }
|
||||
],
|
||||
"capabilities" : [ "ShaderInvocationReorderEXT" ],
|
||||
"version" : "None"
|
||||
--
|
||||
2.54.0
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
From 53b334f4a5f18fb1f2d367baeba8b43e2eb0b62b Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Moulton <30711895+mmoult@users.noreply.github.com>
|
||||
Date: Wed, 29 Apr 2026 22:25:01 +0000
|
||||
Subject: [PATCH 05/26] Reserve some tokens for Samsung (#586)
|
||||
|
||||
---
|
||||
include/spirv/spir-v.xml | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/spirv/spir-v.xml b/include/spirv/spir-v.xml
|
||||
index 15eeb4d..3b3cfb3 100644
|
||||
--- a/include/spirv/spir-v.xml
|
||||
+++ b/include/spirv/spir-v.xml
|
||||
@@ -179,13 +179,14 @@
|
||||
<ids type="enumerant" start="6784" end="6911" vendor="Intel" comment="Contact mariusz.merecki@intel.com"/>
|
||||
<ids type="enumerant" start="6912" end="6975" vendor="Valve" comment="Contact michael.blumenkrantz@gmail.com"/>
|
||||
<ids type="enumerant" start="6976" end="7039" vendor="Broadcom" comment="Contact gleese@broadcom.com"/>
|
||||
+ <ids type="enumerant" start="7040" end="7103" vendor="Samsung" comment="Contact r.potter@samsung.com"/>
|
||||
<!-- Enumerants to reserve for future use. To get a block, allocate
|
||||
multiples of 64 starting at the lowest available point in this
|
||||
block and add a corresponding <ids> tag immediately above. Make
|
||||
sure to fill in the vendor attribute, and preferably add a contact
|
||||
person/address in a comment attribute. -->
|
||||
<!-- Example new block: <ids type="enumerant" start="XXXX" end="XXXX+64n-1" vendor="Add vendor" comment="Contact TBD"/> -->
|
||||
- <ids type="enumerant" start="7040" end="4294967295" comment="Enumerant range reservable for future use by vendors"/>
|
||||
+ <ids type="enumerant" start="7104" end="4294967295" comment="Enumerant range reservable for future use by vendors"/>
|
||||
<!-- End reservations of enumerants -->
|
||||
|
||||
|
||||
--
|
||||
2.54.0
|
||||
|
||||
+74
@@ -0,0 +1,74 @@
|
||||
From 126038020c2bd47efaa942ccc364ca5353ffccde Mon Sep 17 00:00:00 2001
|
||||
From: Arseniy Obolenskiy <gooddoog@student.su>
|
||||
Date: Thu, 30 Apr 2026 22:51:58 +0200
|
||||
Subject: [PATCH 06/26] Fix OpCompositeConstructContinuedINTEL operands (#587)
|
||||
|
||||
* Fix OpCompositeConstructContinuedINTEL operands
|
||||
|
||||
Remove IdResultType and IdResult from OpCompositeConstructContinuedINTEL
|
||||
|
||||
This instruction is a continuation that supplies additional constituents to a preceding OpCompositeConstruct and does not produce its own result
|
||||
|
||||
* Update headers
|
||||
---
|
||||
include/spirv/unified1/spirv.core.grammar.json | 2 --
|
||||
include/spirv/unified1/spirv.h | 2 +-
|
||||
include/spirv/unified1/spirv.hpp | 2 +-
|
||||
include/spirv/unified1/spirv.hpp11 | 2 +-
|
||||
4 files changed, 3 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
|
||||
index c7e3cc3..2ca9fe4 100644
|
||||
--- a/include/spirv/unified1/spirv.core.grammar.json
|
||||
+++ b/include/spirv/unified1/spirv.core.grammar.json
|
||||
@@ -11223,8 +11223,6 @@
|
||||
"class" : "Composite",
|
||||
"opcode" : 6096,
|
||||
"operands" : [
|
||||
- { "kind" : "IdResultType" },
|
||||
- { "kind" : "IdResult" },
|
||||
{ "kind" : "IdRef", "quantifier" : "*", "name" : "Constituents" }
|
||||
],
|
||||
"capabilities" : [ "LongCompositesINTEL" ],
|
||||
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
|
||||
index ea4fb66..169cb06 100644
|
||||
--- a/include/spirv/unified1/spirv.h
|
||||
+++ b/include/spirv/unified1/spirv.h
|
||||
@@ -3489,7 +3489,7 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
||||
case SpvOpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
- case SpvOpCompositeConstructContinuedINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
+ case SpvOpCompositeConstructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpConvertFToBF16INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpConvertBF16ToFINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
|
||||
index 3a61c4d..c159586 100644
|
||||
--- a/include/spirv/unified1/spirv.hpp
|
||||
+++ b/include/spirv/unified1/spirv.hpp
|
||||
@@ -3485,7 +3485,7 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
- case OpCompositeConstructContinuedINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
+ case OpCompositeConstructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case OpConvertFToBF16INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConvertBF16ToFINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
|
||||
index a3c8b1c..189dbbc 100644
|
||||
--- a/include/spirv/unified1/spirv.hpp11
|
||||
+++ b/include/spirv/unified1/spirv.hpp11
|
||||
@@ -3485,7 +3485,7 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case Op::OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
- case Op::OpCompositeConstructContinuedINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
+ case Op::OpCompositeConstructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpConvertFToBF16INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpConvertBF16ToFINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
--
|
||||
2.54.0
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
From 1f2dd1627ae782fa999b6ed86514c6a905438e3c Mon Sep 17 00:00:00 2001
|
||||
From: Spencer Fricke <115671160+spencer-lunarg@users.noreply.github.com>
|
||||
Date: Tue, 5 May 2026 12:29:58 -0400
|
||||
Subject: [PATCH 07/26] Update spirv.core.grammar.json revision (#593)
|
||||
|
||||
---
|
||||
include/spirv/unified1/spirv.core.grammar.json | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
|
||||
index 2ca9fe4..bd716cb 100644
|
||||
--- a/include/spirv/unified1/spirv.core.grammar.json
|
||||
+++ b/include/spirv/unified1/spirv.core.grammar.json
|
||||
@@ -11,7 +11,7 @@
|
||||
"magic_number" : "0x07230203",
|
||||
"major_version" : 1,
|
||||
"minor_version" : 6,
|
||||
- "revision" : 4,
|
||||
+ "revision" : 7,
|
||||
"instruction_printing_class" : [
|
||||
{
|
||||
"tag" : "@exclude"
|
||||
--
|
||||
2.54.0
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
From 58006c901d1d5c37dece6b6610e9af87fa951375 Mon Sep 17 00:00:00 2001
|
||||
From: Shahbaz Youssefi <syoussefi@chromium.org>
|
||||
Date: Thu, 7 May 2026 21:05:26 -0400
|
||||
Subject: [PATCH 08/26] Reserve ImageOperand 17 for Google (#589)
|
||||
|
||||
---
|
||||
include/spirv/spir-v.xml | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/spirv/spir-v.xml b/include/spirv/spir-v.xml
|
||||
index 3b3cfb3..69a2c2a 100644
|
||||
--- a/include/spirv/spir-v.xml
|
||||
+++ b/include/spirv/spir-v.xml
|
||||
@@ -290,7 +290,8 @@
|
||||
<!-- Reserved image operand bits -->
|
||||
<ids type="ImageOperand" start="0" end="15" vendor="Khronos" comment="Reserved ImageOperand bits, not available to vendors - see the SPIR-V Specification"/>
|
||||
<ids type="ImageOperand" start="16" end="16" vendor="Nvidia" comment="Contact pmistry@nvidia.com"/>
|
||||
- <ids type="ImageOperand" start="17" end="30" comment="Unreserved bits reservable for use by vendors"/>
|
||||
+ <ids type="ImageOperand" start="17" end="17" vendor="Google" comment="Contact syoussefi@google.com"/>
|
||||
+ <ids type="ImageOperand" start="18" end="30" comment="Unreserved bits reservable for use by vendors"/>
|
||||
<ids type="ImageOperand" start="31" end="31" vendor="Khronos" comment="Reserved ImageOperand bit, not available to vendors"/>
|
||||
|
||||
</registry>
|
||||
--
|
||||
2.54.0
|
||||
|
||||
+88
@@ -0,0 +1,88 @@
|
||||
From 98c842bd561ac67c5ff98d599c8c960ba9edb7fd Mon Sep 17 00:00:00 2001
|
||||
From: Arseniy Obolenskiy <gooddoog@student.su>
|
||||
Date: Mon, 11 May 2026 13:11:51 +0200
|
||||
Subject: [PATCH 09/26] Fix OpReadPipeBlockingINTEL/OpWritePipeBlockingINTEL
|
||||
operands (#588)
|
||||
|
||||
Per the SPV_INTEL_blocking_pipes spec, these instructions do not produce a result, but have Pipe and Pointer id arguments instead
|
||||
---
|
||||
include/spirv/unified1/spirv.core.grammar.json | 8 ++++----
|
||||
include/spirv/unified1/spirv.h | 4 ++--
|
||||
include/spirv/unified1/spirv.hpp | 4 ++--
|
||||
include/spirv/unified1/spirv.hpp11 | 4 ++--
|
||||
4 files changed, 10 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
|
||||
index bd716cb..d8d36df 100644
|
||||
--- a/include/spirv/unified1/spirv.core.grammar.json
|
||||
+++ b/include/spirv/unified1/spirv.core.grammar.json
|
||||
@@ -10803,8 +10803,8 @@
|
||||
"aliases" : [ "OpReadPipeBlockingINTEL" ],
|
||||
"opcode" : 5946,
|
||||
"operands" : [
|
||||
- { "kind" : "IdResultType" },
|
||||
- { "kind" : "IdResult" },
|
||||
+ { "kind" : "IdRef", "name" : "Pipe" },
|
||||
+ { "kind" : "IdRef", "name" : "Pointer" },
|
||||
{ "kind" : "IdRef", "name" : "Packet Size" },
|
||||
{ "kind" : "IdRef", "name" : "Packet Alignment" }
|
||||
],
|
||||
@@ -10817,8 +10817,8 @@
|
||||
"aliases" : [ "OpWritePipeBlockingINTEL" ],
|
||||
"opcode" : 5947,
|
||||
"operands" : [
|
||||
- { "kind" : "IdResultType" },
|
||||
- { "kind" : "IdResult" },
|
||||
+ { "kind" : "IdRef", "name" : "Pipe" },
|
||||
+ { "kind" : "IdRef", "name" : "Pointer" },
|
||||
{ "kind" : "IdRef", "name" : "Packet Size" },
|
||||
{ "kind" : "IdRef", "name" : "Packet Alignment" }
|
||||
],
|
||||
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
|
||||
index 169cb06..1759d89 100644
|
||||
--- a/include/spirv/unified1/spirv.h
|
||||
+++ b/include/spirv/unified1/spirv.h
|
||||
@@ -3464,8 +3464,8 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
||||
case SpvOpFixedExpALTERA: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpPtrCastToCrossWorkgroupALTERA: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpCrossWorkgroupCastToPtrALTERA: *hasResult = true; *hasResultType = true; break;
|
||||
- case SpvOpReadPipeBlockingALTERA: *hasResult = true; *hasResultType = true; break;
|
||||
- case SpvOpWritePipeBlockingALTERA: *hasResult = true; *hasResultType = true; break;
|
||||
+ case SpvOpReadPipeBlockingALTERA: *hasResult = false; *hasResultType = false; break;
|
||||
+ case SpvOpWritePipeBlockingALTERA: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpFPGARegALTERA: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
|
||||
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
|
||||
index c159586..e6cc26c 100644
|
||||
--- a/include/spirv/unified1/spirv.hpp
|
||||
+++ b/include/spirv/unified1/spirv.hpp
|
||||
@@ -3460,8 +3460,8 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case OpFixedExpALTERA: *hasResult = true; *hasResultType = true; break;
|
||||
case OpPtrCastToCrossWorkgroupALTERA: *hasResult = true; *hasResultType = true; break;
|
||||
case OpCrossWorkgroupCastToPtrALTERA: *hasResult = true; *hasResultType = true; break;
|
||||
- case OpReadPipeBlockingALTERA: *hasResult = true; *hasResultType = true; break;
|
||||
- case OpWritePipeBlockingALTERA: *hasResult = true; *hasResultType = true; break;
|
||||
+ case OpReadPipeBlockingALTERA: *hasResult = false; *hasResultType = false; break;
|
||||
+ case OpWritePipeBlockingALTERA: *hasResult = false; *hasResultType = false; break;
|
||||
case OpFPGARegALTERA: *hasResult = true; *hasResultType = true; break;
|
||||
case OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
|
||||
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
|
||||
index 189dbbc..c841190 100644
|
||||
--- a/include/spirv/unified1/spirv.hpp11
|
||||
+++ b/include/spirv/unified1/spirv.hpp11
|
||||
@@ -3460,8 +3460,8 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case Op::OpFixedExpALTERA: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpPtrCastToCrossWorkgroupALTERA: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpCrossWorkgroupCastToPtrALTERA: *hasResult = true; *hasResultType = true; break;
|
||||
- case Op::OpReadPipeBlockingALTERA: *hasResult = true; *hasResultType = true; break;
|
||||
- case Op::OpWritePipeBlockingALTERA: *hasResult = true; *hasResultType = true; break;
|
||||
+ case Op::OpReadPipeBlockingALTERA: *hasResult = false; *hasResultType = false; break;
|
||||
+ case Op::OpWritePipeBlockingALTERA: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpFPGARegALTERA: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
|
||||
--
|
||||
2.54.0
|
||||
|
||||
@@ -0,0 +1,283 @@
|
||||
From 5c50cbd25a40f8b60e44a2ccc2f1ba3c9e0d0299 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Sidorov <dsidorov@amd.com>
|
||||
Date: Wed, 13 May 2026 15:01:58 +0200
|
||||
Subject: [PATCH 10/26] Add SPV_AMD_weak_linkage extension (#583)
|
||||
|
||||
Spec is available here KhronosGroup/SPIRV-Registry#401
|
||||
---
|
||||
include/spirv/unified1/spirv.bf | 2 ++
|
||||
include/spirv/unified1/spirv.core.grammar.json | 13 +++++++++++++
|
||||
include/spirv/unified1/spirv.cs | 2 ++
|
||||
include/spirv/unified1/spirv.h | 4 ++++
|
||||
include/spirv/unified1/spirv.hpp | 4 ++++
|
||||
include/spirv/unified1/spirv.hpp11 | 4 ++++
|
||||
include/spirv/unified1/spirv.json | 4 +++-
|
||||
include/spirv/unified1/spirv.lua | 2 ++
|
||||
include/spirv/unified1/spirv.py | 2 ++
|
||||
include/spirv/unified1/spv.d | 2 ++
|
||||
10 files changed, 38 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/spirv/unified1/spirv.bf b/include/spirv/unified1/spirv.bf
|
||||
index efd329f..8d0bc34 100644
|
||||
--- a/include/spirv/unified1/spirv.bf
|
||||
+++ b/include/spirv/unified1/spirv.bf
|
||||
@@ -485,6 +485,7 @@ namespace Spv
|
||||
Export = 0,
|
||||
Import = 1,
|
||||
LinkOnceODR = 2,
|
||||
+ WeakAMD = 3,
|
||||
Max = 0x7fffffff,
|
||||
}
|
||||
|
||||
@@ -1238,6 +1239,7 @@ namespace Spv
|
||||
DescriptorHeapEXT = 5128,
|
||||
ConstantDataKHR = 5146,
|
||||
PoisonFreezeKHR = 5156,
|
||||
+ WeakLinkageAMD = 5181,
|
||||
SampleMaskOverrideCoverageNV = 5249,
|
||||
GeometryShaderPassthroughNV = 5251,
|
||||
ShaderViewportIndexLayerEXT = 5254,
|
||||
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
|
||||
index d8d36df..c84dc2d 100644
|
||||
--- a/include/spirv/unified1/spirv.core.grammar.json
|
||||
+++ b/include/spirv/unified1/spirv.core.grammar.json
|
||||
@@ -14595,6 +14595,12 @@
|
||||
"capabilities" : [ "Linkage" ],
|
||||
"extensions" : [ "SPV_KHR_linkonce_odr" ],
|
||||
"version" : "None"
|
||||
+ },
|
||||
+ {
|
||||
+ "enumerant" : "WeakAMD",
|
||||
+ "value" : 3,
|
||||
+ "capabilities" : [ "WeakLinkageAMD" ],
|
||||
+ "version" : "None"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -17744,6 +17750,13 @@
|
||||
"provisional" : true,
|
||||
"version" : "None"
|
||||
},
|
||||
+ {
|
||||
+ "enumerant" : "WeakLinkageAMD",
|
||||
+ "value" : 5181,
|
||||
+ "capabilities" : [ "Linkage" ],
|
||||
+ "extensions" : [ "SPV_AMD_weak_linkage" ],
|
||||
+ "version" : "None"
|
||||
+ },
|
||||
{
|
||||
"enumerant" : "SampleMaskOverrideCoverageNV",
|
||||
"value" : 5249,
|
||||
diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs
|
||||
index 248e593..b0a8f1e 100644
|
||||
--- a/include/spirv/unified1/spirv.cs
|
||||
+++ b/include/spirv/unified1/spirv.cs
|
||||
@@ -484,6 +484,7 @@ namespace Spv
|
||||
Export = 0,
|
||||
Import = 1,
|
||||
LinkOnceODR = 2,
|
||||
+ WeakAMD = 3,
|
||||
Max = 0x7fffffff,
|
||||
}
|
||||
|
||||
@@ -1237,6 +1238,7 @@ namespace Spv
|
||||
DescriptorHeapEXT = 5128,
|
||||
ConstantDataKHR = 5146,
|
||||
PoisonFreezeKHR = 5156,
|
||||
+ WeakLinkageAMD = 5181,
|
||||
SampleMaskOverrideCoverageNV = 5249,
|
||||
GeometryShaderPassthroughNV = 5251,
|
||||
ShaderViewportIndexLayerEXT = 5254,
|
||||
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
|
||||
index 1759d89..4f76b90 100644
|
||||
--- a/include/spirv/unified1/spirv.h
|
||||
+++ b/include/spirv/unified1/spirv.h
|
||||
@@ -475,6 +475,7 @@ typedef enum SpvLinkageType_ {
|
||||
SpvLinkageTypeExport = 0,
|
||||
SpvLinkageTypeImport = 1,
|
||||
SpvLinkageTypeLinkOnceODR = 2,
|
||||
+ SpvLinkageTypeWeakAMD = 3,
|
||||
SpvLinkageTypeMax = 0x7fffffff,
|
||||
} SpvLinkageType;
|
||||
|
||||
@@ -1208,6 +1209,7 @@ typedef enum SpvCapability_ {
|
||||
SpvCapabilityDescriptorHeapEXT = 5128,
|
||||
SpvCapabilityConstantDataKHR = 5146,
|
||||
SpvCapabilityPoisonFreezeKHR = 5156,
|
||||
+ SpvCapabilityWeakLinkageAMD = 5181,
|
||||
SpvCapabilitySampleMaskOverrideCoverageNV = 5249,
|
||||
SpvCapabilityGeometryShaderPassthroughNV = 5251,
|
||||
SpvCapabilityShaderViewportIndexLayerEXT = 5254,
|
||||
@@ -3893,6 +3895,7 @@ inline const char* SpvLinkageTypeToString(SpvLinkageType value) {
|
||||
case SpvLinkageTypeExport: return "Export";
|
||||
case SpvLinkageTypeImport: return "Import";
|
||||
case SpvLinkageTypeLinkOnceODR: return "LinkOnceODR";
|
||||
+ case SpvLinkageTypeWeakAMD: return "WeakAMD";
|
||||
default: return "Unknown";
|
||||
}
|
||||
}
|
||||
@@ -4385,6 +4388,7 @@ inline const char* SpvCapabilityToString(SpvCapability value) {
|
||||
case SpvCapabilityDescriptorHeapEXT: return "DescriptorHeapEXT";
|
||||
case SpvCapabilityConstantDataKHR: return "ConstantDataKHR";
|
||||
case SpvCapabilityPoisonFreezeKHR: return "PoisonFreezeKHR";
|
||||
+ case SpvCapabilityWeakLinkageAMD: return "WeakLinkageAMD";
|
||||
case SpvCapabilitySampleMaskOverrideCoverageNV: return "SampleMaskOverrideCoverageNV";
|
||||
case SpvCapabilityGeometryShaderPassthroughNV: return "GeometryShaderPassthroughNV";
|
||||
case SpvCapabilityShaderViewportIndexLayerEXT: return "ShaderViewportIndexLayerEXT";
|
||||
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
|
||||
index e6cc26c..fd64eb7 100644
|
||||
--- a/include/spirv/unified1/spirv.hpp
|
||||
+++ b/include/spirv/unified1/spirv.hpp
|
||||
@@ -471,6 +471,7 @@ enum LinkageType {
|
||||
LinkageTypeExport = 0,
|
||||
LinkageTypeImport = 1,
|
||||
LinkageTypeLinkOnceODR = 2,
|
||||
+ LinkageTypeWeakAMD = 3,
|
||||
LinkageTypeMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@@ -1204,6 +1205,7 @@ enum Capability {
|
||||
CapabilityDescriptorHeapEXT = 5128,
|
||||
CapabilityConstantDataKHR = 5146,
|
||||
CapabilityPoisonFreezeKHR = 5156,
|
||||
+ CapabilityWeakLinkageAMD = 5181,
|
||||
CapabilitySampleMaskOverrideCoverageNV = 5249,
|
||||
CapabilityGeometryShaderPassthroughNV = 5251,
|
||||
CapabilityShaderViewportIndexLayerEXT = 5254,
|
||||
@@ -3889,6 +3891,7 @@ inline const char* LinkageTypeToString(LinkageType value) {
|
||||
case LinkageTypeExport: return "Export";
|
||||
case LinkageTypeImport: return "Import";
|
||||
case LinkageTypeLinkOnceODR: return "LinkOnceODR";
|
||||
+ case LinkageTypeWeakAMD: return "WeakAMD";
|
||||
default: return "Unknown";
|
||||
}
|
||||
}
|
||||
@@ -4381,6 +4384,7 @@ inline const char* CapabilityToString(Capability value) {
|
||||
case CapabilityDescriptorHeapEXT: return "DescriptorHeapEXT";
|
||||
case CapabilityConstantDataKHR: return "ConstantDataKHR";
|
||||
case CapabilityPoisonFreezeKHR: return "PoisonFreezeKHR";
|
||||
+ case CapabilityWeakLinkageAMD: return "WeakLinkageAMD";
|
||||
case CapabilitySampleMaskOverrideCoverageNV: return "SampleMaskOverrideCoverageNV";
|
||||
case CapabilityGeometryShaderPassthroughNV: return "GeometryShaderPassthroughNV";
|
||||
case CapabilityShaderViewportIndexLayerEXT: return "ShaderViewportIndexLayerEXT";
|
||||
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
|
||||
index c841190..4e626c9 100644
|
||||
--- a/include/spirv/unified1/spirv.hpp11
|
||||
+++ b/include/spirv/unified1/spirv.hpp11
|
||||
@@ -471,6 +471,7 @@ enum class LinkageType : unsigned {
|
||||
Export = 0,
|
||||
Import = 1,
|
||||
LinkOnceODR = 2,
|
||||
+ WeakAMD = 3,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
@@ -1204,6 +1205,7 @@ enum class Capability : unsigned {
|
||||
DescriptorHeapEXT = 5128,
|
||||
ConstantDataKHR = 5146,
|
||||
PoisonFreezeKHR = 5156,
|
||||
+ WeakLinkageAMD = 5181,
|
||||
SampleMaskOverrideCoverageNV = 5249,
|
||||
GeometryShaderPassthroughNV = 5251,
|
||||
ShaderViewportIndexLayerEXT = 5254,
|
||||
@@ -3889,6 +3891,7 @@ inline const char* LinkageTypeToString(LinkageType value) {
|
||||
case LinkageType::Export: return "Export";
|
||||
case LinkageType::Import: return "Import";
|
||||
case LinkageType::LinkOnceODR: return "LinkOnceODR";
|
||||
+ case LinkageType::WeakAMD: return "WeakAMD";
|
||||
default: return "Unknown";
|
||||
}
|
||||
}
|
||||
@@ -4381,6 +4384,7 @@ inline const char* CapabilityToString(Capability value) {
|
||||
case Capability::DescriptorHeapEXT: return "DescriptorHeapEXT";
|
||||
case Capability::ConstantDataKHR: return "ConstantDataKHR";
|
||||
case Capability::PoisonFreezeKHR: return "PoisonFreezeKHR";
|
||||
+ case Capability::WeakLinkageAMD: return "WeakLinkageAMD";
|
||||
case Capability::SampleMaskOverrideCoverageNV: return "SampleMaskOverrideCoverageNV";
|
||||
case Capability::GeometryShaderPassthroughNV: return "GeometryShaderPassthroughNV";
|
||||
case Capability::ShaderViewportIndexLayerEXT: return "ShaderViewportIndexLayerEXT";
|
||||
diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json
|
||||
index 88f2605..135663c 100644
|
||||
--- a/include/spirv/unified1/spirv.json
|
||||
+++ b/include/spirv/unified1/spirv.json
|
||||
@@ -484,7 +484,8 @@
|
||||
{
|
||||
"Export": 0,
|
||||
"Import": 1,
|
||||
- "LinkOnceODR": 2
|
||||
+ "LinkOnceODR": 2,
|
||||
+ "WeakAMD": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1170,6 +1171,7 @@
|
||||
"DescriptorHeapEXT": 5128,
|
||||
"ConstantDataKHR": 5146,
|
||||
"PoisonFreezeKHR": 5156,
|
||||
+ "WeakLinkageAMD": 5181,
|
||||
"SampleMaskOverrideCoverageNV": 5249,
|
||||
"GeometryShaderPassthroughNV": 5251,
|
||||
"ShaderViewportIndexLayerEXT": 5254,
|
||||
diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua
|
||||
index db1bfd5..8cbe093 100644
|
||||
--- a/include/spirv/unified1/spirv.lua
|
||||
+++ b/include/spirv/unified1/spirv.lua
|
||||
@@ -462,6 +462,7 @@ spv = {
|
||||
Export = 0,
|
||||
Import = 1,
|
||||
LinkOnceODR = 2,
|
||||
+ WeakAMD = 3,
|
||||
Max = 0x7fffffff,
|
||||
},
|
||||
|
||||
@@ -1195,6 +1196,7 @@ spv = {
|
||||
DescriptorHeapEXT = 5128,
|
||||
ConstantDataKHR = 5146,
|
||||
PoisonFreezeKHR = 5156,
|
||||
+ WeakLinkageAMD = 5181,
|
||||
SampleMaskOverrideCoverageNV = 5249,
|
||||
GeometryShaderPassthroughNV = 5251,
|
||||
ShaderViewportIndexLayerEXT = 5254,
|
||||
diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py
|
||||
index 976e23b..bb65ae9 100644
|
||||
--- a/include/spirv/unified1/spirv.py
|
||||
+++ b/include/spirv/unified1/spirv.py
|
||||
@@ -447,6 +447,7 @@ spv = {
|
||||
'Export' : 0,
|
||||
'Import' : 1,
|
||||
'LinkOnceODR' : 2,
|
||||
+ 'WeakAMD' : 3,
|
||||
},
|
||||
|
||||
'AccessQualifier' : {
|
||||
@@ -1166,6 +1167,7 @@ spv = {
|
||||
'DescriptorHeapEXT' : 5128,
|
||||
'ConstantDataKHR' : 5146,
|
||||
'PoisonFreezeKHR' : 5156,
|
||||
+ 'WeakLinkageAMD' : 5181,
|
||||
'SampleMaskOverrideCoverageNV' : 5249,
|
||||
'GeometryShaderPassthroughNV' : 5251,
|
||||
'ShaderViewportIndexLayerEXT' : 5254,
|
||||
diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d
|
||||
index a9093d6..8d31fee 100644
|
||||
--- a/include/spirv/unified1/spv.d
|
||||
+++ b/include/spirv/unified1/spv.d
|
||||
@@ -487,6 +487,7 @@ enum LinkageType : uint
|
||||
Export = 0,
|
||||
Import = 1,
|
||||
LinkOnceODR = 2,
|
||||
+ WeakAMD = 3,
|
||||
Max = 0x7fffffff,
|
||||
}
|
||||
|
||||
@@ -1240,6 +1241,7 @@ enum Capability : uint
|
||||
DescriptorHeapEXT = 5128,
|
||||
ConstantDataKHR = 5146,
|
||||
PoisonFreezeKHR = 5156,
|
||||
+ WeakLinkageAMD = 5181,
|
||||
SampleMaskOverrideCoverageNV = 5249,
|
||||
GeometryShaderPassthroughNV = 5251,
|
||||
ShaderViewportIndexLayerEXT = 5254,
|
||||
--
|
||||
2.54.0
|
||||
|
||||
@@ -0,0 +1,520 @@
|
||||
From 62d3e8314d2c4f26de24ca508bca2070f3d254aa Mon Sep 17 00:00:00 2001
|
||||
From: Spencer Fricke <115671160+spencer-lunarg@users.noreply.github.com>
|
||||
Date: Wed, 13 May 2026 11:47:28 -0400
|
||||
Subject: [PATCH 11/26] Add SPV_KHR_opacity_micromap (#599)
|
||||
|
||||
---
|
||||
include/spirv/unified1/spirv.bf | 5 ++++
|
||||
.../spirv/unified1/spirv.core.grammar.json | 26 ++++++++++++++++---
|
||||
include/spirv/unified1/spirv.cs | 5 ++++
|
||||
include/spirv/unified1/spirv.h | 7 +++++
|
||||
include/spirv/unified1/spirv.hpp | 7 +++++
|
||||
include/spirv/unified1/spirv.hpp11 | 7 +++++
|
||||
include/spirv/unified1/spirv.json | 6 ++++-
|
||||
include/spirv/unified1/spirv.lua | 5 ++++
|
||||
include/spirv/unified1/spirv.py | 5 ++++
|
||||
include/spirv/unified1/spv.d | 5 ++++
|
||||
10 files changed, 73 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/include/spirv/unified1/spirv.bf b/include/spirv/unified1/spirv.bf
|
||||
index 8d0bc34..a512a3e 100644
|
||||
--- a/include/spirv/unified1/spirv.bf
|
||||
+++ b/include/spirv/unified1/spirv.bf
|
||||
@@ -206,6 +206,7 @@ namespace Spv
|
||||
SchedulerTargetFmaxMhzINTEL = 5903,
|
||||
MaximallyReconvergesKHR = 6023,
|
||||
FPFastMathDefault = 6028,
|
||||
+ OpacityMicromapIdKHR = 6031,
|
||||
StreamingInterfaceINTEL = 6154,
|
||||
RegisterMapInterfaceINTEL = 6160,
|
||||
NamedBarrierCountINTEL = 6417,
|
||||
@@ -1304,6 +1305,7 @@ namespace Spv
|
||||
DemoteToHelperInvocationEXT = 5379,
|
||||
DisplacementMicromapNV = 5380,
|
||||
RayTracingOpacityMicromapEXT = 5381,
|
||||
+ RayTracingOpacityMicromapKHR = 5381,
|
||||
ShaderInvocationReorderNV = 5383,
|
||||
ShaderInvocationReorderEXT = 5388,
|
||||
BindlessTextureNV = 5390,
|
||||
@@ -1398,6 +1400,7 @@ namespace Spv
|
||||
GroupNonUniformRotateKHR = 6026,
|
||||
FloatControls2 = 6029,
|
||||
FMAKHR = 6030,
|
||||
+ RayTracingOpacityMicromapExecutionModeKHR = 6032,
|
||||
AtomicFloat32AddEXT = 6033,
|
||||
AtomicFloat64AddEXT = 6034,
|
||||
LongCompositesINTEL = 6089,
|
||||
@@ -1459,6 +1462,7 @@ namespace Spv
|
||||
SkipTrianglesKHR = 8,
|
||||
SkipAABBsKHR = 9,
|
||||
ForceOpacityMicromap2StateEXT = 10,
|
||||
+ ForceOpacityMicromap2StateKHR = 10,
|
||||
Max = 0x7fffffff,
|
||||
}
|
||||
|
||||
@@ -1477,6 +1481,7 @@ namespace Spv
|
||||
SkipTrianglesKHR = 0x00000100,
|
||||
SkipAABBsKHR = 0x00000200,
|
||||
ForceOpacityMicromap2StateEXT = 0x00000400,
|
||||
+ ForceOpacityMicromap2StateKHR = 0x00000400,
|
||||
}
|
||||
|
||||
[AllowDuplicates, CRepr] public enum RayQueryIntersection
|
||||
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
|
||||
index c84dc2d..32a350a 100644
|
||||
--- a/include/spirv/unified1/spirv.core.grammar.json
|
||||
+++ b/include/spirv/unified1/spirv.core.grammar.json
|
||||
@@ -12549,9 +12549,10 @@
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
- "enumerant" : "ForceOpacityMicromap2StateEXT",
|
||||
+ "enumerant" : "ForceOpacityMicromap2StateKHR",
|
||||
+ "aliases" : [ "ForceOpacityMicromap2StateEXT" ],
|
||||
"value" : "0x0400",
|
||||
- "capabilities" : [ "RayTracingOpacityMicromapEXT" ],
|
||||
+ "capabilities" : [ "RayTracingOpacityMicromapKHR" ],
|
||||
"version" : "None"
|
||||
}
|
||||
]
|
||||
@@ -13576,6 +13577,15 @@
|
||||
"capabilities" : [ "FloatControls2" ],
|
||||
"version" : "None"
|
||||
},
|
||||
+ {
|
||||
+ "enumerant" : "OpacityMicromapIdKHR",
|
||||
+ "value" : 6031,
|
||||
+ "capabilities" : [ "RayTracingOpacityMicromapExecutionModeKHR" ],
|
||||
+ "parameters" : [
|
||||
+ { "kind" : "IdRef", "name" : "Enable" }
|
||||
+ ],
|
||||
+ "version" : "None"
|
||||
+ },
|
||||
{
|
||||
"enumerant" : "StreamingInterfaceINTEL",
|
||||
"value" : 6154,
|
||||
@@ -18062,10 +18072,11 @@
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
- "enumerant" : "RayTracingOpacityMicromapEXT",
|
||||
+ "enumerant" : "RayTracingOpacityMicromapKHR",
|
||||
+ "aliases" : ["RayTracingOpacityMicromapEXT"],
|
||||
"value" : 5381,
|
||||
"capabilities" : [ "Shader" ],
|
||||
- "extensions" : [ "SPV_EXT_opacity_micromap" ],
|
||||
+ "extensions" : ["SPV_KHR_opacity_micromap", "SPV_EXT_opacity_micromap"],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
@@ -18542,6 +18553,13 @@
|
||||
"extensions" : [ "SPV_KHR_fma" ],
|
||||
"version" : "None"
|
||||
},
|
||||
+ {
|
||||
+ "enumerant" : "RayTracingOpacityMicromapExecutionModeKHR",
|
||||
+ "value" : 6032,
|
||||
+ "capabilities" : [ "Shader" ],
|
||||
+ "extensions" : [ "SPV_KHR_opacity_micromap" ],
|
||||
+ "version" : "None"
|
||||
+ },
|
||||
{
|
||||
"enumerant" : "AtomicFloat32AddEXT",
|
||||
"value" : 6033,
|
||||
diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs
|
||||
index b0a8f1e..4d33ffa 100644
|
||||
--- a/include/spirv/unified1/spirv.cs
|
||||
+++ b/include/spirv/unified1/spirv.cs
|
||||
@@ -205,6 +205,7 @@ namespace Spv
|
||||
SchedulerTargetFmaxMhzINTEL = 5903,
|
||||
MaximallyReconvergesKHR = 6023,
|
||||
FPFastMathDefault = 6028,
|
||||
+ OpacityMicromapIdKHR = 6031,
|
||||
StreamingInterfaceINTEL = 6154,
|
||||
RegisterMapInterfaceINTEL = 6160,
|
||||
NamedBarrierCountINTEL = 6417,
|
||||
@@ -1303,6 +1304,7 @@ namespace Spv
|
||||
DemoteToHelperInvocationEXT = 5379,
|
||||
DisplacementMicromapNV = 5380,
|
||||
RayTracingOpacityMicromapEXT = 5381,
|
||||
+ RayTracingOpacityMicromapKHR = 5381,
|
||||
ShaderInvocationReorderNV = 5383,
|
||||
ShaderInvocationReorderEXT = 5388,
|
||||
BindlessTextureNV = 5390,
|
||||
@@ -1397,6 +1399,7 @@ namespace Spv
|
||||
GroupNonUniformRotateKHR = 6026,
|
||||
FloatControls2 = 6029,
|
||||
FMAKHR = 6030,
|
||||
+ RayTracingOpacityMicromapExecutionModeKHR = 6032,
|
||||
AtomicFloat32AddEXT = 6033,
|
||||
AtomicFloat64AddEXT = 6034,
|
||||
LongCompositesINTEL = 6089,
|
||||
@@ -1458,6 +1461,7 @@ namespace Spv
|
||||
SkipTrianglesKHR = 8,
|
||||
SkipAABBsKHR = 9,
|
||||
ForceOpacityMicromap2StateEXT = 10,
|
||||
+ ForceOpacityMicromap2StateKHR = 10,
|
||||
Max = 0x7fffffff,
|
||||
}
|
||||
|
||||
@@ -1476,6 +1480,7 @@ namespace Spv
|
||||
SkipTrianglesKHR = 0x00000100,
|
||||
SkipAABBsKHR = 0x00000200,
|
||||
ForceOpacityMicromap2StateEXT = 0x00000400,
|
||||
+ ForceOpacityMicromap2StateKHR = 0x00000400,
|
||||
}
|
||||
|
||||
public enum RayQueryIntersection
|
||||
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
|
||||
index 4f76b90..d9dedc0 100644
|
||||
--- a/include/spirv/unified1/spirv.h
|
||||
+++ b/include/spirv/unified1/spirv.h
|
||||
@@ -209,6 +209,7 @@ typedef enum SpvExecutionMode_ {
|
||||
SpvExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
|
||||
SpvExecutionModeMaximallyReconvergesKHR = 6023,
|
||||
SpvExecutionModeFPFastMathDefault = 6028,
|
||||
+ SpvExecutionModeOpacityMicromapIdKHR = 6031,
|
||||
SpvExecutionModeStreamingInterfaceINTEL = 6154,
|
||||
SpvExecutionModeRegisterMapInterfaceINTEL = 6160,
|
||||
SpvExecutionModeNamedBarrierCountINTEL = 6417,
|
||||
@@ -1274,6 +1275,7 @@ typedef enum SpvCapability_ {
|
||||
SpvCapabilityDemoteToHelperInvocationEXT = 5379,
|
||||
SpvCapabilityDisplacementMicromapNV = 5380,
|
||||
SpvCapabilityRayTracingOpacityMicromapEXT = 5381,
|
||||
+ SpvCapabilityRayTracingOpacityMicromapKHR = 5381,
|
||||
SpvCapabilityShaderInvocationReorderNV = 5383,
|
||||
SpvCapabilityShaderInvocationReorderEXT = 5388,
|
||||
SpvCapabilityBindlessTextureNV = 5390,
|
||||
@@ -1368,6 +1370,7 @@ typedef enum SpvCapability_ {
|
||||
SpvCapabilityGroupNonUniformRotateKHR = 6026,
|
||||
SpvCapabilityFloatControls2 = 6029,
|
||||
SpvCapabilityFMAKHR = 6030,
|
||||
+ SpvCapabilityRayTracingOpacityMicromapExecutionModeKHR = 6032,
|
||||
SpvCapabilityAtomicFloat32AddEXT = 6033,
|
||||
SpvCapabilityAtomicFloat64AddEXT = 6034,
|
||||
SpvCapabilityLongCompositesINTEL = 6089,
|
||||
@@ -1428,6 +1431,7 @@ typedef enum SpvRayFlagsShift_ {
|
||||
SpvRayFlagsSkipTrianglesKHRShift = 8,
|
||||
SpvRayFlagsSkipAABBsKHRShift = 9,
|
||||
SpvRayFlagsForceOpacityMicromap2StateEXTShift = 10,
|
||||
+ SpvRayFlagsForceOpacityMicromap2StateKHRShift = 10,
|
||||
SpvRayFlagsMax = 0x7fffffff,
|
||||
} SpvRayFlagsShift;
|
||||
|
||||
@@ -1445,6 +1449,7 @@ typedef enum SpvRayFlagsMask_ {
|
||||
SpvRayFlagsSkipTrianglesKHRMask = 0x00000100,
|
||||
SpvRayFlagsSkipAABBsKHRMask = 0x00000200,
|
||||
SpvRayFlagsForceOpacityMicromap2StateEXTMask = 0x00000400,
|
||||
+ SpvRayFlagsForceOpacityMicromap2StateKHRMask = 0x00000400,
|
||||
} SpvRayFlagsMask;
|
||||
|
||||
typedef enum SpvRayQueryIntersection_ {
|
||||
@@ -3696,6 +3701,7 @@ inline const char* SpvExecutionModeToString(SpvExecutionMode value) {
|
||||
case SpvExecutionModeSchedulerTargetFmaxMhzINTEL: return "SchedulerTargetFmaxMhzINTEL";
|
||||
case SpvExecutionModeMaximallyReconvergesKHR: return "MaximallyReconvergesKHR";
|
||||
case SpvExecutionModeFPFastMathDefault: return "FPFastMathDefault";
|
||||
+ case SpvExecutionModeOpacityMicromapIdKHR: return "OpacityMicromapIdKHR";
|
||||
case SpvExecutionModeStreamingInterfaceINTEL: return "StreamingInterfaceINTEL";
|
||||
case SpvExecutionModeRegisterMapInterfaceINTEL: return "RegisterMapInterfaceINTEL";
|
||||
case SpvExecutionModeNamedBarrierCountINTEL: return "NamedBarrierCountINTEL";
|
||||
@@ -4505,6 +4511,7 @@ inline const char* SpvCapabilityToString(SpvCapability value) {
|
||||
case SpvCapabilityGroupNonUniformRotateKHR: return "GroupNonUniformRotateKHR";
|
||||
case SpvCapabilityFloatControls2: return "FloatControls2";
|
||||
case SpvCapabilityFMAKHR: return "FMAKHR";
|
||||
+ case SpvCapabilityRayTracingOpacityMicromapExecutionModeKHR: return "RayTracingOpacityMicromapExecutionModeKHR";
|
||||
case SpvCapabilityAtomicFloat32AddEXT: return "AtomicFloat32AddEXT";
|
||||
case SpvCapabilityAtomicFloat64AddEXT: return "AtomicFloat64AddEXT";
|
||||
case SpvCapabilityLongCompositesINTEL: return "LongCompositesINTEL";
|
||||
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
|
||||
index fd64eb7..d0a1606 100644
|
||||
--- a/include/spirv/unified1/spirv.hpp
|
||||
+++ b/include/spirv/unified1/spirv.hpp
|
||||
@@ -205,6 +205,7 @@ enum ExecutionMode {
|
||||
ExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
|
||||
ExecutionModeMaximallyReconvergesKHR = 6023,
|
||||
ExecutionModeFPFastMathDefault = 6028,
|
||||
+ ExecutionModeOpacityMicromapIdKHR = 6031,
|
||||
ExecutionModeStreamingInterfaceINTEL = 6154,
|
||||
ExecutionModeRegisterMapInterfaceINTEL = 6160,
|
||||
ExecutionModeNamedBarrierCountINTEL = 6417,
|
||||
@@ -1270,6 +1271,7 @@ enum Capability {
|
||||
CapabilityDemoteToHelperInvocationEXT = 5379,
|
||||
CapabilityDisplacementMicromapNV = 5380,
|
||||
CapabilityRayTracingOpacityMicromapEXT = 5381,
|
||||
+ CapabilityRayTracingOpacityMicromapKHR = 5381,
|
||||
CapabilityShaderInvocationReorderNV = 5383,
|
||||
CapabilityShaderInvocationReorderEXT = 5388,
|
||||
CapabilityBindlessTextureNV = 5390,
|
||||
@@ -1364,6 +1366,7 @@ enum Capability {
|
||||
CapabilityGroupNonUniformRotateKHR = 6026,
|
||||
CapabilityFloatControls2 = 6029,
|
||||
CapabilityFMAKHR = 6030,
|
||||
+ CapabilityRayTracingOpacityMicromapExecutionModeKHR = 6032,
|
||||
CapabilityAtomicFloat32AddEXT = 6033,
|
||||
CapabilityAtomicFloat64AddEXT = 6034,
|
||||
CapabilityLongCompositesINTEL = 6089,
|
||||
@@ -1424,6 +1427,7 @@ enum RayFlagsShift {
|
||||
RayFlagsSkipTrianglesKHRShift = 8,
|
||||
RayFlagsSkipAABBsKHRShift = 9,
|
||||
RayFlagsForceOpacityMicromap2StateEXTShift = 10,
|
||||
+ RayFlagsForceOpacityMicromap2StateKHRShift = 10,
|
||||
RayFlagsMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@@ -1441,6 +1445,7 @@ enum RayFlagsMask {
|
||||
RayFlagsSkipTrianglesKHRMask = 0x00000100,
|
||||
RayFlagsSkipAABBsKHRMask = 0x00000200,
|
||||
RayFlagsForceOpacityMicromap2StateEXTMask = 0x00000400,
|
||||
+ RayFlagsForceOpacityMicromap2StateKHRMask = 0x00000400,
|
||||
};
|
||||
|
||||
enum RayQueryIntersection {
|
||||
@@ -3692,6 +3697,7 @@ inline const char* ExecutionModeToString(ExecutionMode value) {
|
||||
case ExecutionModeSchedulerTargetFmaxMhzINTEL: return "SchedulerTargetFmaxMhzINTEL";
|
||||
case ExecutionModeMaximallyReconvergesKHR: return "MaximallyReconvergesKHR";
|
||||
case ExecutionModeFPFastMathDefault: return "FPFastMathDefault";
|
||||
+ case ExecutionModeOpacityMicromapIdKHR: return "OpacityMicromapIdKHR";
|
||||
case ExecutionModeStreamingInterfaceINTEL: return "StreamingInterfaceINTEL";
|
||||
case ExecutionModeRegisterMapInterfaceINTEL: return "RegisterMapInterfaceINTEL";
|
||||
case ExecutionModeNamedBarrierCountINTEL: return "NamedBarrierCountINTEL";
|
||||
@@ -4501,6 +4507,7 @@ inline const char* CapabilityToString(Capability value) {
|
||||
case CapabilityGroupNonUniformRotateKHR: return "GroupNonUniformRotateKHR";
|
||||
case CapabilityFloatControls2: return "FloatControls2";
|
||||
case CapabilityFMAKHR: return "FMAKHR";
|
||||
+ case CapabilityRayTracingOpacityMicromapExecutionModeKHR: return "RayTracingOpacityMicromapExecutionModeKHR";
|
||||
case CapabilityAtomicFloat32AddEXT: return "AtomicFloat32AddEXT";
|
||||
case CapabilityAtomicFloat64AddEXT: return "AtomicFloat64AddEXT";
|
||||
case CapabilityLongCompositesINTEL: return "LongCompositesINTEL";
|
||||
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
|
||||
index 4e626c9..fb5d724 100644
|
||||
--- a/include/spirv/unified1/spirv.hpp11
|
||||
+++ b/include/spirv/unified1/spirv.hpp11
|
||||
@@ -205,6 +205,7 @@ enum class ExecutionMode : unsigned {
|
||||
SchedulerTargetFmaxMhzINTEL = 5903,
|
||||
MaximallyReconvergesKHR = 6023,
|
||||
FPFastMathDefault = 6028,
|
||||
+ OpacityMicromapIdKHR = 6031,
|
||||
StreamingInterfaceINTEL = 6154,
|
||||
RegisterMapInterfaceINTEL = 6160,
|
||||
NamedBarrierCountINTEL = 6417,
|
||||
@@ -1270,6 +1271,7 @@ enum class Capability : unsigned {
|
||||
DemoteToHelperInvocationEXT = 5379,
|
||||
DisplacementMicromapNV = 5380,
|
||||
RayTracingOpacityMicromapEXT = 5381,
|
||||
+ RayTracingOpacityMicromapKHR = 5381,
|
||||
ShaderInvocationReorderNV = 5383,
|
||||
ShaderInvocationReorderEXT = 5388,
|
||||
BindlessTextureNV = 5390,
|
||||
@@ -1364,6 +1366,7 @@ enum class Capability : unsigned {
|
||||
GroupNonUniformRotateKHR = 6026,
|
||||
FloatControls2 = 6029,
|
||||
FMAKHR = 6030,
|
||||
+ RayTracingOpacityMicromapExecutionModeKHR = 6032,
|
||||
AtomicFloat32AddEXT = 6033,
|
||||
AtomicFloat64AddEXT = 6034,
|
||||
LongCompositesINTEL = 6089,
|
||||
@@ -1424,6 +1427,7 @@ enum class RayFlagsShift : unsigned {
|
||||
SkipTrianglesKHR = 8,
|
||||
SkipAABBsKHR = 9,
|
||||
ForceOpacityMicromap2StateEXT = 10,
|
||||
+ ForceOpacityMicromap2StateKHR = 10,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
@@ -1441,6 +1445,7 @@ enum class RayFlagsMask : unsigned {
|
||||
SkipTrianglesKHR = 0x00000100,
|
||||
SkipAABBsKHR = 0x00000200,
|
||||
ForceOpacityMicromap2StateEXT = 0x00000400,
|
||||
+ ForceOpacityMicromap2StateKHR = 0x00000400,
|
||||
};
|
||||
|
||||
enum class RayQueryIntersection : unsigned {
|
||||
@@ -3692,6 +3697,7 @@ inline const char* ExecutionModeToString(ExecutionMode value) {
|
||||
case ExecutionMode::SchedulerTargetFmaxMhzINTEL: return "SchedulerTargetFmaxMhzINTEL";
|
||||
case ExecutionMode::MaximallyReconvergesKHR: return "MaximallyReconvergesKHR";
|
||||
case ExecutionMode::FPFastMathDefault: return "FPFastMathDefault";
|
||||
+ case ExecutionMode::OpacityMicromapIdKHR: return "OpacityMicromapIdKHR";
|
||||
case ExecutionMode::StreamingInterfaceINTEL: return "StreamingInterfaceINTEL";
|
||||
case ExecutionMode::RegisterMapInterfaceINTEL: return "RegisterMapInterfaceINTEL";
|
||||
case ExecutionMode::NamedBarrierCountINTEL: return "NamedBarrierCountINTEL";
|
||||
@@ -4501,6 +4507,7 @@ inline const char* CapabilityToString(Capability value) {
|
||||
case Capability::GroupNonUniformRotateKHR: return "GroupNonUniformRotateKHR";
|
||||
case Capability::FloatControls2: return "FloatControls2";
|
||||
case Capability::FMAKHR: return "FMAKHR";
|
||||
+ case Capability::RayTracingOpacityMicromapExecutionModeKHR: return "RayTracingOpacityMicromapExecutionModeKHR";
|
||||
case Capability::AtomicFloat32AddEXT: return "AtomicFloat32AddEXT";
|
||||
case Capability::AtomicFloat64AddEXT: return "AtomicFloat64AddEXT";
|
||||
case Capability::LongCompositesINTEL: return "LongCompositesINTEL";
|
||||
diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json
|
||||
index 135663c..af571b5 100644
|
||||
--- a/include/spirv/unified1/spirv.json
|
||||
+++ b/include/spirv/unified1/spirv.json
|
||||
@@ -224,6 +224,7 @@
|
||||
"SchedulerTargetFmaxMhzINTEL": 5903,
|
||||
"MaximallyReconvergesKHR": 6023,
|
||||
"FPFastMathDefault": 6028,
|
||||
+ "OpacityMicromapIdKHR": 6031,
|
||||
"StreamingInterfaceINTEL": 6154,
|
||||
"RegisterMapInterfaceINTEL": 6160,
|
||||
"NamedBarrierCountINTEL": 6417,
|
||||
@@ -1236,6 +1237,7 @@
|
||||
"DemoteToHelperInvocationEXT": 5379,
|
||||
"DisplacementMicromapNV": 5380,
|
||||
"RayTracingOpacityMicromapEXT": 5381,
|
||||
+ "RayTracingOpacityMicromapKHR": 5381,
|
||||
"ShaderInvocationReorderNV": 5383,
|
||||
"ShaderInvocationReorderEXT": 5388,
|
||||
"BindlessTextureNV": 5390,
|
||||
@@ -1330,6 +1332,7 @@
|
||||
"GroupNonUniformRotateKHR": 6026,
|
||||
"FloatControls2": 6029,
|
||||
"FMAKHR": 6030,
|
||||
+ "RayTracingOpacityMicromapExecutionModeKHR": 6032,
|
||||
"AtomicFloat32AddEXT": 6033,
|
||||
"AtomicFloat64AddEXT": 6034,
|
||||
"LongCompositesINTEL": 6089,
|
||||
@@ -1392,7 +1395,8 @@
|
||||
"SkipBuiltinPrimitivesNV": 8,
|
||||
"SkipTrianglesKHR": 8,
|
||||
"SkipAABBsKHR": 9,
|
||||
- "ForceOpacityMicromap2StateEXT": 10
|
||||
+ "ForceOpacityMicromap2StateEXT": 10,
|
||||
+ "ForceOpacityMicromap2StateKHR": 10
|
||||
}
|
||||
},
|
||||
{
|
||||
diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua
|
||||
index 8cbe093..f3da312 100644
|
||||
--- a/include/spirv/unified1/spirv.lua
|
||||
+++ b/include/spirv/unified1/spirv.lua
|
||||
@@ -196,6 +196,7 @@ spv = {
|
||||
SchedulerTargetFmaxMhzINTEL = 5903,
|
||||
MaximallyReconvergesKHR = 6023,
|
||||
FPFastMathDefault = 6028,
|
||||
+ OpacityMicromapIdKHR = 6031,
|
||||
StreamingInterfaceINTEL = 6154,
|
||||
RegisterMapInterfaceINTEL = 6160,
|
||||
NamedBarrierCountINTEL = 6417,
|
||||
@@ -1261,6 +1262,7 @@ spv = {
|
||||
DemoteToHelperInvocationEXT = 5379,
|
||||
DisplacementMicromapNV = 5380,
|
||||
RayTracingOpacityMicromapEXT = 5381,
|
||||
+ RayTracingOpacityMicromapKHR = 5381,
|
||||
ShaderInvocationReorderNV = 5383,
|
||||
ShaderInvocationReorderEXT = 5388,
|
||||
BindlessTextureNV = 5390,
|
||||
@@ -1355,6 +1357,7 @@ spv = {
|
||||
GroupNonUniformRotateKHR = 6026,
|
||||
FloatControls2 = 6029,
|
||||
FMAKHR = 6030,
|
||||
+ RayTracingOpacityMicromapExecutionModeKHR = 6032,
|
||||
AtomicFloat32AddEXT = 6033,
|
||||
AtomicFloat64AddEXT = 6034,
|
||||
LongCompositesINTEL = 6089,
|
||||
@@ -1415,6 +1418,7 @@ spv = {
|
||||
SkipTrianglesKHR = 8,
|
||||
SkipAABBsKHR = 9,
|
||||
ForceOpacityMicromap2StateEXT = 10,
|
||||
+ ForceOpacityMicromap2StateKHR = 10,
|
||||
Max = 0x7fffffff,
|
||||
},
|
||||
|
||||
@@ -1432,6 +1436,7 @@ spv = {
|
||||
SkipTrianglesKHR = 0x00000100,
|
||||
SkipAABBsKHR = 0x00000200,
|
||||
ForceOpacityMicromap2StateEXT = 0x00000400,
|
||||
+ ForceOpacityMicromap2StateKHR = 0x00000400,
|
||||
},
|
||||
|
||||
RayQueryIntersection = {
|
||||
diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py
|
||||
index bb65ae9..88e5cbc 100644
|
||||
--- a/include/spirv/unified1/spirv.py
|
||||
+++ b/include/spirv/unified1/spirv.py
|
||||
@@ -192,6 +192,7 @@ spv = {
|
||||
'SchedulerTargetFmaxMhzINTEL' : 5903,
|
||||
'MaximallyReconvergesKHR' : 6023,
|
||||
'FPFastMathDefault' : 6028,
|
||||
+ 'OpacityMicromapIdKHR' : 6031,
|
||||
'StreamingInterfaceINTEL' : 6154,
|
||||
'RegisterMapInterfaceINTEL' : 6160,
|
||||
'NamedBarrierCountINTEL' : 6417,
|
||||
@@ -1232,6 +1233,7 @@ spv = {
|
||||
'DemoteToHelperInvocationEXT' : 5379,
|
||||
'DisplacementMicromapNV' : 5380,
|
||||
'RayTracingOpacityMicromapEXT' : 5381,
|
||||
+ 'RayTracingOpacityMicromapKHR' : 5381,
|
||||
'ShaderInvocationReorderNV' : 5383,
|
||||
'ShaderInvocationReorderEXT' : 5388,
|
||||
'BindlessTextureNV' : 5390,
|
||||
@@ -1326,6 +1328,7 @@ spv = {
|
||||
'GroupNonUniformRotateKHR' : 6026,
|
||||
'FloatControls2' : 6029,
|
||||
'FMAKHR' : 6030,
|
||||
+ 'RayTracingOpacityMicromapExecutionModeKHR' : 6032,
|
||||
'AtomicFloat32AddEXT' : 6033,
|
||||
'AtomicFloat64AddEXT' : 6034,
|
||||
'LongCompositesINTEL' : 6089,
|
||||
@@ -1385,6 +1388,7 @@ spv = {
|
||||
'SkipTrianglesKHR' : 8,
|
||||
'SkipAABBsKHR' : 9,
|
||||
'ForceOpacityMicromap2StateEXT' : 10,
|
||||
+ 'ForceOpacityMicromap2StateKHR' : 10,
|
||||
},
|
||||
|
||||
'RayFlagsMask' : {
|
||||
@@ -1401,6 +1405,7 @@ spv = {
|
||||
'SkipTrianglesKHR' : 0x00000100,
|
||||
'SkipAABBsKHR' : 0x00000200,
|
||||
'ForceOpacityMicromap2StateEXT' : 0x00000400,
|
||||
+ 'ForceOpacityMicromap2StateKHR' : 0x00000400,
|
||||
},
|
||||
|
||||
'RayQueryIntersection' : {
|
||||
diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d
|
||||
index 8d31fee..aab392c 100644
|
||||
--- a/include/spirv/unified1/spv.d
|
||||
+++ b/include/spirv/unified1/spv.d
|
||||
@@ -208,6 +208,7 @@ enum ExecutionMode : uint
|
||||
SchedulerTargetFmaxMhzINTEL = 5903,
|
||||
MaximallyReconvergesKHR = 6023,
|
||||
FPFastMathDefault = 6028,
|
||||
+ OpacityMicromapIdKHR = 6031,
|
||||
StreamingInterfaceINTEL = 6154,
|
||||
RegisterMapInterfaceINTEL = 6160,
|
||||
NamedBarrierCountINTEL = 6417,
|
||||
@@ -1306,6 +1307,7 @@ enum Capability : uint
|
||||
DemoteToHelperInvocationEXT = 5379,
|
||||
DisplacementMicromapNV = 5380,
|
||||
RayTracingOpacityMicromapEXT = 5381,
|
||||
+ RayTracingOpacityMicromapKHR = 5381,
|
||||
ShaderInvocationReorderNV = 5383,
|
||||
ShaderInvocationReorderEXT = 5388,
|
||||
BindlessTextureNV = 5390,
|
||||
@@ -1400,6 +1402,7 @@ enum Capability : uint
|
||||
GroupNonUniformRotateKHR = 6026,
|
||||
FloatControls2 = 6029,
|
||||
FMAKHR = 6030,
|
||||
+ RayTracingOpacityMicromapExecutionModeKHR = 6032,
|
||||
AtomicFloat32AddEXT = 6033,
|
||||
AtomicFloat64AddEXT = 6034,
|
||||
LongCompositesINTEL = 6089,
|
||||
@@ -1461,6 +1464,7 @@ enum RayFlagsShift : uint
|
||||
SkipTrianglesKHR = 8,
|
||||
SkipAABBsKHR = 9,
|
||||
ForceOpacityMicromap2StateEXT = 10,
|
||||
+ ForceOpacityMicromap2StateKHR = 10,
|
||||
Max = 0x7fffffff,
|
||||
}
|
||||
|
||||
@@ -1479,6 +1483,7 @@ enum RayFlagsMask : uint
|
||||
SkipTrianglesKHR = 0x00000100,
|
||||
SkipAABBsKHR = 0x00000200,
|
||||
ForceOpacityMicromap2StateEXT = 0x00000400,
|
||||
+ ForceOpacityMicromap2StateKHR = 0x00000400,
|
||||
}
|
||||
|
||||
enum RayQueryIntersection : uint
|
||||
--
|
||||
2.54.0
|
||||
|
||||
+128
@@ -0,0 +1,128 @@
|
||||
From 3541d11cabd489bfa898ce2da631efab9870979b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?K=C3=A9vin=20Petit?= <kevin.petit@arm.com>
|
||||
Date: Wed, 13 May 2026 16:59:08 +0100
|
||||
Subject: [PATCH 12/26] Add NonSemanticGraphDebugInfo instruction set (#591)
|
||||
|
||||
Change-Id: Ibd080a73abc630fbd2b3068f9c22ab8c0e01c806
|
||||
|
||||
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
|
||||
---
|
||||
BUILD.bazel | 6 ++++
|
||||
.../unified1/NonSemanticGraphDebugInfo.h | 28 +++++++++++++++
|
||||
...t.nonsemantic.graph.debuginfo.grammar.json | 35 +++++++++++++++++++
|
||||
tools/buildHeaders/bin/makeExtinstHeaders.py | 1 +
|
||||
4 files changed, 70 insertions(+)
|
||||
create mode 100644 include/spirv/unified1/NonSemanticGraphDebugInfo.h
|
||||
create mode 100644 include/spirv/unified1/extinst.nonsemantic.graph.debuginfo.grammar.json
|
||||
|
||||
diff --git a/BUILD.bazel b/BUILD.bazel
|
||||
index badf2c1..61ef7e8 100644
|
||||
--- a/BUILD.bazel
|
||||
+++ b/BUILD.bazel
|
||||
@@ -138,6 +138,11 @@ filegroup(
|
||||
srcs = ["include/spirv/unified1/extinst.arm.motion-engine.100.grammar.json"],
|
||||
)
|
||||
|
||||
+filegroup(
|
||||
+ name = "spirv_ext_inst_non_semantic_graph_debuginfo_grammar_unified1",
|
||||
+ srcs = ["include/spirv/unified1/extinst.nonsemantic.graph.debuginfo.grammar.json"],
|
||||
+)
|
||||
+
|
||||
cc_library(
|
||||
name = "spirv_common_headers",
|
||||
hdrs = [
|
||||
@@ -152,6 +157,7 @@ cc_library(
|
||||
"include/spirv/unified1/NonSemanticClspvReflection.h",
|
||||
"include/spirv/unified1/NonSemanticDebugBreak.h",
|
||||
"include/spirv/unified1/NonSemanticDebugPrintf.h",
|
||||
+ "include/spirv/unified1/NonSemanticGraphDebugInfo.h",
|
||||
"include/spirv/unified1/NonSemanticShaderDebugInfo.h",
|
||||
"include/spirv/unified1/NonSemanticShaderDebugInfo100.h",
|
||||
"include/spirv/unified1/NonSemanticVkspReflection.h",
|
||||
diff --git a/include/spirv/unified1/NonSemanticGraphDebugInfo.h b/include/spirv/unified1/NonSemanticGraphDebugInfo.h
|
||||
new file mode 100644
|
||||
index 0000000..3046842
|
||||
--- /dev/null
|
||||
+++ b/include/spirv/unified1/NonSemanticGraphDebugInfo.h
|
||||
@@ -0,0 +1,28 @@
|
||||
+// SPDX-FileCopyrightText: 2022-2026 Arm Ltd.
|
||||
+// SPDX-License-Identifier: MIT
|
||||
+
|
||||
+#ifndef SPIRV_UNIFIED1_NonSemanticGraphDebugInfo_H_
|
||||
+#define SPIRV_UNIFIED1_NonSemanticGraphDebugInfo_H_
|
||||
+
|
||||
+#ifdef __cplusplus
|
||||
+extern "C" {
|
||||
+#endif
|
||||
+
|
||||
+enum {
|
||||
+ NonSemanticGraphDebugInfoRevision = 1,
|
||||
+ NonSemanticGraphDebugInfoRevision_BitWidthPadding = 0x7fffffff
|
||||
+};
|
||||
+
|
||||
+enum NonSemanticGraphDebugInfoInstructions {
|
||||
+ NonSemanticGraphDebugInfoDebugGraph = 1,
|
||||
+ NonSemanticGraphDebugInfoDebugOperation = 2,
|
||||
+ NonSemanticGraphDebugInfoDebugTensor = 3,
|
||||
+ NonSemanticGraphDebugInfoInstructionsMax = 0x7fffffff
|
||||
+};
|
||||
+
|
||||
+
|
||||
+#ifdef __cplusplus
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+#endif // SPIRV_UNIFIED1_NonSemanticGraphDebugInfo_H_
|
||||
diff --git a/include/spirv/unified1/extinst.nonsemantic.graph.debuginfo.grammar.json b/include/spirv/unified1/extinst.nonsemantic.graph.debuginfo.grammar.json
|
||||
new file mode 100644
|
||||
index 0000000..b740775
|
||||
--- /dev/null
|
||||
+++ b/include/spirv/unified1/extinst.nonsemantic.graph.debuginfo.grammar.json
|
||||
@@ -0,0 +1,35 @@
|
||||
+{
|
||||
+ "copyright": [
|
||||
+ "SPDX-FileCopyrightText: 2022-2026 Arm Ltd.",
|
||||
+ "SPDX-License-Identifier: MIT"
|
||||
+ ],
|
||||
+ "revision" : 1,
|
||||
+ "instructions" : [
|
||||
+ {
|
||||
+ "opname" : "DebugGraph",
|
||||
+ "opcode" : 1,
|
||||
+ "operands" : [
|
||||
+ { "kind" : "IdRef", "name" : "Graph" },
|
||||
+ { "kind" : "IdRef", "name" : "Name" }
|
||||
+ ]
|
||||
+ },
|
||||
+ {
|
||||
+ "opname" : "DebugOperation",
|
||||
+ "opcode" : 2,
|
||||
+ "operands" : [
|
||||
+ { "kind" : "IdRef", "name" : "DebugGraph" },
|
||||
+ { "kind" : "IdRef", "name" : "Name" },
|
||||
+ { "kind" : "IdRef", "name" : "Instructions", "quantifier" : "*" }
|
||||
+ ]
|
||||
+ },
|
||||
+ {
|
||||
+ "opname" : "DebugTensor",
|
||||
+ "opcode" : 3,
|
||||
+ "operands" : [
|
||||
+ { "kind" : "IdRef", "name" : "Tensor" },
|
||||
+ { "kind" : "IdRef", "name" : "Name" },
|
||||
+ { "kind" : "IdRef", "name" : "Index", "quantifier" : "?" }
|
||||
+ ]
|
||||
+ }
|
||||
+ ]
|
||||
+}
|
||||
diff --git a/tools/buildHeaders/bin/makeExtinstHeaders.py b/tools/buildHeaders/bin/makeExtinstHeaders.py
|
||||
index e5fd640..1c9fbfd 100755
|
||||
--- a/tools/buildHeaders/bin/makeExtinstHeaders.py
|
||||
+++ b/tools/buildHeaders/bin/makeExtinstHeaders.py
|
||||
@@ -31,3 +31,4 @@ mk_extinst('NonSemanticDebugBreak', 'extinst.nonsemantic.debugbreak.grammar.json
|
||||
mk_extinst('NonSemanticVkspReflection', 'extinst.nonsemantic.vkspreflection.grammar.json')
|
||||
mk_extinst('TOSA', 'extinst.tosa.001000.1.grammar.json', 'TOSA.001000.1')
|
||||
mk_extinst('ArmMotionEngine', 'extinst.arm.motion-engine.100.grammar.json', 'ArmMotionEngine.100')
|
||||
+mk_extinst('NonSemanticGraphDebugInfo', 'extinst.nonsemantic.graph.debuginfo.grammar.json')
|
||||
--
|
||||
2.54.0
|
||||
|
||||
+282
@@ -0,0 +1,282 @@
|
||||
From 82dfca37143878c848d8df1f9e4d746f65e6827e Mon Sep 17 00:00:00 2001
|
||||
From: Faith Ekstrand <faith.ekstrand@collabora.com>
|
||||
Date: Wed, 13 May 2026 12:00:42 -0400
|
||||
Subject: [PATCH 13/26] Revert "Add SPV_MESA_fragment_coverage_mask enumerants
|
||||
(#580)" (#598)
|
||||
|
||||
This reverts commit 157de8e260e9362225c0ce9a6675d034968abe15.
|
||||
---
|
||||
include/spirv/unified1/spirv.bf | 2 --
|
||||
include/spirv/unified1/spirv.core.grammar.json | 13 -------------
|
||||
include/spirv/unified1/spirv.cs | 2 --
|
||||
include/spirv/unified1/spirv.h | 4 ----
|
||||
include/spirv/unified1/spirv.hpp | 4 ----
|
||||
include/spirv/unified1/spirv.hpp11 | 4 ----
|
||||
include/spirv/unified1/spirv.json | 2 --
|
||||
include/spirv/unified1/spirv.lua | 2 --
|
||||
include/spirv/unified1/spirv.py | 2 --
|
||||
include/spirv/unified1/spv.d | 2 --
|
||||
10 files changed, 37 deletions(-)
|
||||
|
||||
diff --git a/include/spirv/unified1/spirv.bf b/include/spirv/unified1/spirv.bf
|
||||
index a512a3e..119ea89 100644
|
||||
--- a/include/spirv/unified1/spirv.bf
|
||||
+++ b/include/spirv/unified1/spirv.bf
|
||||
@@ -759,7 +759,6 @@ namespace Spv
|
||||
SubgroupLocalInvocationId = 41,
|
||||
VertexIndex = 42,
|
||||
InstanceIndex = 43,
|
||||
- FragmentCoverageMaskMESA = 4096,
|
||||
CoreIDARM = 4160,
|
||||
CoreCountARM = 4161,
|
||||
CoreMaxIDARM = 4162,
|
||||
@@ -1172,7 +1171,6 @@ namespace Spv
|
||||
ShaderLayer = 69,
|
||||
ShaderViewportIndex = 70,
|
||||
UniformDecoration = 71,
|
||||
- FragmentCoverageMESA = 4097,
|
||||
CoreBuiltinsARM = 4165,
|
||||
TileImageColorReadAccessEXT = 4166,
|
||||
TileImageDepthReadAccessEXT = 4167,
|
||||
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
|
||||
index 32a350a..0f1b083 100644
|
||||
--- a/include/spirv/unified1/spirv.core.grammar.json
|
||||
+++ b/include/spirv/unified1/spirv.core.grammar.json
|
||||
@@ -16185,12 +16185,6 @@
|
||||
"capabilities" : [ "Shader" ],
|
||||
"version": "1.0"
|
||||
},
|
||||
- {
|
||||
- "enumerant" : "FragmentCoverageMaskMESA",
|
||||
- "value" : 4096,
|
||||
- "capabilities" : [ "FragmentCoverageMESA" ],
|
||||
- "version" : "None"
|
||||
- },
|
||||
{
|
||||
"enumerant" : "CoreIDARM",
|
||||
"value" : 4160,
|
||||
@@ -17330,13 +17324,6 @@
|
||||
"value" : 71,
|
||||
"version" : "1.6"
|
||||
},
|
||||
- {
|
||||
- "enumerant" : "FragmentCoverageMESA",
|
||||
- "value" : 4097,
|
||||
- "capabilities" : [ "Shader" ],
|
||||
- "extensions" : [ "SPV_MESA_fragment_coverage_mask" ],
|
||||
- "version" : "None"
|
||||
- },
|
||||
{
|
||||
"enumerant" : "CoreBuiltinsARM",
|
||||
"value" : 4165,
|
||||
diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs
|
||||
index 4d33ffa..7f66ede 100644
|
||||
--- a/include/spirv/unified1/spirv.cs
|
||||
+++ b/include/spirv/unified1/spirv.cs
|
||||
@@ -758,7 +758,6 @@ namespace Spv
|
||||
SubgroupLocalInvocationId = 41,
|
||||
VertexIndex = 42,
|
||||
InstanceIndex = 43,
|
||||
- FragmentCoverageMaskMESA = 4096,
|
||||
CoreIDARM = 4160,
|
||||
CoreCountARM = 4161,
|
||||
CoreMaxIDARM = 4162,
|
||||
@@ -1171,7 +1170,6 @@ namespace Spv
|
||||
ShaderLayer = 69,
|
||||
ShaderViewportIndex = 70,
|
||||
UniformDecoration = 71,
|
||||
- FragmentCoverageMESA = 4097,
|
||||
CoreBuiltinsARM = 4165,
|
||||
TileImageColorReadAccessEXT = 4166,
|
||||
TileImageDepthReadAccessEXT = 4167,
|
||||
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
|
||||
index d9dedc0..99b983c 100644
|
||||
--- a/include/spirv/unified1/spirv.h
|
||||
+++ b/include/spirv/unified1/spirv.h
|
||||
@@ -745,7 +745,6 @@ typedef enum SpvBuiltIn_ {
|
||||
SpvBuiltInSubgroupLocalInvocationId = 41,
|
||||
SpvBuiltInVertexIndex = 42,
|
||||
SpvBuiltInInstanceIndex = 43,
|
||||
- SpvBuiltInFragmentCoverageMaskMESA = 4096,
|
||||
SpvBuiltInCoreIDARM = 4160,
|
||||
SpvBuiltInCoreCountARM = 4161,
|
||||
SpvBuiltInCoreMaxIDARM = 4162,
|
||||
@@ -1142,7 +1141,6 @@ typedef enum SpvCapability_ {
|
||||
SpvCapabilityShaderLayer = 69,
|
||||
SpvCapabilityShaderViewportIndex = 70,
|
||||
SpvCapabilityUniformDecoration = 71,
|
||||
- SpvCapabilityFragmentCoverageMESA = 4097,
|
||||
SpvCapabilityCoreBuiltinsARM = 4165,
|
||||
SpvCapabilityTileImageColorReadAccessEXT = 4166,
|
||||
SpvCapabilityTileImageDepthReadAccessEXT = 4167,
|
||||
@@ -4129,7 +4127,6 @@ inline const char* SpvBuiltInToString(SpvBuiltIn value) {
|
||||
case SpvBuiltInSubgroupLocalInvocationId: return "SubgroupLocalInvocationId";
|
||||
case SpvBuiltInVertexIndex: return "VertexIndex";
|
||||
case SpvBuiltInInstanceIndex: return "InstanceIndex";
|
||||
- case SpvBuiltInFragmentCoverageMaskMESA: return "FragmentCoverageMaskMESA";
|
||||
case SpvBuiltInCoreIDARM: return "CoreIDARM";
|
||||
case SpvBuiltInCoreCountARM: return "CoreCountARM";
|
||||
case SpvBuiltInCoreMaxIDARM: return "CoreMaxIDARM";
|
||||
@@ -4328,7 +4325,6 @@ inline const char* SpvCapabilityToString(SpvCapability value) {
|
||||
case SpvCapabilityShaderLayer: return "ShaderLayer";
|
||||
case SpvCapabilityShaderViewportIndex: return "ShaderViewportIndex";
|
||||
case SpvCapabilityUniformDecoration: return "UniformDecoration";
|
||||
- case SpvCapabilityFragmentCoverageMESA: return "FragmentCoverageMESA";
|
||||
case SpvCapabilityCoreBuiltinsARM: return "CoreBuiltinsARM";
|
||||
case SpvCapabilityTileImageColorReadAccessEXT: return "TileImageColorReadAccessEXT";
|
||||
case SpvCapabilityTileImageDepthReadAccessEXT: return "TileImageDepthReadAccessEXT";
|
||||
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
|
||||
index d0a1606..966be25 100644
|
||||
--- a/include/spirv/unified1/spirv.hpp
|
||||
+++ b/include/spirv/unified1/spirv.hpp
|
||||
@@ -741,7 +741,6 @@ enum BuiltIn {
|
||||
BuiltInSubgroupLocalInvocationId = 41,
|
||||
BuiltInVertexIndex = 42,
|
||||
BuiltInInstanceIndex = 43,
|
||||
- BuiltInFragmentCoverageMaskMESA = 4096,
|
||||
BuiltInCoreIDARM = 4160,
|
||||
BuiltInCoreCountARM = 4161,
|
||||
BuiltInCoreMaxIDARM = 4162,
|
||||
@@ -1138,7 +1137,6 @@ enum Capability {
|
||||
CapabilityShaderLayer = 69,
|
||||
CapabilityShaderViewportIndex = 70,
|
||||
CapabilityUniformDecoration = 71,
|
||||
- CapabilityFragmentCoverageMESA = 4097,
|
||||
CapabilityCoreBuiltinsARM = 4165,
|
||||
CapabilityTileImageColorReadAccessEXT = 4166,
|
||||
CapabilityTileImageDepthReadAccessEXT = 4167,
|
||||
@@ -4125,7 +4123,6 @@ inline const char* BuiltInToString(BuiltIn value) {
|
||||
case BuiltInSubgroupLocalInvocationId: return "SubgroupLocalInvocationId";
|
||||
case BuiltInVertexIndex: return "VertexIndex";
|
||||
case BuiltInInstanceIndex: return "InstanceIndex";
|
||||
- case BuiltInFragmentCoverageMaskMESA: return "FragmentCoverageMaskMESA";
|
||||
case BuiltInCoreIDARM: return "CoreIDARM";
|
||||
case BuiltInCoreCountARM: return "CoreCountARM";
|
||||
case BuiltInCoreMaxIDARM: return "CoreMaxIDARM";
|
||||
@@ -4324,7 +4321,6 @@ inline const char* CapabilityToString(Capability value) {
|
||||
case CapabilityShaderLayer: return "ShaderLayer";
|
||||
case CapabilityShaderViewportIndex: return "ShaderViewportIndex";
|
||||
case CapabilityUniformDecoration: return "UniformDecoration";
|
||||
- case CapabilityFragmentCoverageMESA: return "FragmentCoverageMESA";
|
||||
case CapabilityCoreBuiltinsARM: return "CoreBuiltinsARM";
|
||||
case CapabilityTileImageColorReadAccessEXT: return "TileImageColorReadAccessEXT";
|
||||
case CapabilityTileImageDepthReadAccessEXT: return "TileImageDepthReadAccessEXT";
|
||||
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
|
||||
index fb5d724..bdc4ac0 100644
|
||||
--- a/include/spirv/unified1/spirv.hpp11
|
||||
+++ b/include/spirv/unified1/spirv.hpp11
|
||||
@@ -741,7 +741,6 @@ enum class BuiltIn : unsigned {
|
||||
SubgroupLocalInvocationId = 41,
|
||||
VertexIndex = 42,
|
||||
InstanceIndex = 43,
|
||||
- FragmentCoverageMaskMESA = 4096,
|
||||
CoreIDARM = 4160,
|
||||
CoreCountARM = 4161,
|
||||
CoreMaxIDARM = 4162,
|
||||
@@ -1138,7 +1137,6 @@ enum class Capability : unsigned {
|
||||
ShaderLayer = 69,
|
||||
ShaderViewportIndex = 70,
|
||||
UniformDecoration = 71,
|
||||
- FragmentCoverageMESA = 4097,
|
||||
CoreBuiltinsARM = 4165,
|
||||
TileImageColorReadAccessEXT = 4166,
|
||||
TileImageDepthReadAccessEXT = 4167,
|
||||
@@ -4125,7 +4123,6 @@ inline const char* BuiltInToString(BuiltIn value) {
|
||||
case BuiltIn::SubgroupLocalInvocationId: return "SubgroupLocalInvocationId";
|
||||
case BuiltIn::VertexIndex: return "VertexIndex";
|
||||
case BuiltIn::InstanceIndex: return "InstanceIndex";
|
||||
- case BuiltIn::FragmentCoverageMaskMESA: return "FragmentCoverageMaskMESA";
|
||||
case BuiltIn::CoreIDARM: return "CoreIDARM";
|
||||
case BuiltIn::CoreCountARM: return "CoreCountARM";
|
||||
case BuiltIn::CoreMaxIDARM: return "CoreMaxIDARM";
|
||||
@@ -4324,7 +4321,6 @@ inline const char* CapabilityToString(Capability value) {
|
||||
case Capability::ShaderLayer: return "ShaderLayer";
|
||||
case Capability::ShaderViewportIndex: return "ShaderViewportIndex";
|
||||
case Capability::UniformDecoration: return "UniformDecoration";
|
||||
- case Capability::FragmentCoverageMESA: return "FragmentCoverageMESA";
|
||||
case Capability::CoreBuiltinsARM: return "CoreBuiltinsARM";
|
||||
case Capability::TileImageColorReadAccessEXT: return "TileImageColorReadAccessEXT";
|
||||
case Capability::TileImageDepthReadAccessEXT: return "TileImageDepthReadAccessEXT";
|
||||
diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json
|
||||
index af571b5..eb646f6 100644
|
||||
--- a/include/spirv/unified1/spirv.json
|
||||
+++ b/include/spirv/unified1/spirv.json
|
||||
@@ -767,7 +767,6 @@
|
||||
"SubgroupLocalInvocationId": 41,
|
||||
"VertexIndex": 42,
|
||||
"InstanceIndex": 43,
|
||||
- "FragmentCoverageMaskMESA": 4096,
|
||||
"CoreIDARM": 4160,
|
||||
"CoreCountARM": 4161,
|
||||
"CoreMaxIDARM": 4162,
|
||||
@@ -1104,7 +1103,6 @@
|
||||
"ShaderLayer": 69,
|
||||
"ShaderViewportIndex": 70,
|
||||
"UniformDecoration": 71,
|
||||
- "FragmentCoverageMESA": 4097,
|
||||
"CoreBuiltinsARM": 4165,
|
||||
"TileImageColorReadAccessEXT": 4166,
|
||||
"TileImageDepthReadAccessEXT": 4167,
|
||||
diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua
|
||||
index f3da312..e425dd5 100644
|
||||
--- a/include/spirv/unified1/spirv.lua
|
||||
+++ b/include/spirv/unified1/spirv.lua
|
||||
@@ -732,7 +732,6 @@ spv = {
|
||||
SubgroupLocalInvocationId = 41,
|
||||
VertexIndex = 42,
|
||||
InstanceIndex = 43,
|
||||
- FragmentCoverageMaskMESA = 4096,
|
||||
CoreIDARM = 4160,
|
||||
CoreCountARM = 4161,
|
||||
CoreMaxIDARM = 4162,
|
||||
@@ -1129,7 +1128,6 @@ spv = {
|
||||
ShaderLayer = 69,
|
||||
ShaderViewportIndex = 70,
|
||||
UniformDecoration = 71,
|
||||
- FragmentCoverageMESA = 4097,
|
||||
CoreBuiltinsARM = 4165,
|
||||
TileImageColorReadAccessEXT = 4166,
|
||||
TileImageDepthReadAccessEXT = 4167,
|
||||
diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py
|
||||
index 88e5cbc..a35941b 100644
|
||||
--- a/include/spirv/unified1/spirv.py
|
||||
+++ b/include/spirv/unified1/spirv.py
|
||||
@@ -713,7 +713,6 @@ spv = {
|
||||
'SubgroupLocalInvocationId' : 41,
|
||||
'VertexIndex' : 42,
|
||||
'InstanceIndex' : 43,
|
||||
- 'FragmentCoverageMaskMESA' : 4096,
|
||||
'CoreIDARM' : 4160,
|
||||
'CoreCountARM' : 4161,
|
||||
'CoreMaxIDARM' : 4162,
|
||||
@@ -1100,7 +1099,6 @@ spv = {
|
||||
'ShaderLayer' : 69,
|
||||
'ShaderViewportIndex' : 70,
|
||||
'UniformDecoration' : 71,
|
||||
- 'FragmentCoverageMESA' : 4097,
|
||||
'CoreBuiltinsARM' : 4165,
|
||||
'TileImageColorReadAccessEXT' : 4166,
|
||||
'TileImageDepthReadAccessEXT' : 4167,
|
||||
diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d
|
||||
index aab392c..8fa24b9 100644
|
||||
--- a/include/spirv/unified1/spv.d
|
||||
+++ b/include/spirv/unified1/spv.d
|
||||
@@ -761,7 +761,6 @@ enum BuiltIn : uint
|
||||
SubgroupLocalInvocationId = 41,
|
||||
VertexIndex = 42,
|
||||
InstanceIndex = 43,
|
||||
- FragmentCoverageMaskMESA = 4096,
|
||||
CoreIDARM = 4160,
|
||||
CoreCountARM = 4161,
|
||||
CoreMaxIDARM = 4162,
|
||||
@@ -1174,7 +1173,6 @@ enum Capability : uint
|
||||
ShaderLayer = 69,
|
||||
ShaderViewportIndex = 70,
|
||||
UniformDecoration = 71,
|
||||
- FragmentCoverageMESA = 4097,
|
||||
CoreBuiltinsARM = 4165,
|
||||
TileImageColorReadAccessEXT = 4166,
|
||||
TileImageDepthReadAccessEXT = 4167,
|
||||
--
|
||||
2.54.0
|
||||
|
||||
@@ -0,0 +1,366 @@
|
||||
From fe44b2002bf7871e2e92fc001bc9f6e09f92194f Mon Sep 17 00:00:00 2001
|
||||
From: Ralph Potter <r.potter@samsung.com>
|
||||
Date: Thu, 14 May 2026 14:30:23 +0100
|
||||
Subject: [PATCH 14/26] SPV_EXT_split_barrier (#600)
|
||||
|
||||
* SPV_EXT_split_barrier
|
||||
|
||||
* Remove spurious capability
|
||||
---
|
||||
include/spirv/unified1/spirv.bf | 3 +++
|
||||
include/spirv/unified1/spirv.core.grammar.json | 15 +++++++++------
|
||||
include/spirv/unified1/spirv.cs | 3 +++
|
||||
include/spirv/unified1/spirv.h | 13 ++++++++-----
|
||||
include/spirv/unified1/spirv.hpp | 13 ++++++++-----
|
||||
include/spirv/unified1/spirv.hpp11 | 13 ++++++++-----
|
||||
include/spirv/unified1/spirv.json | 3 +++
|
||||
include/spirv/unified1/spirv.lua | 3 +++
|
||||
include/spirv/unified1/spirv.py | 3 +++
|
||||
include/spirv/unified1/spv.d | 3 +++
|
||||
10 files changed, 51 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/include/spirv/unified1/spirv.bf b/include/spirv/unified1/spirv.bf
|
||||
index 119ea89..0ecf295 100644
|
||||
--- a/include/spirv/unified1/spirv.bf
|
||||
+++ b/include/spirv/unified1/spirv.bf
|
||||
@@ -1407,6 +1407,7 @@ namespace Spv
|
||||
AtomicFloat16AddEXT = 6095,
|
||||
DebugInfoModuleINTEL = 6114,
|
||||
BFloat16ConversionINTEL = 6115,
|
||||
+ SplitBarrierEXT = 6141,
|
||||
SplitBarrierINTEL = 6141,
|
||||
ArithmeticFenceEXT = 6144,
|
||||
FPGAClusterAttributesV2ALTERA = 6150,
|
||||
@@ -2674,7 +2675,9 @@ namespace Spv
|
||||
OpCompositeConstructContinuedINTEL = 6096,
|
||||
OpConvertFToBF16INTEL = 6116,
|
||||
OpConvertBF16ToFINTEL = 6117,
|
||||
+ OpControlBarrierArriveEXT = 6142,
|
||||
OpControlBarrierArriveINTEL = 6142,
|
||||
+ OpControlBarrierWaitEXT = 6143,
|
||||
OpControlBarrierWaitINTEL = 6143,
|
||||
OpArithmeticFenceEXT = 6145,
|
||||
OpTaskSequenceCreateALTERA = 6163,
|
||||
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
|
||||
index 0f1b083..b2b665b 100644
|
||||
--- a/include/spirv/unified1/spirv.core.grammar.json
|
||||
+++ b/include/spirv/unified1/spirv.core.grammar.json
|
||||
@@ -11253,27 +11253,29 @@
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
- "opname" : "OpControlBarrierArriveINTEL",
|
||||
+ "opname" : "OpControlBarrierArriveEXT",
|
||||
"class" : "Barrier",
|
||||
+ "aliases" : [ "OpControlBarrierArriveINTEL" ],
|
||||
"opcode" : 6142,
|
||||
"operands" : [
|
||||
{ "kind" : "IdScope", "name" : "Execution" },
|
||||
{ "kind" : "IdScope", "name" : "Memory" },
|
||||
{ "kind" : "IdMemorySemantics", "name" : "Semantics" }
|
||||
],
|
||||
- "capabilities" : [ "SplitBarrierINTEL" ],
|
||||
+ "capabilities" : [ "SplitBarrierEXT" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
- "opname" : "OpControlBarrierWaitINTEL",
|
||||
+ "opname" : "OpControlBarrierWaitEXT",
|
||||
"class" : "Barrier",
|
||||
+ "aliases" : [ "OpControlBarrierWaitINTEL" ],
|
||||
"opcode" : 6143,
|
||||
"operands" : [
|
||||
{ "kind" : "IdScope", "name" : "Execution" },
|
||||
{ "kind" : "IdScope", "name" : "Memory" },
|
||||
{ "kind" : "IdMemorySemantics", "name" : "Semantics" }
|
||||
],
|
||||
- "capabilities" : [ "SplitBarrierINTEL" ],
|
||||
+ "capabilities" : [ "SplitBarrierEXT" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
@@ -18591,9 +18593,10 @@
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
- "enumerant" : "SplitBarrierINTEL",
|
||||
+ "enumerant" : "SplitBarrierEXT",
|
||||
+ "aliases" : [ "SplitBarrierINTEL" ],
|
||||
"value" : 6141,
|
||||
- "extensions" : [ "SPV_INTEL_split_barrier" ],
|
||||
+ "extensions" : [ "SPV_EXT_split_barrier", "SPV_INTEL_split_barrier" ],
|
||||
"version" : "None"
|
||||
},
|
||||
{
|
||||
diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs
|
||||
index 7f66ede..06845bb 100644
|
||||
--- a/include/spirv/unified1/spirv.cs
|
||||
+++ b/include/spirv/unified1/spirv.cs
|
||||
@@ -1406,6 +1406,7 @@ namespace Spv
|
||||
AtomicFloat16AddEXT = 6095,
|
||||
DebugInfoModuleINTEL = 6114,
|
||||
BFloat16ConversionINTEL = 6115,
|
||||
+ SplitBarrierEXT = 6141,
|
||||
SplitBarrierINTEL = 6141,
|
||||
ArithmeticFenceEXT = 6144,
|
||||
FPGAClusterAttributesV2ALTERA = 6150,
|
||||
@@ -2673,7 +2674,9 @@ namespace Spv
|
||||
OpCompositeConstructContinuedINTEL = 6096,
|
||||
OpConvertFToBF16INTEL = 6116,
|
||||
OpConvertBF16ToFINTEL = 6117,
|
||||
+ OpControlBarrierArriveEXT = 6142,
|
||||
OpControlBarrierArriveINTEL = 6142,
|
||||
+ OpControlBarrierWaitEXT = 6143,
|
||||
OpControlBarrierWaitINTEL = 6143,
|
||||
OpArithmeticFenceEXT = 6145,
|
||||
OpTaskSequenceCreateALTERA = 6163,
|
||||
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
|
||||
index 99b983c..964f5aa 100644
|
||||
--- a/include/spirv/unified1/spirv.h
|
||||
+++ b/include/spirv/unified1/spirv.h
|
||||
@@ -1377,6 +1377,7 @@ typedef enum SpvCapability_ {
|
||||
SpvCapabilityAtomicFloat16AddEXT = 6095,
|
||||
SpvCapabilityDebugInfoModuleINTEL = 6114,
|
||||
SpvCapabilityBFloat16ConversionINTEL = 6115,
|
||||
+ SpvCapabilitySplitBarrierEXT = 6141,
|
||||
SpvCapabilitySplitBarrierINTEL = 6141,
|
||||
SpvCapabilityArithmeticFenceEXT = 6144,
|
||||
SpvCapabilityFPGAClusterAttributesV2ALTERA = 6150,
|
||||
@@ -2608,7 +2609,9 @@ typedef enum SpvOp_ {
|
||||
SpvOpCompositeConstructContinuedINTEL = 6096,
|
||||
SpvOpConvertFToBF16INTEL = 6116,
|
||||
SpvOpConvertBF16ToFINTEL = 6117,
|
||||
+ SpvOpControlBarrierArriveEXT = 6142,
|
||||
SpvOpControlBarrierArriveINTEL = 6142,
|
||||
+ SpvOpControlBarrierWaitEXT = 6143,
|
||||
SpvOpControlBarrierWaitINTEL = 6143,
|
||||
SpvOpArithmeticFenceEXT = 6145,
|
||||
SpvOpTaskSequenceCreateALTERA = 6163,
|
||||
@@ -3497,8 +3500,8 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
|
||||
case SpvOpCompositeConstructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpConvertFToBF16INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpConvertBF16ToFINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
- case SpvOpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
- case SpvOpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
+ case SpvOpControlBarrierArriveEXT: *hasResult = false; *hasResultType = false; break;
|
||||
+ case SpvOpControlBarrierWaitEXT: *hasResult = false; *hasResultType = false; break;
|
||||
case SpvOpArithmeticFenceEXT: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpTaskSequenceCreateALTERA: *hasResult = true; *hasResultType = true; break;
|
||||
case SpvOpTaskSequenceAsyncALTERA: *hasResult = false; *hasResultType = false; break;
|
||||
@@ -4515,7 +4518,7 @@ inline const char* SpvCapabilityToString(SpvCapability value) {
|
||||
case SpvCapabilityAtomicFloat16AddEXT: return "AtomicFloat16AddEXT";
|
||||
case SpvCapabilityDebugInfoModuleINTEL: return "DebugInfoModuleINTEL";
|
||||
case SpvCapabilityBFloat16ConversionINTEL: return "BFloat16ConversionINTEL";
|
||||
- case SpvCapabilitySplitBarrierINTEL: return "SplitBarrierINTEL";
|
||||
+ case SpvCapabilitySplitBarrierEXT: return "SplitBarrierEXT";
|
||||
case SpvCapabilityArithmeticFenceEXT: return "ArithmeticFenceEXT";
|
||||
case SpvCapabilityFPGAClusterAttributesV2ALTERA: return "FPGAClusterAttributesV2ALTERA";
|
||||
case SpvCapabilityFPGAKernelAttributesv2INTEL: return "FPGAKernelAttributesv2INTEL";
|
||||
@@ -5570,8 +5573,8 @@ inline const char* SpvOpToString(SpvOp value) {
|
||||
case SpvOpCompositeConstructContinuedINTEL: return "OpCompositeConstructContinuedINTEL";
|
||||
case SpvOpConvertFToBF16INTEL: return "OpConvertFToBF16INTEL";
|
||||
case SpvOpConvertBF16ToFINTEL: return "OpConvertBF16ToFINTEL";
|
||||
- case SpvOpControlBarrierArriveINTEL: return "OpControlBarrierArriveINTEL";
|
||||
- case SpvOpControlBarrierWaitINTEL: return "OpControlBarrierWaitINTEL";
|
||||
+ case SpvOpControlBarrierArriveEXT: return "OpControlBarrierArriveEXT";
|
||||
+ case SpvOpControlBarrierWaitEXT: return "OpControlBarrierWaitEXT";
|
||||
case SpvOpArithmeticFenceEXT: return "OpArithmeticFenceEXT";
|
||||
case SpvOpTaskSequenceCreateALTERA: return "OpTaskSequenceCreateALTERA";
|
||||
case SpvOpTaskSequenceAsyncALTERA: return "OpTaskSequenceAsyncALTERA";
|
||||
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
|
||||
index 966be25..655a79c 100644
|
||||
--- a/include/spirv/unified1/spirv.hpp
|
||||
+++ b/include/spirv/unified1/spirv.hpp
|
||||
@@ -1373,6 +1373,7 @@ enum Capability {
|
||||
CapabilityAtomicFloat16AddEXT = 6095,
|
||||
CapabilityDebugInfoModuleINTEL = 6114,
|
||||
CapabilityBFloat16ConversionINTEL = 6115,
|
||||
+ CapabilitySplitBarrierEXT = 6141,
|
||||
CapabilitySplitBarrierINTEL = 6141,
|
||||
CapabilityArithmeticFenceEXT = 6144,
|
||||
CapabilityFPGAClusterAttributesV2ALTERA = 6150,
|
||||
@@ -2604,7 +2605,9 @@ enum Op {
|
||||
OpCompositeConstructContinuedINTEL = 6096,
|
||||
OpConvertFToBF16INTEL = 6116,
|
||||
OpConvertBF16ToFINTEL = 6117,
|
||||
+ OpControlBarrierArriveEXT = 6142,
|
||||
OpControlBarrierArriveINTEL = 6142,
|
||||
+ OpControlBarrierWaitEXT = 6143,
|
||||
OpControlBarrierWaitINTEL = 6143,
|
||||
OpArithmeticFenceEXT = 6145,
|
||||
OpTaskSequenceCreateALTERA = 6163,
|
||||
@@ -3493,8 +3496,8 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case OpCompositeConstructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case OpConvertFToBF16INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConvertBF16ToFINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
- case OpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
- case OpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
+ case OpControlBarrierArriveEXT: *hasResult = false; *hasResultType = false; break;
|
||||
+ case OpControlBarrierWaitEXT: *hasResult = false; *hasResultType = false; break;
|
||||
case OpArithmeticFenceEXT: *hasResult = true; *hasResultType = true; break;
|
||||
case OpTaskSequenceCreateALTERA: *hasResult = true; *hasResultType = true; break;
|
||||
case OpTaskSequenceAsyncALTERA: *hasResult = false; *hasResultType = false; break;
|
||||
@@ -4511,7 +4514,7 @@ inline const char* CapabilityToString(Capability value) {
|
||||
case CapabilityAtomicFloat16AddEXT: return "AtomicFloat16AddEXT";
|
||||
case CapabilityDebugInfoModuleINTEL: return "DebugInfoModuleINTEL";
|
||||
case CapabilityBFloat16ConversionINTEL: return "BFloat16ConversionINTEL";
|
||||
- case CapabilitySplitBarrierINTEL: return "SplitBarrierINTEL";
|
||||
+ case CapabilitySplitBarrierEXT: return "SplitBarrierEXT";
|
||||
case CapabilityArithmeticFenceEXT: return "ArithmeticFenceEXT";
|
||||
case CapabilityFPGAClusterAttributesV2ALTERA: return "FPGAClusterAttributesV2ALTERA";
|
||||
case CapabilityFPGAKernelAttributesv2INTEL: return "FPGAKernelAttributesv2INTEL";
|
||||
@@ -5566,8 +5569,8 @@ inline const char* OpToString(Op value) {
|
||||
case OpCompositeConstructContinuedINTEL: return "OpCompositeConstructContinuedINTEL";
|
||||
case OpConvertFToBF16INTEL: return "OpConvertFToBF16INTEL";
|
||||
case OpConvertBF16ToFINTEL: return "OpConvertBF16ToFINTEL";
|
||||
- case OpControlBarrierArriveINTEL: return "OpControlBarrierArriveINTEL";
|
||||
- case OpControlBarrierWaitINTEL: return "OpControlBarrierWaitINTEL";
|
||||
+ case OpControlBarrierArriveEXT: return "OpControlBarrierArriveEXT";
|
||||
+ case OpControlBarrierWaitEXT: return "OpControlBarrierWaitEXT";
|
||||
case OpArithmeticFenceEXT: return "OpArithmeticFenceEXT";
|
||||
case OpTaskSequenceCreateALTERA: return "OpTaskSequenceCreateALTERA";
|
||||
case OpTaskSequenceAsyncALTERA: return "OpTaskSequenceAsyncALTERA";
|
||||
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
|
||||
index bdc4ac0..270b33f 100644
|
||||
--- a/include/spirv/unified1/spirv.hpp11
|
||||
+++ b/include/spirv/unified1/spirv.hpp11
|
||||
@@ -1373,6 +1373,7 @@ enum class Capability : unsigned {
|
||||
AtomicFloat16AddEXT = 6095,
|
||||
DebugInfoModuleINTEL = 6114,
|
||||
BFloat16ConversionINTEL = 6115,
|
||||
+ SplitBarrierEXT = 6141,
|
||||
SplitBarrierINTEL = 6141,
|
||||
ArithmeticFenceEXT = 6144,
|
||||
FPGAClusterAttributesV2ALTERA = 6150,
|
||||
@@ -2604,7 +2605,9 @@ enum class Op : unsigned {
|
||||
OpCompositeConstructContinuedINTEL = 6096,
|
||||
OpConvertFToBF16INTEL = 6116,
|
||||
OpConvertBF16ToFINTEL = 6117,
|
||||
+ OpControlBarrierArriveEXT = 6142,
|
||||
OpControlBarrierArriveINTEL = 6142,
|
||||
+ OpControlBarrierWaitEXT = 6143,
|
||||
OpControlBarrierWaitINTEL = 6143,
|
||||
OpArithmeticFenceEXT = 6145,
|
||||
OpTaskSequenceCreateALTERA = 6163,
|
||||
@@ -3493,8 +3496,8 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
case Op::OpCompositeConstructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpConvertFToBF16INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpConvertBF16ToFINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
- case Op::OpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
- case Op::OpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
+ case Op::OpControlBarrierArriveEXT: *hasResult = false; *hasResultType = false; break;
|
||||
+ case Op::OpControlBarrierWaitEXT: *hasResult = false; *hasResultType = false; break;
|
||||
case Op::OpArithmeticFenceEXT: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpTaskSequenceCreateALTERA: *hasResult = true; *hasResultType = true; break;
|
||||
case Op::OpTaskSequenceAsyncALTERA: *hasResult = false; *hasResultType = false; break;
|
||||
@@ -4511,7 +4514,7 @@ inline const char* CapabilityToString(Capability value) {
|
||||
case Capability::AtomicFloat16AddEXT: return "AtomicFloat16AddEXT";
|
||||
case Capability::DebugInfoModuleINTEL: return "DebugInfoModuleINTEL";
|
||||
case Capability::BFloat16ConversionINTEL: return "BFloat16ConversionINTEL";
|
||||
- case Capability::SplitBarrierINTEL: return "SplitBarrierINTEL";
|
||||
+ case Capability::SplitBarrierEXT: return "SplitBarrierEXT";
|
||||
case Capability::ArithmeticFenceEXT: return "ArithmeticFenceEXT";
|
||||
case Capability::FPGAClusterAttributesV2ALTERA: return "FPGAClusterAttributesV2ALTERA";
|
||||
case Capability::FPGAKernelAttributesv2INTEL: return "FPGAKernelAttributesv2INTEL";
|
||||
@@ -5566,8 +5569,8 @@ inline const char* OpToString(Op value) {
|
||||
case Op::OpCompositeConstructContinuedINTEL: return "OpCompositeConstructContinuedINTEL";
|
||||
case Op::OpConvertFToBF16INTEL: return "OpConvertFToBF16INTEL";
|
||||
case Op::OpConvertBF16ToFINTEL: return "OpConvertBF16ToFINTEL";
|
||||
- case Op::OpControlBarrierArriveINTEL: return "OpControlBarrierArriveINTEL";
|
||||
- case Op::OpControlBarrierWaitINTEL: return "OpControlBarrierWaitINTEL";
|
||||
+ case Op::OpControlBarrierArriveEXT: return "OpControlBarrierArriveEXT";
|
||||
+ case Op::OpControlBarrierWaitEXT: return "OpControlBarrierWaitEXT";
|
||||
case Op::OpArithmeticFenceEXT: return "OpArithmeticFenceEXT";
|
||||
case Op::OpTaskSequenceCreateALTERA: return "OpTaskSequenceCreateALTERA";
|
||||
case Op::OpTaskSequenceAsyncALTERA: return "OpTaskSequenceAsyncALTERA";
|
||||
diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json
|
||||
index eb646f6..5a21f07 100644
|
||||
--- a/include/spirv/unified1/spirv.json
|
||||
+++ b/include/spirv/unified1/spirv.json
|
||||
@@ -1339,6 +1339,7 @@
|
||||
"AtomicFloat16AddEXT": 6095,
|
||||
"DebugInfoModuleINTEL": 6114,
|
||||
"BFloat16ConversionINTEL": 6115,
|
||||
+ "SplitBarrierEXT": 6141,
|
||||
"SplitBarrierINTEL": 6141,
|
||||
"ArithmeticFenceEXT": 6144,
|
||||
"FPGAClusterAttributesV2ALTERA": 6150,
|
||||
@@ -2574,7 +2575,9 @@
|
||||
"OpCompositeConstructContinuedINTEL": 6096,
|
||||
"OpConvertFToBF16INTEL": 6116,
|
||||
"OpConvertBF16ToFINTEL": 6117,
|
||||
+ "OpControlBarrierArriveEXT": 6142,
|
||||
"OpControlBarrierArriveINTEL": 6142,
|
||||
+ "OpControlBarrierWaitEXT": 6143,
|
||||
"OpControlBarrierWaitINTEL": 6143,
|
||||
"OpArithmeticFenceEXT": 6145,
|
||||
"OpTaskSequenceCreateALTERA": 6163,
|
||||
diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua
|
||||
index e425dd5..64b0a1f 100644
|
||||
--- a/include/spirv/unified1/spirv.lua
|
||||
+++ b/include/spirv/unified1/spirv.lua
|
||||
@@ -1364,6 +1364,7 @@ spv = {
|
||||
AtomicFloat16AddEXT = 6095,
|
||||
DebugInfoModuleINTEL = 6114,
|
||||
BFloat16ConversionINTEL = 6115,
|
||||
+ SplitBarrierEXT = 6141,
|
||||
SplitBarrierINTEL = 6141,
|
||||
ArithmeticFenceEXT = 6144,
|
||||
FPGAClusterAttributesV2ALTERA = 6150,
|
||||
@@ -2595,7 +2596,9 @@ spv = {
|
||||
OpCompositeConstructContinuedINTEL = 6096,
|
||||
OpConvertFToBF16INTEL = 6116,
|
||||
OpConvertBF16ToFINTEL = 6117,
|
||||
+ OpControlBarrierArriveEXT = 6142,
|
||||
OpControlBarrierArriveINTEL = 6142,
|
||||
+ OpControlBarrierWaitEXT = 6143,
|
||||
OpControlBarrierWaitINTEL = 6143,
|
||||
OpArithmeticFenceEXT = 6145,
|
||||
OpTaskSequenceCreateALTERA = 6163,
|
||||
diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py
|
||||
index a35941b..5f3bae6 100644
|
||||
--- a/include/spirv/unified1/spirv.py
|
||||
+++ b/include/spirv/unified1/spirv.py
|
||||
@@ -1335,6 +1335,7 @@ spv = {
|
||||
'AtomicFloat16AddEXT' : 6095,
|
||||
'DebugInfoModuleINTEL' : 6114,
|
||||
'BFloat16ConversionINTEL' : 6115,
|
||||
+ 'SplitBarrierEXT' : 6141,
|
||||
'SplitBarrierINTEL' : 6141,
|
||||
'ArithmeticFenceEXT' : 6144,
|
||||
'FPGAClusterAttributesV2ALTERA' : 6150,
|
||||
@@ -2538,7 +2539,9 @@ spv = {
|
||||
'OpCompositeConstructContinuedINTEL' : 6096,
|
||||
'OpConvertFToBF16INTEL' : 6116,
|
||||
'OpConvertBF16ToFINTEL' : 6117,
|
||||
+ 'OpControlBarrierArriveEXT' : 6142,
|
||||
'OpControlBarrierArriveINTEL' : 6142,
|
||||
+ 'OpControlBarrierWaitEXT' : 6143,
|
||||
'OpControlBarrierWaitINTEL' : 6143,
|
||||
'OpArithmeticFenceEXT' : 6145,
|
||||
'OpTaskSequenceCreateALTERA' : 6163,
|
||||
diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d
|
||||
index 8fa24b9..4e4e3dc 100644
|
||||
--- a/include/spirv/unified1/spv.d
|
||||
+++ b/include/spirv/unified1/spv.d
|
||||
@@ -1409,6 +1409,7 @@ enum Capability : uint
|
||||
AtomicFloat16AddEXT = 6095,
|
||||
DebugInfoModuleINTEL = 6114,
|
||||
BFloat16ConversionINTEL = 6115,
|
||||
+ SplitBarrierEXT = 6141,
|
||||
SplitBarrierINTEL = 6141,
|
||||
ArithmeticFenceEXT = 6144,
|
||||
FPGAClusterAttributesV2ALTERA = 6150,
|
||||
@@ -2676,7 +2677,9 @@ enum Op : uint
|
||||
OpCompositeConstructContinuedINTEL = 6096,
|
||||
OpConvertFToBF16INTEL = 6116,
|
||||
OpConvertBF16ToFINTEL = 6117,
|
||||
+ OpControlBarrierArriveEXT = 6142,
|
||||
OpControlBarrierArriveINTEL = 6142,
|
||||
+ OpControlBarrierWaitEXT = 6143,
|
||||
OpControlBarrierWaitINTEL = 6143,
|
||||
OpArithmeticFenceEXT = 6145,
|
||||
OpTaskSequenceCreateALTERA = 6163,
|
||||
--
|
||||
2.54.0
|
||||
|
||||
@@ -0,0 +1,324 @@
|
||||
From aaffbc59b41bf8faea671b0d1c6b34a584c45171 Mon Sep 17 00:00:00 2001
|
||||
From: Jeff Bolz <jbolz@nvidia.com>
|
||||
Date: Fri, 15 May 2026 10:51:25 -0500
|
||||
Subject: [PATCH 15/26] SPV_NV_cooperative_matrix_decode_vector (#601)
|
||||
|
||||
---
|
||||
include/spirv/unified1/spirv.bf | 3 +++
|
||||
include/spirv/unified1/spirv.core.grammar.json | 16 ++++++++++++++++
|
||||
include/spirv/unified1/spirv.cs | 3 +++
|
||||
include/spirv/unified1/spirv.h | 4 ++++
|
||||
include/spirv/unified1/spirv.hpp | 4 ++++
|
||||
include/spirv/unified1/spirv.hpp11 | 4 ++++
|
||||
include/spirv/unified1/spirv.json | 4 +++-
|
||||
include/spirv/unified1/spirv.lua | 3 +++
|
||||
include/spirv/unified1/spirv.py | 3 +++
|
||||
include/spirv/unified1/spv.d | 3 +++
|
||||
10 files changed, 46 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/spirv/unified1/spirv.bf b/include/spirv/unified1/spirv.bf
|
||||
index 0ecf295..9497023 100644
|
||||
--- a/include/spirv/unified1/spirv.bf
|
||||
+++ b/include/spirv/unified1/spirv.bf
|
||||
@@ -1325,6 +1325,7 @@ namespace Spv
|
||||
CooperativeVectorTrainingNV = 5435,
|
||||
RayTracingClusterAccelerationStructureNV = 5437,
|
||||
TensorAddressingNV = 5439,
|
||||
+ CooperativeMatrixDecodeVectorNV = 5447,
|
||||
SubgroupShuffleINTEL = 5568,
|
||||
SubgroupBufferBlockIOINTEL = 5569,
|
||||
SubgroupImageBlockIOINTEL = 5570,
|
||||
@@ -1633,6 +1634,7 @@ namespace Spv
|
||||
{
|
||||
TensorView = 0,
|
||||
DecodeFunc = 1,
|
||||
+ DecodeVectorFunc = 2,
|
||||
Max = 0x7fffffff,
|
||||
}
|
||||
|
||||
@@ -1641,6 +1643,7 @@ namespace Spv
|
||||
MaskNone = 0,
|
||||
TensorView = 0x00000001,
|
||||
DecodeFunc = 0x00000002,
|
||||
+ DecodeVectorFunc = 0x00000004,
|
||||
}
|
||||
|
||||
[AllowDuplicates, CRepr] public enum TensorOperandsShift
|
||||
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
|
||||
index b2b665b..4f96982 100644
|
||||
--- a/include/spirv/unified1/spirv.core.grammar.json
|
||||
+++ b/include/spirv/unified1/spirv.core.grammar.json
|
||||
@@ -18200,6 +18200,13 @@
|
||||
"extensions" : [ "SPV_NV_tensor_addressing" ],
|
||||
"version" : "None"
|
||||
},
|
||||
+ {
|
||||
+ "enumerant" : "CooperativeMatrixDecodeVectorNV",
|
||||
+ "value" : 5447,
|
||||
+ "capabilities" : [ "CooperativeMatrixBlockLoadsNV" ],
|
||||
+ "extensions" : [ "SPV_NV_cooperative_matrix_decode_vector" ],
|
||||
+ "version" : "None"
|
||||
+ },
|
||||
{
|
||||
"enumerant" : "SubgroupShuffleINTEL",
|
||||
"value" : 5568,
|
||||
@@ -19035,6 +19042,15 @@
|
||||
],
|
||||
"capabilities" : [ "CooperativeMatrixBlockLoadsNV" ],
|
||||
"version" : "None"
|
||||
+ },
|
||||
+ {
|
||||
+ "enumerant" : "DecodeVectorFunc",
|
||||
+ "value" : "0x0004",
|
||||
+ "parameters" : [
|
||||
+ { "kind" : "IdRef" }
|
||||
+ ],
|
||||
+ "capabilities" : [ "CooperativeMatrixDecodeVectorNV" ],
|
||||
+ "version" : "None"
|
||||
}
|
||||
]
|
||||
},
|
||||
diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs
|
||||
index 06845bb..7631bf2 100644
|
||||
--- a/include/spirv/unified1/spirv.cs
|
||||
+++ b/include/spirv/unified1/spirv.cs
|
||||
@@ -1324,6 +1324,7 @@ namespace Spv
|
||||
CooperativeVectorTrainingNV = 5435,
|
||||
RayTracingClusterAccelerationStructureNV = 5437,
|
||||
TensorAddressingNV = 5439,
|
||||
+ CooperativeMatrixDecodeVectorNV = 5447,
|
||||
SubgroupShuffleINTEL = 5568,
|
||||
SubgroupBufferBlockIOINTEL = 5569,
|
||||
SubgroupImageBlockIOINTEL = 5570,
|
||||
@@ -1632,6 +1633,7 @@ namespace Spv
|
||||
{
|
||||
TensorView = 0,
|
||||
DecodeFunc = 1,
|
||||
+ DecodeVectorFunc = 2,
|
||||
Max = 0x7fffffff,
|
||||
}
|
||||
|
||||
@@ -1640,6 +1642,7 @@ namespace Spv
|
||||
MaskNone = 0,
|
||||
TensorView = 0x00000001,
|
||||
DecodeFunc = 0x00000002,
|
||||
+ DecodeVectorFunc = 0x00000004,
|
||||
}
|
||||
|
||||
public enum TensorOperandsShift
|
||||
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
|
||||
index 964f5aa..5ab265f 100644
|
||||
--- a/include/spirv/unified1/spirv.h
|
||||
+++ b/include/spirv/unified1/spirv.h
|
||||
@@ -1295,6 +1295,7 @@ typedef enum SpvCapability_ {
|
||||
SpvCapabilityCooperativeVectorTrainingNV = 5435,
|
||||
SpvCapabilityRayTracingClusterAccelerationStructureNV = 5437,
|
||||
SpvCapabilityTensorAddressingNV = 5439,
|
||||
+ SpvCapabilityCooperativeMatrixDecodeVectorNV = 5447,
|
||||
SpvCapabilitySubgroupShuffleINTEL = 5568,
|
||||
SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
|
||||
SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
|
||||
@@ -1583,6 +1584,7 @@ typedef enum SpvTensorClampMode_ {
|
||||
typedef enum SpvTensorAddressingOperandsShift_ {
|
||||
SpvTensorAddressingOperandsTensorViewShift = 0,
|
||||
SpvTensorAddressingOperandsDecodeFuncShift = 1,
|
||||
+ SpvTensorAddressingOperandsDecodeVectorFuncShift = 2,
|
||||
SpvTensorAddressingOperandsMax = 0x7fffffff,
|
||||
} SpvTensorAddressingOperandsShift;
|
||||
|
||||
@@ -1590,6 +1592,7 @@ typedef enum SpvTensorAddressingOperandsMask_ {
|
||||
SpvTensorAddressingOperandsMaskNone = 0,
|
||||
SpvTensorAddressingOperandsTensorViewMask = 0x00000001,
|
||||
SpvTensorAddressingOperandsDecodeFuncMask = 0x00000002,
|
||||
+ SpvTensorAddressingOperandsDecodeVectorFuncMask = 0x00000004,
|
||||
} SpvTensorAddressingOperandsMask;
|
||||
|
||||
typedef enum SpvTensorOperandsShift_ {
|
||||
@@ -4457,6 +4460,7 @@ inline const char* SpvCapabilityToString(SpvCapability value) {
|
||||
case SpvCapabilityCooperativeVectorTrainingNV: return "CooperativeVectorTrainingNV";
|
||||
case SpvCapabilityRayTracingClusterAccelerationStructureNV: return "RayTracingClusterAccelerationStructureNV";
|
||||
case SpvCapabilityTensorAddressingNV: return "TensorAddressingNV";
|
||||
+ case SpvCapabilityCooperativeMatrixDecodeVectorNV: return "CooperativeMatrixDecodeVectorNV";
|
||||
case SpvCapabilitySubgroupShuffleINTEL: return "SubgroupShuffleINTEL";
|
||||
case SpvCapabilitySubgroupBufferBlockIOINTEL: return "SubgroupBufferBlockIOINTEL";
|
||||
case SpvCapabilitySubgroupImageBlockIOINTEL: return "SubgroupImageBlockIOINTEL";
|
||||
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
|
||||
index 655a79c..33b4a8b 100644
|
||||
--- a/include/spirv/unified1/spirv.hpp
|
||||
+++ b/include/spirv/unified1/spirv.hpp
|
||||
@@ -1291,6 +1291,7 @@ enum Capability {
|
||||
CapabilityCooperativeVectorTrainingNV = 5435,
|
||||
CapabilityRayTracingClusterAccelerationStructureNV = 5437,
|
||||
CapabilityTensorAddressingNV = 5439,
|
||||
+ CapabilityCooperativeMatrixDecodeVectorNV = 5447,
|
||||
CapabilitySubgroupShuffleINTEL = 5568,
|
||||
CapabilitySubgroupBufferBlockIOINTEL = 5569,
|
||||
CapabilitySubgroupImageBlockIOINTEL = 5570,
|
||||
@@ -1579,6 +1580,7 @@ enum TensorClampMode {
|
||||
enum TensorAddressingOperandsShift {
|
||||
TensorAddressingOperandsTensorViewShift = 0,
|
||||
TensorAddressingOperandsDecodeFuncShift = 1,
|
||||
+ TensorAddressingOperandsDecodeVectorFuncShift = 2,
|
||||
TensorAddressingOperandsMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@@ -1586,6 +1588,7 @@ enum TensorAddressingOperandsMask {
|
||||
TensorAddressingOperandsMaskNone = 0,
|
||||
TensorAddressingOperandsTensorViewMask = 0x00000001,
|
||||
TensorAddressingOperandsDecodeFuncMask = 0x00000002,
|
||||
+ TensorAddressingOperandsDecodeVectorFuncMask = 0x00000004,
|
||||
};
|
||||
|
||||
enum TensorOperandsShift {
|
||||
@@ -4453,6 +4456,7 @@ inline const char* CapabilityToString(Capability value) {
|
||||
case CapabilityCooperativeVectorTrainingNV: return "CooperativeVectorTrainingNV";
|
||||
case CapabilityRayTracingClusterAccelerationStructureNV: return "RayTracingClusterAccelerationStructureNV";
|
||||
case CapabilityTensorAddressingNV: return "TensorAddressingNV";
|
||||
+ case CapabilityCooperativeMatrixDecodeVectorNV: return "CooperativeMatrixDecodeVectorNV";
|
||||
case CapabilitySubgroupShuffleINTEL: return "SubgroupShuffleINTEL";
|
||||
case CapabilitySubgroupBufferBlockIOINTEL: return "SubgroupBufferBlockIOINTEL";
|
||||
case CapabilitySubgroupImageBlockIOINTEL: return "SubgroupImageBlockIOINTEL";
|
||||
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
|
||||
index 270b33f..eb15ea2 100644
|
||||
--- a/include/spirv/unified1/spirv.hpp11
|
||||
+++ b/include/spirv/unified1/spirv.hpp11
|
||||
@@ -1291,6 +1291,7 @@ enum class Capability : unsigned {
|
||||
CooperativeVectorTrainingNV = 5435,
|
||||
RayTracingClusterAccelerationStructureNV = 5437,
|
||||
TensorAddressingNV = 5439,
|
||||
+ CooperativeMatrixDecodeVectorNV = 5447,
|
||||
SubgroupShuffleINTEL = 5568,
|
||||
SubgroupBufferBlockIOINTEL = 5569,
|
||||
SubgroupImageBlockIOINTEL = 5570,
|
||||
@@ -1579,6 +1580,7 @@ enum class TensorClampMode : unsigned {
|
||||
enum class TensorAddressingOperandsShift : unsigned {
|
||||
TensorView = 0,
|
||||
DecodeFunc = 1,
|
||||
+ DecodeVectorFunc = 2,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
@@ -1586,6 +1588,7 @@ enum class TensorAddressingOperandsMask : unsigned {
|
||||
MaskNone = 0,
|
||||
TensorView = 0x00000001,
|
||||
DecodeFunc = 0x00000002,
|
||||
+ DecodeVectorFunc = 0x00000004,
|
||||
};
|
||||
|
||||
enum class TensorOperandsShift : unsigned {
|
||||
@@ -4453,6 +4456,7 @@ inline const char* CapabilityToString(Capability value) {
|
||||
case Capability::CooperativeVectorTrainingNV: return "CooperativeVectorTrainingNV";
|
||||
case Capability::RayTracingClusterAccelerationStructureNV: return "RayTracingClusterAccelerationStructureNV";
|
||||
case Capability::TensorAddressingNV: return "TensorAddressingNV";
|
||||
+ case Capability::CooperativeMatrixDecodeVectorNV: return "CooperativeMatrixDecodeVectorNV";
|
||||
case Capability::SubgroupShuffleINTEL: return "SubgroupShuffleINTEL";
|
||||
case Capability::SubgroupBufferBlockIOINTEL: return "SubgroupBufferBlockIOINTEL";
|
||||
case Capability::SubgroupImageBlockIOINTEL: return "SubgroupImageBlockIOINTEL";
|
||||
diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json
|
||||
index 5a21f07..35f85d9 100644
|
||||
--- a/include/spirv/unified1/spirv.json
|
||||
+++ b/include/spirv/unified1/spirv.json
|
||||
@@ -1257,6 +1257,7 @@
|
||||
"CooperativeVectorTrainingNV": 5435,
|
||||
"RayTracingClusterAccelerationStructureNV": 5437,
|
||||
"TensorAddressingNV": 5439,
|
||||
+ "CooperativeMatrixDecodeVectorNV": 5447,
|
||||
"SubgroupShuffleINTEL": 5568,
|
||||
"SubgroupBufferBlockIOINTEL": 5569,
|
||||
"SubgroupImageBlockIOINTEL": 5570,
|
||||
@@ -1551,7 +1552,8 @@
|
||||
"Values":
|
||||
{
|
||||
"TensorView": 0,
|
||||
- "DecodeFunc": 1
|
||||
+ "DecodeFunc": 1,
|
||||
+ "DecodeVectorFunc": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua
|
||||
index 64b0a1f..f244e9a 100644
|
||||
--- a/include/spirv/unified1/spirv.lua
|
||||
+++ b/include/spirv/unified1/spirv.lua
|
||||
@@ -1282,6 +1282,7 @@ spv = {
|
||||
CooperativeVectorTrainingNV = 5435,
|
||||
RayTracingClusterAccelerationStructureNV = 5437,
|
||||
TensorAddressingNV = 5439,
|
||||
+ CooperativeMatrixDecodeVectorNV = 5447,
|
||||
SubgroupShuffleINTEL = 5568,
|
||||
SubgroupBufferBlockIOINTEL = 5569,
|
||||
SubgroupImageBlockIOINTEL = 5570,
|
||||
@@ -1570,6 +1571,7 @@ spv = {
|
||||
TensorAddressingOperandsShift = {
|
||||
TensorView = 0,
|
||||
DecodeFunc = 1,
|
||||
+ DecodeVectorFunc = 2,
|
||||
Max = 0x7fffffff,
|
||||
},
|
||||
|
||||
@@ -1577,6 +1579,7 @@ spv = {
|
||||
MaskNone = 0,
|
||||
TensorView = 0x00000001,
|
||||
DecodeFunc = 0x00000002,
|
||||
+ DecodeVectorFunc = 0x00000004,
|
||||
},
|
||||
|
||||
TensorOperandsShift = {
|
||||
diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py
|
||||
index 5f3bae6..af0e61f 100644
|
||||
--- a/include/spirv/unified1/spirv.py
|
||||
+++ b/include/spirv/unified1/spirv.py
|
||||
@@ -1253,6 +1253,7 @@ spv = {
|
||||
'CooperativeVectorTrainingNV' : 5435,
|
||||
'RayTracingClusterAccelerationStructureNV' : 5437,
|
||||
'TensorAddressingNV' : 5439,
|
||||
+ 'CooperativeMatrixDecodeVectorNV' : 5447,
|
||||
'SubgroupShuffleINTEL' : 5568,
|
||||
'SubgroupBufferBlockIOINTEL' : 5569,
|
||||
'SubgroupImageBlockIOINTEL' : 5570,
|
||||
@@ -1525,12 +1526,14 @@ spv = {
|
||||
'TensorAddressingOperandsShift' : {
|
||||
'TensorView' : 0,
|
||||
'DecodeFunc' : 1,
|
||||
+ 'DecodeVectorFunc' : 2,
|
||||
},
|
||||
|
||||
'TensorAddressingOperandsMask' : {
|
||||
'MaskNone' : 0,
|
||||
'TensorView' : 0x00000001,
|
||||
'DecodeFunc' : 0x00000002,
|
||||
+ 'DecodeVectorFunc' : 0x00000004,
|
||||
},
|
||||
|
||||
'TensorOperandsShift' : {
|
||||
diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d
|
||||
index 4e4e3dc..1ed7d76 100644
|
||||
--- a/include/spirv/unified1/spv.d
|
||||
+++ b/include/spirv/unified1/spv.d
|
||||
@@ -1327,6 +1327,7 @@ enum Capability : uint
|
||||
CooperativeVectorTrainingNV = 5435,
|
||||
RayTracingClusterAccelerationStructureNV = 5437,
|
||||
TensorAddressingNV = 5439,
|
||||
+ CooperativeMatrixDecodeVectorNV = 5447,
|
||||
SubgroupShuffleINTEL = 5568,
|
||||
SubgroupBufferBlockIOINTEL = 5569,
|
||||
SubgroupImageBlockIOINTEL = 5570,
|
||||
@@ -1635,6 +1636,7 @@ enum TensorAddressingOperandsShift : uint
|
||||
{
|
||||
TensorView = 0,
|
||||
DecodeFunc = 1,
|
||||
+ DecodeVectorFunc = 2,
|
||||
Max = 0x7fffffff,
|
||||
}
|
||||
|
||||
@@ -1643,6 +1645,7 @@ enum TensorAddressingOperandsMask : uint
|
||||
MaskNone = 0,
|
||||
TensorView = 0x00000001,
|
||||
DecodeFunc = 0x00000002,
|
||||
+ DecodeVectorFunc = 0x00000004,
|
||||
}
|
||||
|
||||
enum TensorOperandsShift : uint
|
||||
--
|
||||
2.54.0
|
||||
|
||||
+116
@@ -0,0 +1,116 @@
|
||||
From 8c5559c134abcf432ec59db842404087b9906c1a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?K=C3=A9vin=20Petit?= <kevin.petit@arm.com>
|
||||
Date: Wed, 20 May 2026 16:39:51 +0100
|
||||
Subject: [PATCH 16/26] Add ArmExperimentalMLOperations instruction set (#602)
|
||||
|
||||
Change-Id: Id5e6f036ed0a1653ea9817c1d5b193c58403fe1d
|
||||
|
||||
Signed-off-by: Kevin Petit <kevin.petit@arm.com>
|
||||
---
|
||||
BUILD.bazel | 6 +++++
|
||||
.../unified1/ArmExperimentalMLOperations.h | 26 +++++++++++++++++++
|
||||
...rm.experimental-ml-operations.grammar.json | 25 ++++++++++++++++++
|
||||
tools/buildHeaders/bin/makeExtinstHeaders.py | 1 +
|
||||
4 files changed, 58 insertions(+)
|
||||
create mode 100644 include/spirv/unified1/ArmExperimentalMLOperations.h
|
||||
create mode 100644 include/spirv/unified1/extinst.arm.experimental-ml-operations.grammar.json
|
||||
|
||||
diff --git a/BUILD.bazel b/BUILD.bazel
|
||||
index 61ef7e8..db21aeb 100644
|
||||
--- a/BUILD.bazel
|
||||
+++ b/BUILD.bazel
|
||||
@@ -143,6 +143,11 @@ filegroup(
|
||||
srcs = ["include/spirv/unified1/extinst.nonsemantic.graph.debuginfo.grammar.json"],
|
||||
)
|
||||
|
||||
+filegroup(
|
||||
+ name = "spirv_ext_inst_arm_experimental_ml_operations",
|
||||
+ srcs = ["include/spirv/unified1/extinst.arm.experimental-ml-operations.grammar.json"],
|
||||
+)
|
||||
+
|
||||
cc_library(
|
||||
name = "spirv_common_headers",
|
||||
hdrs = [
|
||||
@@ -152,6 +157,7 @@ cc_library(
|
||||
"include/spirv/1.1/OpenCL.std.h",
|
||||
"include/spirv/1.2/GLSL.std.450.h",
|
||||
"include/spirv/1.2/OpenCL.std.h",
|
||||
+ "include/spirv/unified1/ArmExperimentalMLOperations.h",
|
||||
"include/spirv/unified1/ArmMotionEngine.100.h",
|
||||
"include/spirv/unified1/GLSL.std.450.h",
|
||||
"include/spirv/unified1/NonSemanticClspvReflection.h",
|
||||
diff --git a/include/spirv/unified1/ArmExperimentalMLOperations.h b/include/spirv/unified1/ArmExperimentalMLOperations.h
|
||||
new file mode 100644
|
||||
index 0000000..64b0e70
|
||||
--- /dev/null
|
||||
+++ b/include/spirv/unified1/ArmExperimentalMLOperations.h
|
||||
@@ -0,0 +1,26 @@
|
||||
+// SPDX-FileCopyrightText: 2025 Arm Ltd.
|
||||
+// SPDX-License-Identifier: MIT
|
||||
+
|
||||
+#ifndef SPIRV_UNIFIED1_ArmExperimentalMLOperations_H_
|
||||
+#define SPIRV_UNIFIED1_ArmExperimentalMLOperations_H_
|
||||
+
|
||||
+#ifdef __cplusplus
|
||||
+extern "C" {
|
||||
+#endif
|
||||
+
|
||||
+enum {
|
||||
+ ArmExperimentalMLOperationsRevision = 1,
|
||||
+ ArmExperimentalMLOperationsRevision_BitWidthPadding = 0x7fffffff
|
||||
+};
|
||||
+
|
||||
+enum ArmExperimentalMLOperationsInstructions {
|
||||
+ ArmExperimentalMLOperationsCALL = 0,
|
||||
+ ArmExperimentalMLOperationsInstructionsMax = 0x7fffffff
|
||||
+};
|
||||
+
|
||||
+
|
||||
+#ifdef __cplusplus
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+#endif // SPIRV_UNIFIED1_ArmExperimentalMLOperations_H_
|
||||
diff --git a/include/spirv/unified1/extinst.arm.experimental-ml-operations.grammar.json b/include/spirv/unified1/extinst.arm.experimental-ml-operations.grammar.json
|
||||
new file mode 100644
|
||||
index 0000000..169dfe9
|
||||
--- /dev/null
|
||||
+++ b/include/spirv/unified1/extinst.arm.experimental-ml-operations.grammar.json
|
||||
@@ -0,0 +1,25 @@
|
||||
+{
|
||||
+ "copyright": [
|
||||
+ "SPDX-FileCopyrightText: 2025 Arm Ltd.",
|
||||
+ "SPDX-License-Identifier: MIT"
|
||||
+ ],
|
||||
+ "revision": 1,
|
||||
+ "instructions": [
|
||||
+ {
|
||||
+ "opname": "CALL",
|
||||
+ "opcode": 0,
|
||||
+ "operands": [
|
||||
+ {
|
||||
+ "kind": "LiteralInteger",
|
||||
+ "name": "Opcode"
|
||||
+ },
|
||||
+ {
|
||||
+ "kind": "IdRef",
|
||||
+ "quantifier": "*",
|
||||
+ "name": "Parameters"
|
||||
+ }
|
||||
+ ]
|
||||
+ }
|
||||
+ ],
|
||||
+ "operand_kinds": []
|
||||
+}
|
||||
diff --git a/tools/buildHeaders/bin/makeExtinstHeaders.py b/tools/buildHeaders/bin/makeExtinstHeaders.py
|
||||
index 1c9fbfd..863fca1 100755
|
||||
--- a/tools/buildHeaders/bin/makeExtinstHeaders.py
|
||||
+++ b/tools/buildHeaders/bin/makeExtinstHeaders.py
|
||||
@@ -32,3 +32,4 @@ mk_extinst('NonSemanticVkspReflection', 'extinst.nonsemantic.vkspreflection.gram
|
||||
mk_extinst('TOSA', 'extinst.tosa.001000.1.grammar.json', 'TOSA.001000.1')
|
||||
mk_extinst('ArmMotionEngine', 'extinst.arm.motion-engine.100.grammar.json', 'ArmMotionEngine.100')
|
||||
mk_extinst('NonSemanticGraphDebugInfo', 'extinst.nonsemantic.graph.debuginfo.grammar.json')
|
||||
+mk_extinst('ArmExperimentalMLOperations', 'extinst.arm.experimental-ml-operations.grammar.json')
|
||||
--
|
||||
2.54.0
|
||||
|
||||
@@ -0,0 +1,207 @@
|
||||
From 1e770e7de8373a8dd49f23416cf7ca4001d01040 Mon Sep 17 00:00:00 2001
|
||||
From: Jebrim <jebscapeplugin@gmail.com>
|
||||
Date: Wed, 27 May 2026 10:48:38 -0500
|
||||
Subject: [PATCH 17/26] Add Pred as a new SPIR-V source language (#606)
|
||||
|
||||
* Add Pred as a new SPIR-V source language
|
||||
|
||||
* Update spirv.bf
|
||||
|
||||
* Update spirv.core.grammar.json
|
||||
|
||||
* Update spirv.cs
|
||||
|
||||
* Update spirv.hpp
|
||||
|
||||
* Update spirv.hpp11
|
||||
|
||||
* Update spirv.json
|
||||
|
||||
* Update spirv.lua
|
||||
|
||||
* Update spirv.py
|
||||
|
||||
* Update spv.d
|
||||
|
||||
* Update spir-v.xml
|
||||
---
|
||||
include/spirv/spir-v.xml | 3 ++-
|
||||
include/spirv/unified1/spirv.bf | 1 +
|
||||
include/spirv/unified1/spirv.core.grammar.json | 5 +++++
|
||||
include/spirv/unified1/spirv.cs | 1 +
|
||||
include/spirv/unified1/spirv.h | 2 ++
|
||||
include/spirv/unified1/spirv.hpp | 2 ++
|
||||
include/spirv/unified1/spirv.hpp11 | 2 ++
|
||||
include/spirv/unified1/spirv.json | 3 ++-
|
||||
include/spirv/unified1/spirv.lua | 1 +
|
||||
include/spirv/unified1/spirv.py | 1 +
|
||||
include/spirv/unified1/spv.d | 1 +
|
||||
11 files changed, 20 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/include/spirv/spir-v.xml b/include/spirv/spir-v.xml
|
||||
index 69a2c2a..1463dd6 100644
|
||||
--- a/include/spirv/spir-v.xml
|
||||
+++ b/include/spirv/spir-v.xml
|
||||
@@ -82,7 +82,8 @@
|
||||
<id value="47" vendor="ARM" comment="Contact Christopher Gautier, christopher.gautier@arm.com"/>
|
||||
<id value="48" vendor="Goopax" comment="Contact Ingo Josopait, josopait@goopax.com"/>
|
||||
<id value="49" vendor="Icyllis Milica" tool="Arc3D Shader Compiler" comment="Contact Icyllis Milica, https://github.com/BloCamLimb/Arc3D"/>
|
||||
- <unused start="50" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
|
||||
+ <id value="50" vendor="Isochron" tool="Pred" comment="Contact Justin Ead, jebrim@isochrontechnologies.com"/>
|
||||
+ <unused start="51" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
|
||||
</ids>
|
||||
|
||||
<!-- SECTION: SPIR-V Opcodes and Enumerants -->
|
||||
diff --git a/include/spirv/unified1/spirv.bf b/include/spirv/unified1/spirv.bf
|
||||
index 9497023..fb9644e 100644
|
||||
--- a/include/spirv/unified1/spirv.bf
|
||||
+++ b/include/spirv/unified1/spirv.bf
|
||||
@@ -56,6 +56,7 @@ namespace Spv
|
||||
Slang = 11,
|
||||
Zig = 12,
|
||||
Rust = 13,
|
||||
+ Pred = 14,
|
||||
Max = 0x7fffffff,
|
||||
}
|
||||
|
||||
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
|
||||
index 4f96982..9e1adee 100644
|
||||
--- a/include/spirv/unified1/spirv.core.grammar.json
|
||||
+++ b/include/spirv/unified1/spirv.core.grammar.json
|
||||
@@ -12684,6 +12684,11 @@
|
||||
"enumerant" : "Rust",
|
||||
"value" : 13,
|
||||
"version" : "1.0"
|
||||
+ },
|
||||
+ {
|
||||
+ "enumerant" : "Pred",
|
||||
+ "value" : 14,
|
||||
+ "version" : "1.0"
|
||||
}
|
||||
]
|
||||
},
|
||||
diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs
|
||||
index 7631bf2..d0f69b9 100644
|
||||
--- a/include/spirv/unified1/spirv.cs
|
||||
+++ b/include/spirv/unified1/spirv.cs
|
||||
@@ -55,6 +55,7 @@ namespace Spv
|
||||
Slang = 11,
|
||||
Zig = 12,
|
||||
Rust = 13,
|
||||
+ Pred = 14,
|
||||
Max = 0x7fffffff,
|
||||
}
|
||||
|
||||
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
|
||||
index 5ab265f..966ad68 100644
|
||||
--- a/include/spirv/unified1/spirv.h
|
||||
+++ b/include/spirv/unified1/spirv.h
|
||||
@@ -63,6 +63,7 @@ typedef enum SpvSourceLanguage_ {
|
||||
SpvSourceLanguageSlang = 11,
|
||||
SpvSourceLanguageZig = 12,
|
||||
SpvSourceLanguageRust = 13,
|
||||
+ SpvSourceLanguagePred = 14,
|
||||
SpvSourceLanguageMax = 0x7fffffff,
|
||||
} SpvSourceLanguage;
|
||||
|
||||
@@ -3564,6 +3565,7 @@ inline const char* SpvSourceLanguageToString(SpvSourceLanguage value) {
|
||||
case SpvSourceLanguageSlang: return "Slang";
|
||||
case SpvSourceLanguageZig: return "Zig";
|
||||
case SpvSourceLanguageRust: return "Rust";
|
||||
+ case SpvSourceLanguagePred: return "Pred";
|
||||
default: return "Unknown";
|
||||
}
|
||||
}
|
||||
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
|
||||
index 33b4a8b..517b7cf 100644
|
||||
--- a/include/spirv/unified1/spirv.hpp
|
||||
+++ b/include/spirv/unified1/spirv.hpp
|
||||
@@ -59,6 +59,7 @@ enum SourceLanguage {
|
||||
SourceLanguageSlang = 11,
|
||||
SourceLanguageZig = 12,
|
||||
SourceLanguageRust = 13,
|
||||
+ SourceLanguagePred = 14,
|
||||
SourceLanguageMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@@ -3560,6 +3561,7 @@ inline const char* SourceLanguageToString(SourceLanguage value) {
|
||||
case SourceLanguageSlang: return "Slang";
|
||||
case SourceLanguageZig: return "Zig";
|
||||
case SourceLanguageRust: return "Rust";
|
||||
+ case SourceLanguagePred: return "Pred";
|
||||
default: return "Unknown";
|
||||
}
|
||||
}
|
||||
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
|
||||
index eb15ea2..4fa5f8f 100644
|
||||
--- a/include/spirv/unified1/spirv.hpp11
|
||||
+++ b/include/spirv/unified1/spirv.hpp11
|
||||
@@ -59,6 +59,7 @@ enum class SourceLanguage : unsigned {
|
||||
Slang = 11,
|
||||
Zig = 12,
|
||||
Rust = 13,
|
||||
+ Pred = 14,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
@@ -3560,6 +3561,7 @@ inline const char* SourceLanguageToString(SourceLanguage value) {
|
||||
case SourceLanguage::Slang: return "Slang";
|
||||
case SourceLanguage::Zig: return "Zig";
|
||||
case SourceLanguage::Rust: return "Rust";
|
||||
+ case SourceLanguage::Pred: return "Pred";
|
||||
default: return "Unknown";
|
||||
}
|
||||
}
|
||||
diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json
|
||||
index 35f85d9..43a7891 100644
|
||||
--- a/include/spirv/unified1/spirv.json
|
||||
+++ b/include/spirv/unified1/spirv.json
|
||||
@@ -65,7 +65,8 @@
|
||||
"WGSL": 10,
|
||||
"Slang": 11,
|
||||
"Zig": 12,
|
||||
- "Rust": 13
|
||||
+ "Rust": 13,
|
||||
+ "Pred": 14
|
||||
}
|
||||
},
|
||||
{
|
||||
diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua
|
||||
index f244e9a..bb4c52f 100644
|
||||
--- a/include/spirv/unified1/spirv.lua
|
||||
+++ b/include/spirv/unified1/spirv.lua
|
||||
@@ -50,6 +50,7 @@ spv = {
|
||||
Slang = 11,
|
||||
Zig = 12,
|
||||
Rust = 13,
|
||||
+ Pred = 14,
|
||||
Max = 0x7fffffff,
|
||||
},
|
||||
|
||||
diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py
|
||||
index af0e61f..e01e462 100644
|
||||
--- a/include/spirv/unified1/spirv.py
|
||||
+++ b/include/spirv/unified1/spirv.py
|
||||
@@ -50,6 +50,7 @@ spv = {
|
||||
'Slang' : 11,
|
||||
'Zig' : 12,
|
||||
'Rust' : 13,
|
||||
+ 'Pred' : 14,
|
||||
},
|
||||
|
||||
'ExecutionModel' : {
|
||||
diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d
|
||||
index 1ed7d76..3e631ef 100644
|
||||
--- a/include/spirv/unified1/spv.d
|
||||
+++ b/include/spirv/unified1/spv.d
|
||||
@@ -58,6 +58,7 @@ enum SourceLanguage : uint
|
||||
Slang = 11,
|
||||
Zig = 12,
|
||||
Rust = 13,
|
||||
+ Pred = 14,
|
||||
Max = 0x7fffffff,
|
||||
}
|
||||
|
||||
--
|
||||
2.54.0
|
||||
|
||||
@@ -0,0 +1,186 @@
|
||||
From c63848ecf2200425511319fd8bf2c17b751e501e Mon Sep 17 00:00:00 2001
|
||||
From: apilatosba <104633944+apilatosba@users.noreply.github.com>
|
||||
Date: Wed, 17 Jun 2026 17:38:53 +0200
|
||||
Subject: [PATCH 18/26] added source language entry ApilaJai (#607)
|
||||
|
||||
---
|
||||
include/spirv/spir-v.xml | 3 ++-
|
||||
include/spirv/unified1/spirv.bf | 1 +
|
||||
include/spirv/unified1/spirv.core.grammar.json | 5 +++++
|
||||
include/spirv/unified1/spirv.cs | 1 +
|
||||
include/spirv/unified1/spirv.h | 2 ++
|
||||
include/spirv/unified1/spirv.hpp | 2 ++
|
||||
include/spirv/unified1/spirv.hpp11 | 2 ++
|
||||
include/spirv/unified1/spirv.json | 3 ++-
|
||||
include/spirv/unified1/spirv.lua | 1 +
|
||||
include/spirv/unified1/spirv.py | 1 +
|
||||
include/spirv/unified1/spv.d | 1 +
|
||||
11 files changed, 20 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/include/spirv/spir-v.xml b/include/spirv/spir-v.xml
|
||||
index 1463dd6..1b083a4 100644
|
||||
--- a/include/spirv/spir-v.xml
|
||||
+++ b/include/spirv/spir-v.xml
|
||||
@@ -83,7 +83,8 @@
|
||||
<id value="48" vendor="Goopax" comment="Contact Ingo Josopait, josopait@goopax.com"/>
|
||||
<id value="49" vendor="Icyllis Milica" tool="Arc3D Shader Compiler" comment="Contact Icyllis Milica, https://github.com/BloCamLimb/Arc3D"/>
|
||||
<id value="50" vendor="Isochron" tool="Pred" comment="Contact Justin Ead, jebrim@isochrontechnologies.com"/>
|
||||
- <unused start="51" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
|
||||
+ <id value="51" vendor="apilatosba" tool="Apila Jai Compiler" comment="https://github.com/apilatosba/jai_to_spirv_compiler"/>
|
||||
+ <unused start="52" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
|
||||
</ids>
|
||||
|
||||
<!-- SECTION: SPIR-V Opcodes and Enumerants -->
|
||||
diff --git a/include/spirv/unified1/spirv.bf b/include/spirv/unified1/spirv.bf
|
||||
index fb9644e..40fbfff 100644
|
||||
--- a/include/spirv/unified1/spirv.bf
|
||||
+++ b/include/spirv/unified1/spirv.bf
|
||||
@@ -57,6 +57,7 @@ namespace Spv
|
||||
Zig = 12,
|
||||
Rust = 13,
|
||||
Pred = 14,
|
||||
+ ApilaJai = 15,
|
||||
Max = 0x7fffffff,
|
||||
}
|
||||
|
||||
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
|
||||
index 9e1adee..8b5595c 100644
|
||||
--- a/include/spirv/unified1/spirv.core.grammar.json
|
||||
+++ b/include/spirv/unified1/spirv.core.grammar.json
|
||||
@@ -12689,6 +12689,11 @@
|
||||
"enumerant" : "Pred",
|
||||
"value" : 14,
|
||||
"version" : "1.0"
|
||||
+ },
|
||||
+ {
|
||||
+ "enumerant" : "ApilaJai",
|
||||
+ "value" : 15,
|
||||
+ "version" : "1.0"
|
||||
}
|
||||
]
|
||||
},
|
||||
diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs
|
||||
index d0f69b9..a1b7d58 100644
|
||||
--- a/include/spirv/unified1/spirv.cs
|
||||
+++ b/include/spirv/unified1/spirv.cs
|
||||
@@ -56,6 +56,7 @@ namespace Spv
|
||||
Zig = 12,
|
||||
Rust = 13,
|
||||
Pred = 14,
|
||||
+ ApilaJai = 15,
|
||||
Max = 0x7fffffff,
|
||||
}
|
||||
|
||||
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
|
||||
index 966ad68..d1f88cf 100644
|
||||
--- a/include/spirv/unified1/spirv.h
|
||||
+++ b/include/spirv/unified1/spirv.h
|
||||
@@ -64,6 +64,7 @@ typedef enum SpvSourceLanguage_ {
|
||||
SpvSourceLanguageZig = 12,
|
||||
SpvSourceLanguageRust = 13,
|
||||
SpvSourceLanguagePred = 14,
|
||||
+ SpvSourceLanguageApilaJai = 15,
|
||||
SpvSourceLanguageMax = 0x7fffffff,
|
||||
} SpvSourceLanguage;
|
||||
|
||||
@@ -3566,6 +3567,7 @@ inline const char* SpvSourceLanguageToString(SpvSourceLanguage value) {
|
||||
case SpvSourceLanguageZig: return "Zig";
|
||||
case SpvSourceLanguageRust: return "Rust";
|
||||
case SpvSourceLanguagePred: return "Pred";
|
||||
+ case SpvSourceLanguageApilaJai: return "ApilaJai";
|
||||
default: return "Unknown";
|
||||
}
|
||||
}
|
||||
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
|
||||
index 517b7cf..9f3cb01 100644
|
||||
--- a/include/spirv/unified1/spirv.hpp
|
||||
+++ b/include/spirv/unified1/spirv.hpp
|
||||
@@ -60,6 +60,7 @@ enum SourceLanguage {
|
||||
SourceLanguageZig = 12,
|
||||
SourceLanguageRust = 13,
|
||||
SourceLanguagePred = 14,
|
||||
+ SourceLanguageApilaJai = 15,
|
||||
SourceLanguageMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@@ -3562,6 +3563,7 @@ inline const char* SourceLanguageToString(SourceLanguage value) {
|
||||
case SourceLanguageZig: return "Zig";
|
||||
case SourceLanguageRust: return "Rust";
|
||||
case SourceLanguagePred: return "Pred";
|
||||
+ case SourceLanguageApilaJai: return "ApilaJai";
|
||||
default: return "Unknown";
|
||||
}
|
||||
}
|
||||
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
|
||||
index 4fa5f8f..4eb6fbd 100644
|
||||
--- a/include/spirv/unified1/spirv.hpp11
|
||||
+++ b/include/spirv/unified1/spirv.hpp11
|
||||
@@ -60,6 +60,7 @@ enum class SourceLanguage : unsigned {
|
||||
Zig = 12,
|
||||
Rust = 13,
|
||||
Pred = 14,
|
||||
+ ApilaJai = 15,
|
||||
Max = 0x7fffffff,
|
||||
};
|
||||
|
||||
@@ -3562,6 +3563,7 @@ inline const char* SourceLanguageToString(SourceLanguage value) {
|
||||
case SourceLanguage::Zig: return "Zig";
|
||||
case SourceLanguage::Rust: return "Rust";
|
||||
case SourceLanguage::Pred: return "Pred";
|
||||
+ case SourceLanguage::ApilaJai: return "ApilaJai";
|
||||
default: return "Unknown";
|
||||
}
|
||||
}
|
||||
diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json
|
||||
index 43a7891..1b124e4 100644
|
||||
--- a/include/spirv/unified1/spirv.json
|
||||
+++ b/include/spirv/unified1/spirv.json
|
||||
@@ -66,7 +66,8 @@
|
||||
"Slang": 11,
|
||||
"Zig": 12,
|
||||
"Rust": 13,
|
||||
- "Pred": 14
|
||||
+ "Pred": 14,
|
||||
+ "ApilaJai": 15
|
||||
}
|
||||
},
|
||||
{
|
||||
diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua
|
||||
index bb4c52f..a5f9267 100644
|
||||
--- a/include/spirv/unified1/spirv.lua
|
||||
+++ b/include/spirv/unified1/spirv.lua
|
||||
@@ -51,6 +51,7 @@ spv = {
|
||||
Zig = 12,
|
||||
Rust = 13,
|
||||
Pred = 14,
|
||||
+ ApilaJai = 15,
|
||||
Max = 0x7fffffff,
|
||||
},
|
||||
|
||||
diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py
|
||||
index e01e462..17cb6b1 100644
|
||||
--- a/include/spirv/unified1/spirv.py
|
||||
+++ b/include/spirv/unified1/spirv.py
|
||||
@@ -51,6 +51,7 @@ spv = {
|
||||
'Zig' : 12,
|
||||
'Rust' : 13,
|
||||
'Pred' : 14,
|
||||
+ 'ApilaJai' : 15,
|
||||
},
|
||||
|
||||
'ExecutionModel' : {
|
||||
diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d
|
||||
index 3e631ef..ceb9aac 100644
|
||||
--- a/include/spirv/unified1/spv.d
|
||||
+++ b/include/spirv/unified1/spv.d
|
||||
@@ -59,6 +59,7 @@ enum SourceLanguage : uint
|
||||
Zig = 12,
|
||||
Rust = 13,
|
||||
Pred = 14,
|
||||
+ ApilaJai = 15,
|
||||
Max = 0x7fffffff,
|
||||
}
|
||||
|
||||
--
|
||||
2.54.0
|
||||
|
||||
@@ -0,0 +1,116 @@
|
||||
From ed734383000313dd53e57aec28b35effc28f8f61 Mon Sep 17 00:00:00 2001
|
||||
From: Khronos Group Web Services <webservices@khronosgroup.org>
|
||||
Date: Wed, 24 Jun 2026 11:37:39 -0400
|
||||
Subject: [PATCH 19/26] license: Add or update REUSE compliance (#609)
|
||||
|
||||
---
|
||||
CODE_OF_CONDUCT.md | 7 ++++++-
|
||||
README.md | 5 +++++
|
||||
REUSE.toml | 42 ++++++++++++------------------------------
|
||||
SECURITY.md | 5 +++++
|
||||
4 files changed, 28 insertions(+), 31 deletions(-)
|
||||
|
||||
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
|
||||
index a11610b..f601007 100644
|
||||
--- a/CODE_OF_CONDUCT.md
|
||||
+++ b/CODE_OF_CONDUCT.md
|
||||
@@ -1 +1,6 @@
|
||||
-A reminder that this issue tracker is managed by the Khronos Group. Interactions here should follow the Khronos Code of Conduct (https://www.khronos.org/developers/code-of-conduct), which prohibits aggressive or derogatory language. Please keep the discussion friendly and civil.
|
||||
+<!--
|
||||
+SPDX-FileCopyrightText: 2026 The Khronos Group Inc.
|
||||
+SPDX-License-Identifier: CC-BY-4.0
|
||||
+-->
|
||||
+
|
||||
+A reminder that this repository is managed by the Khronos Group. Interactions here should follow the Khronos Code of Conduct (https://www.khronos.org/developers/code-of-conduct), which prohibits aggressive or derogatory language. Please keep the discussion friendly and civil.
|
||||
diff --git a/README.md b/README.md
|
||||
index ed38828..16fa0cd 100644
|
||||
--- a/README.md
|
||||
+++ b/README.md
|
||||
@@ -1,3 +1,8 @@
|
||||
+<!--
|
||||
+SPDX-FileCopyrightText: 2026 The Khronos Group Inc.
|
||||
+SPDX-License-Identifier: CC-BY-4.0
|
||||
+-->
|
||||
+
|
||||
# SPIR-V Headers
|
||||
|
||||
This repository contains machine-readable files for the
|
||||
diff --git a/REUSE.toml b/REUSE.toml
|
||||
index 8392272..00837a5 100644
|
||||
--- a/REUSE.toml
|
||||
+++ b/REUSE.toml
|
||||
@@ -4,46 +4,28 @@ SPDX-PackageSupplier = "The Khronos Group, Inc."
|
||||
SPDX-PackageDownloadLocation = "https://github.com/KhronosGroup/SPIRV-Headers"
|
||||
|
||||
[[annotations]]
|
||||
-path = ["**.md", "WORKSPACE", ".git**"]
|
||||
-precedence = "aggregate"
|
||||
+path = [
|
||||
+ "WORKSPACE",
|
||||
+ ".git**",
|
||||
+]
|
||||
+precedence = "closest"
|
||||
SPDX-FileCopyrightText = "The Khronos Group, Inc."
|
||||
SPDX-License-Identifier = "CC-BY-4.0"
|
||||
|
||||
[[annotations]]
|
||||
-path = ["include/**/*.json" ]
|
||||
-precedence = "aggregate"
|
||||
+path = ["**" ]
|
||||
+precedence = "closest"
|
||||
SPDX-FileCopyrightText = "The Khronos Group, Inc."
|
||||
SPDX-License-Identifier = "MIT"
|
||||
|
||||
[[annotations]]
|
||||
-path = ["include/spirv/1.0/spir*", "include/spirv/1.1/spir*", "include/spirv/1.2/spir*"]
|
||||
-precedence = "aggregate"
|
||||
-SPDX-FileCopyrightText = "2014-2018 The Khronos Group, Inc."
|
||||
-SPDX-License-Identifier = "MIT"
|
||||
-
|
||||
-[[annotations]]
|
||||
-path = ["include/spirv/unified1/spir*", "include/spirv/unified1/spv.d"]
|
||||
-precedence = "aggregate"
|
||||
-SPDX-FileCopyrightText = "2014-2024 The Khronos Group, Inc."
|
||||
-SPDX-License-Identifier = "MIT"
|
||||
-
|
||||
-[[annotations]]
|
||||
-path = [
|
||||
- "BUILD.bazel",
|
||||
- "MODULE.bazel",
|
||||
- "cmake/SPIRV-Headers.pc.in",
|
||||
- "tools/buildHeaders/CMakeLists.txt",
|
||||
- "tools/buildHeaders/bin/makeExtinstHeaders.py",
|
||||
- "tools/buildHeaders/bin/makeHeaders",
|
||||
- "include/spirv/unified1/OpenCLDebugInfo100.h",
|
||||
- "include/spirv/unified1/DebugInfo.h"
|
||||
-]
|
||||
-precedence = "aggregate"
|
||||
-SPDX-FileCopyrightText = "The Khronos Group, Inc."
|
||||
+path = "tools/buildHeaders/bin/generate_language_headers.py"
|
||||
+precedence = "closest"
|
||||
+SPDX-FileCopyrightText = "Google LLC"
|
||||
SPDX-License-Identifier = "MIT"
|
||||
|
||||
[[annotations]]
|
||||
path = "tools/buildHeaders/jsoncpp/**"
|
||||
-precedence = "aggregate"
|
||||
-SPDX-FileCopyrightText = "2007-2010 by Baptiste Lepilleur"
|
||||
+precedence = "closest"
|
||||
+SPDX-FileCopyrightText = "Baptiste Lepilleur"
|
||||
SPDX-License-Identifier = "MIT"
|
||||
diff --git a/SECURITY.md b/SECURITY.md
|
||||
index 9b51f0c..cdc2060 100644
|
||||
--- a/SECURITY.md
|
||||
+++ b/SECURITY.md
|
||||
@@ -1,3 +1,8 @@
|
||||
+<!--
|
||||
+SPDX-FileCopyrightText: 2026 The Khronos Group Inc.
|
||||
+SPDX-License-Identifier: CC-BY-4.0
|
||||
+-->
|
||||
+
|
||||
# Security Policy
|
||||
|
||||
## Supported Versions
|
||||
--
|
||||
2.54.0
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
From daa093dd29aab8cbb6562b808370562f56e399fb Mon Sep 17 00:00:00 2001
|
||||
From: Khronos Group Web Services <webservices@khronosgroup.org>
|
||||
Date: Wed, 24 Jun 2026 11:39:24 -0400
|
||||
Subject: [PATCH 20/26] chore: Add CONTRIBUTING file (#608)
|
||||
|
||||
---
|
||||
CONTRIBUTING.md | 28 ++++++++++++++++++++++++++++
|
||||
1 file changed, 28 insertions(+)
|
||||
create mode 100644 CONTRIBUTING.md
|
||||
|
||||
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
|
||||
new file mode 100644
|
||||
index 0000000..3d3062c
|
||||
--- /dev/null
|
||||
+++ b/CONTRIBUTING.md
|
||||
@@ -0,0 +1,28 @@
|
||||
+<!--
|
||||
+SPDX-FileCopyrightText: 2026 The Khronos Group Inc.
|
||||
+SPDX-License-Identifier: CC-BY-4.0
|
||||
+-->
|
||||
+
|
||||
+# Contributing to SPIRV-Headers
|
||||
+
|
||||
+## Contributing
|
||||
+
|
||||
+This project welcomes contributions and suggestions. Contributions require you
|
||||
+to agree to a
|
||||
+[Contributor License Agreement (CLA)](https://cla-assistant.io/KhronosGroup/SPIRV-Headers)
|
||||
+declaring that you have the right to, and actually do, grant the rights to use
|
||||
+your contribution.
|
||||
+
|
||||
+When you submit a pull request, a CLA bot will determine whether you need to
|
||||
+sign a CLA. Simply follow the instructions provided.
|
||||
+
|
||||
+## AI-Assisted Contributions
|
||||
+
|
||||
+By submitting a Contribution to this repository, you additionally represent
|
||||
+that, to the extent any of Your Contributions were developed with the
|
||||
+assistance of artificial intelligence tools or AI-generated code, You have
|
||||
+exercised sufficient review, judgment, and creative direction over such tools
|
||||
+and resulting material to reasonably consider it Your original creation, and
|
||||
+You are not aware of any third-party license, intellectual property claim, or
|
||||
+other restriction arising from such use that is associated with any part of
|
||||
+Your Contribution or use thereof.
|
||||
--
|
||||
2.54.0
|
||||
|
||||
@@ -12,6 +12,29 @@ package spirv-headers {
|
||||
checksum = "6cmvMCH5aiHykXcozckfMOVA0nm0am4Xr2g9swBB9FtOV1vYBHgats5aRv4uQ9Kq";
|
||||
};
|
||||
|
||||
patches = [
|
||||
"0001-grammar-and-header-changes-for-SPV_INTEL_predicated_.patch",
|
||||
"0002-header-updates-for-SPV_INTEL_rounded_divide_sqrt-582.patch",
|
||||
"0003-Add-SPV_MESA_fragment_coverage_mask-enumerants-580.patch",
|
||||
"0004-Update-headers-for-spirv-issue-373-584.patch",
|
||||
"0005-Reserve-some-tokens-for-Samsung-586.patch",
|
||||
"0006-Fix-OpCompositeConstructContinuedINTEL-operands-587.patch",
|
||||
"0007-Update-spirv.core.grammar.json-revision-593.patch",
|
||||
"0008-Reserve-ImageOperand-17-for-Google-589.patch",
|
||||
"0009-Fix-OpReadPipeBlockingINTEL-OpWritePipeBlockingINTEL.patch",
|
||||
"0010-Add-SPV_AMD_weak_linkage-extension-583.patch",
|
||||
"0011-Add-SPV_KHR_opacity_micromap-599.patch",
|
||||
"0012-Add-NonSemanticGraphDebugInfo-instruction-set-591.patch",
|
||||
"0013-Revert-Add-SPV_MESA_fragment_coverage_mask-enumerant.patch",
|
||||
"0014-SPV_EXT_split_barrier-600.patch",
|
||||
"0015-SPV_NV_cooperative_matrix_decode_vector-601.patch",
|
||||
"0016-Add-ArmExperimentalMLOperations-instruction-set-602.patch",
|
||||
"0017-Add-Pred-as-a-new-SPIR-V-source-language-606.patch",
|
||||
"0018-added-source-language-entry-ApilaJai-607.patch",
|
||||
"0019-license-Add-or-update-REUSE-compliance-609.patch",
|
||||
"0020-chore-Add-CONTRIBUTING-file-608.patch",
|
||||
];
|
||||
|
||||
exec = cmake {
|
||||
// upstream has no tests
|
||||
skipTest = true;
|
||||
@@ -24,11 +47,11 @@ package spirv-tools {
|
||||
anitya = 14894;
|
||||
latest = anityaFallback;
|
||||
|
||||
version# = "2026.1";
|
||||
version# = "2026.2";
|
||||
source = remoteGitHub {
|
||||
suffix = "KhronosGroup/SPIRV-Tools";
|
||||
tag = "v"+version;
|
||||
checksum = "ZSQPQx8NltCDzQLk4qlaVxyWRWeI_JtsjEpeFt3kezTanl9DTHfLixSUCezMFBjv";
|
||||
checksum = "pJ78inb4VzLy8CjQOESpIHHGYVVOR6qN-ZqB-2MzGTcKaoYb3bqhSjkKupiaJzIk";
|
||||
};
|
||||
|
||||
exec = cmake {
|
||||
@@ -51,11 +74,11 @@ package spirv-llvm-translator {
|
||||
website = "https://github.com/KhronosGroup/SPIRV-LLVM-Translator";
|
||||
anitya = 227273;
|
||||
|
||||
version# = "22.1.2";
|
||||
version# = "22.1.4";
|
||||
source = remoteGitHub {
|
||||
suffix = "KhronosGroup/SPIRV-LLVM-Translator";
|
||||
tag = "v"+version;
|
||||
checksum = "JZAaV5ewYcm-35YA_U2BM2IcsQouZtX1BLZR0zh2vSlfEXMsT5OCtY4Gh5RJkcGy";
|
||||
checksum = "xh5ReZ2_i2vX56dZBnizXdHjwsl1y4D32Ptu5IrBdqoCzBqxOlynSj83FvlkcphS";
|
||||
};
|
||||
|
||||
// litArgs emits shell syntax
|
||||
@@ -66,6 +89,22 @@ package spirv-llvm-translator {
|
||||
default = [
|
||||
// error: line 13: OpTypeCooperativeMatrixKHR Scope is limited to Workgroup and Subgroup
|
||||
"cooperative_matrix_constant_null.spvasm",
|
||||
// error: line 66: NonSemantic.Shader.DebugInfo.200 DebugTypeFunction: expected operand Return Type is not a valid debug type
|
||||
"DebugInfo/NonSemantic/Shader200/DebugLineOnlyOnce.ll",
|
||||
// error: line 52: End of input reached while decoding OpExtInst starting at word 236: expected more operands after 8 words.
|
||||
"DebugInfo/NonSemantic/Shader200/DebugLinePriority.spt",
|
||||
// error: line 28: FPRoundingMode decoration can be applied only to a conversion instruction to or from a floating-point type.
|
||||
"llvm-intrinsics/constrained-arithmetic.ll",
|
||||
// error: line 78: OpLifetimeStart pointer operand type must be a OpTypePointer.
|
||||
"llvm-intrinsics/lifetime.ll",
|
||||
// error: line 61: FPRoundingMode decoration can be applied only to a conversion instruction to or from a floating-point type.
|
||||
"transcoding/OpenCL/convert_functions.ll",
|
||||
// error: line 56: OpConstantComposite must not have spec constant operands: <id> '30[%30]'
|
||||
"transcoding/constant-vars.ll",
|
||||
// error: line 61: Expected input and Result Type to point to the same type: SpecConstantOp
|
||||
"transcoding/global_block.cl",
|
||||
// error: line 55: OpConstantComposite must not have spec constant operands: <id> '16[%16]'
|
||||
"type-scavenger/globals.ll",
|
||||
];
|
||||
|
||||
arm64 = [
|
||||
@@ -3,11 +3,11 @@ package tamago {
|
||||
website = "https://github.com/usbarmory/tamago-go";
|
||||
anitya = 388872;
|
||||
|
||||
version# = "1.26.4";
|
||||
version# = "1.26.5";
|
||||
source = remoteGitHub {
|
||||
suffix = "usbarmory/tamago-go";
|
||||
tag = "tamago-go"+version;
|
||||
checksum = "3-VmJ2mRLQnJtbcXny2unpc7RMNzvVxajirl_M4o-JP7_oRrWOFuaJqUfE-yrZL-";
|
||||
checksum = "QESl24dveM1jniFx_PkPGbxQe7daHcnMlMQXC1MXz6EEmxSeYyrI-tMLi0NEu8QE";
|
||||
};
|
||||
|
||||
env = [
|
||||
|
||||
@@ -3,12 +3,12 @@ package wayland {
|
||||
website = "https://wayland.freedesktop.org";
|
||||
anitya = 10061;
|
||||
|
||||
version# = "1.25.0";
|
||||
version# = "1.25.91";
|
||||
source = remoteGitLab {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
suffix = "wayland/wayland";
|
||||
ref = version;
|
||||
checksum = "q-4dYXme46JPgLGtXAxyZGTy7udll9RfT0VXtcW2YRR1WWViUhvdZXZneXzLqpCg";
|
||||
checksum = "SvltMSgObMdDmRoqlSRg_TlKoemR3R-uXtRlRE8bvdw6MFxFp69f0geLOJvahyLT";
|
||||
};
|
||||
|
||||
writable = true;
|
||||
@@ -19,14 +19,14 @@ echo 'int main(){}' > tests/sanity-test.c
|
||||
|
||||
exec = meson {
|
||||
setup = {
|
||||
"Ddefault_library": "both";
|
||||
"Ddocumentation": "false";
|
||||
"Dtests": "true";
|
||||
"default_library": "both";
|
||||
"documentation": "false";
|
||||
"tests": "true";
|
||||
};
|
||||
};
|
||||
|
||||
inputs = [
|
||||
gawk,
|
||||
awk,
|
||||
diffutils,
|
||||
|
||||
libffi,
|
||||
|
||||
@@ -3,19 +3,19 @@ package wlroots {
|
||||
website = "https://gitlab.freedesktop.org/wlroots/wlroots";
|
||||
anitya = 18357;
|
||||
|
||||
version# = "0.20.1";
|
||||
version# = "0.20.2";
|
||||
source = remoteGitLab {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
suffix = "wlroots/wlroots";
|
||||
ref = version;
|
||||
checksum = "NQAn59GTXYBE4JHkgKnOUGZi9TGKcIrgH0khj53zDUj0whIQvNAc-sE_8xWYF66a";
|
||||
checksum = "TDDJLXJ83uZEu-81LZeDlM0f1wNxaFd4Xn2q1NlKhm7IAEHnZJQHSdLmJIC4As_e";
|
||||
};
|
||||
|
||||
exec = meson {
|
||||
setup = {
|
||||
"Dxwayland": "enabled";
|
||||
"Dallocators": "gbm";
|
||||
"Dbackends": "drm,libinput";
|
||||
"xwayland": "enabled";
|
||||
"allocators": "gbm";
|
||||
"backends": "drm,libinput";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
+20
-20
@@ -80,7 +80,7 @@ package libXau {
|
||||
|
||||
exec = meson {
|
||||
setup = {
|
||||
"Ddefault_library": "both";
|
||||
"default_library": "both";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -576,12 +576,12 @@ package libXfont2 {
|
||||
website = "https://gitlab.freedesktop.org/xorg/lib/libxfont";
|
||||
anitya = 17165;
|
||||
|
||||
version# = "2.0.7";
|
||||
version# = "2.0.8";
|
||||
source = remoteGitLab {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
suffix = "xorg/lib/libxfont";
|
||||
ref = "libXfont2-"+version;
|
||||
checksum = "jv9BZNA02493KB8j1lfAErF5SA3ZFcAhm3_UVJ--Bp1maz-vNprl_wXpkHApBi9M";
|
||||
checksum = "8bYRkoiDkbZC2nFs0cOlcmLUNKS6_ZkDTrxas2KxxCJm_PsUD_E58HkMCmGfPGkp";
|
||||
};
|
||||
|
||||
exec = make {
|
||||
@@ -682,7 +682,7 @@ package libpciaccess {
|
||||
|
||||
exec = meson {
|
||||
setup = {
|
||||
"Dzlib": "enabled";
|
||||
"zlib": "enabled";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -695,32 +695,32 @@ package xserver {
|
||||
website = "https://gitlab.freedesktop.org/xorg/xserver";
|
||||
anitya = 5250;
|
||||
|
||||
version# = "21.1.23";
|
||||
version# = "21.1.24";
|
||||
source = remoteGitLab {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
suffix = "xorg/xserver";
|
||||
ref = "xorg-server-"+version;
|
||||
checksum = "-hXqyWClfhoRYilXFruZFPCdT4bdYVn8S4BFW6teHqyuSjL2nxx3Fy7yhP2hJDZ6";
|
||||
checksum = "ueBiwKIOHZkSmJPzxAeze_SJHt4QxEHQTk1kMkic-GYxC7Fs41ckwgVzcwr2N3ca";
|
||||
};
|
||||
|
||||
exec = meson {
|
||||
setup = {
|
||||
"Dxorg": "true";
|
||||
"Dxephyr": "true";
|
||||
"Dxnest": "true";
|
||||
"Dipv6": "false";
|
||||
"xorg": "true";
|
||||
"xephyr": "true";
|
||||
"xnest": "true";
|
||||
"ipv6": "false";
|
||||
|
||||
"Dudev": "false";
|
||||
"Dudev_kms": "false";
|
||||
"Dglx": "false";
|
||||
"udev": "false";
|
||||
"udev_kms": "false";
|
||||
"glx": "false";
|
||||
|
||||
// ../../usr/src/xserver/glamor/glamor_glx.c:24:10: fatal error: 'epoxy/glx.h' file not found
|
||||
"Dglamor": "false";
|
||||
"glamor": "false";
|
||||
};
|
||||
};
|
||||
|
||||
inputs = [
|
||||
gawk,
|
||||
awk,
|
||||
|
||||
xorgproto,
|
||||
libxtrans,
|
||||
@@ -773,25 +773,25 @@ package xwayland {
|
||||
website = "https://gitlab.freedesktop.org/xorg/xserver";
|
||||
anitya = 180949;
|
||||
|
||||
version# = "24.1.12";
|
||||
version# = "24.1.13";
|
||||
source = remoteGitLab {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
suffix = "xorg/xserver";
|
||||
ref = "xwayland-"+version;
|
||||
checksum = "0D0bs8EbDzlyLIULvm6lizqzdx4g1-umdbjVVO7zk-cS1kVIaSkKronCqj95tz-A";
|
||||
checksum = "dZpEGlcPJ72TBCtnR1mvquvN4iUypGvGJ4tN9hpa-ljux28EkSCQRlQHLPRijz36";
|
||||
};
|
||||
|
||||
bin = [ "bash" ];
|
||||
exec = meson {
|
||||
setup = {
|
||||
"Dipv6": "false";
|
||||
"Dsystemd_notify": "false";
|
||||
"ipv6": "false";
|
||||
"systemd_notify": "false";
|
||||
};
|
||||
};
|
||||
|
||||
inputs = [
|
||||
bash,
|
||||
gawk,
|
||||
awk,
|
||||
|
||||
mesa,
|
||||
libglvnd,
|
||||
|
||||
@@ -16,7 +16,7 @@ package xkbcommon {
|
||||
|
||||
exec = meson {
|
||||
setup = {
|
||||
"Denable-x11": "false";
|
||||
"enable-x11": "false";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
+23
-17
@@ -10,6 +10,7 @@ import (
|
||||
"strings"
|
||||
"sync"
|
||||
"time"
|
||||
"unsafe"
|
||||
|
||||
"hakurei.app/fhs"
|
||||
"hakurei.app/internal/pkg"
|
||||
@@ -332,7 +333,7 @@ func (s *S) HasStageEarly() (ok bool) {
|
||||
}
|
||||
|
||||
// NewPatchedSource returns [pkg.Artifact] of source with patches applied. If
|
||||
// passthrough is true, source is returned as is for zero length patches.
|
||||
// passthrough is true, source is returned as is for zero-length patches.
|
||||
func (t Toolchain) NewPatchedSource(
|
||||
name string,
|
||||
source pkg.Artifact,
|
||||
@@ -346,29 +347,34 @@ func (t Toolchain) NewPatchedSource(
|
||||
paths := make([]pkg.ExecPath, len(patches)+1)
|
||||
for i, p := range patches {
|
||||
paths[i+1] = pkg.Path(
|
||||
AbsUsrSrc.Append(name+"-patches", p[0]+".patch"), false,
|
||||
pkg.NewFile(p[0]+".patch", []byte(p[1])),
|
||||
fhs.AbsRoot.Append("patches", p[0]), false,
|
||||
pkg.NewFile(p[0], unsafe.Slice(unsafe.StringData(p[1]), len(p[1]))),
|
||||
)
|
||||
}
|
||||
paths[0] = pkg.Path(AbsUsrSrc.Append(name), false, source)
|
||||
paths[0] = pkg.Path(fhs.AbsRoot.Append("src"), false, source)
|
||||
|
||||
aname := name + "-src"
|
||||
script := `
|
||||
cp -r /usr/src/` + name + `/. /work/.
|
||||
var buf strings.Builder
|
||||
buf.WriteString(`
|
||||
cp -r /src/. /work/.
|
||||
chmod -R +w /work && cd /work
|
||||
`
|
||||
`)
|
||||
if len(paths) > 1 {
|
||||
script += `
|
||||
cat /usr/src/` + name + `-patches/* | \
|
||||
patch \
|
||||
-p 1 \
|
||||
--ignore-whitespace
|
||||
`
|
||||
aname += "-patched"
|
||||
buf.WriteString(`
|
||||
function apply {
|
||||
echo "applying $1"
|
||||
patch -p 1 < "/patches/$1"
|
||||
}
|
||||
`)
|
||||
|
||||
for _, p := range patches {
|
||||
buf.WriteString("apply '")
|
||||
buf.WriteString(p[0])
|
||||
buf.WriteString("'\n")
|
||||
}
|
||||
}
|
||||
return t.New(aname, 0, t.Append(nil,
|
||||
return t.New(name+"-src", 0, t.Append(nil,
|
||||
_patch,
|
||||
), nil, nil, script, paths...)
|
||||
), nil, nil, buf.String(), paths...)
|
||||
}
|
||||
|
||||
// helperInPlace is a special directory value for omitting the cd statement.
|
||||
|
||||
@@ -878,6 +878,7 @@ func (s *S) getFrame() azalea.Frame {
|
||||
) (v any, set bool, err error) {
|
||||
var attr MesonHelper
|
||||
if err = args.Apply(map[unique.Handle[azalea.Ident]]any{
|
||||
k("muon"): &attr.Muon,
|
||||
k("preCompile"): &attr.ScriptCompileEarly,
|
||||
k("postCompile"): &attr.ScriptCompiled,
|
||||
k("postInstall"): &attr.Script,
|
||||
@@ -1053,7 +1054,7 @@ func (ctx *evalContext) pf(
|
||||
return
|
||||
}
|
||||
attr.Patches = append(attr.Patches, KV{
|
||||
strings.TrimSuffix(filepath.Base(pathname), ".patch"),
|
||||
filepath.Base(pathname),
|
||||
unsafe.String(unsafe.SliceData(p), len(p)),
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user