109858eae5
Follow-up to #10. The subdir layout I assumed worked turned out to not work — per 'man PKGBUILD': The filename in the array must NOT include any path components like ./ makepkg's source-staging only honors basenames; the patches/ subdir references staged the files but the basename-lookup at apply time failed with the same 'not found in build directory' error that #9 hit. I copied the chromium-fourier convention thinking it was proven, but chromium-fourier has no CI either and likely has the same latent breakage (separate issue, not in this PR's scope). The actually-working pattern is the mpv-fourier one: patches at the top level next to the PKGBUILD. mpv-fourier iter2 just built green on CI (#92) with that layout. This commit: - Moves all 8 patches (5 fourier + 3 arch upstream) from patches/ to arch/firefox-fourier/ via git mv (preserves blame). - Removes the now-empty patches/ subdir. - Strips 'patches/' prefix from source array entries. - Strips '/patches' from prepare() patch -i paths. No semantic change to the patch content or apply order. pkgrel 3 -> 4.
3109 lines
175 KiB
Diff
3109 lines
175 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
|
|
Date: Thu, 12 Feb 2026 09:31:45 +0100
|
|
Subject: [PATCH] Patch glsl-optimizer to build with glibc 2.43
|
|
|
|
---
|
|
.cargo/config.toml.in | 5 +
|
|
Cargo.lock | 3 +-
|
|
Cargo.toml | 2 +
|
|
supply-chain/audits.toml | 6 +
|
|
supply-chain/config.toml | 4 +
|
|
third_party/rust/glslopt/.cargo-checksum.json | 2 +-
|
|
third_party/rust/glslopt/.cargo_vcs_info.json | 6 -
|
|
third_party/rust/glslopt/Cargo.lock | 25 --
|
|
third_party/rust/glslopt/Cargo.toml | 4 +-
|
|
third_party/rust/glslopt/Cargo.toml.orig | 12 -
|
|
.../rust/glslopt/glsl-optimizer/.cargo-ok | 0
|
|
.../rust/glslopt/glsl-optimizer/.gitignore | 4 -
|
|
.../glslopt/glsl-optimizer/generateParsers.sh | 6 +-
|
|
.../include/c11/threads_posix.h | 6 +
|
|
.../src/compiler/glsl/ast_function.cpp | 2 +-
|
|
.../src/compiler/glsl/ast_to_hir.cpp | 24 +-
|
|
.../src/compiler/glsl/builtin_functions.cpp | 2 +-
|
|
.../src/compiler/glsl/glcpp/glcpp-lex.c | 8 +-
|
|
.../src/compiler/glsl/glcpp/glcpp-lex.l | 6 +-
|
|
.../glsl-optimizer/src/compiler/glsl/ir.cpp | 4 +-
|
|
.../glsl/ir_builder_print_visitor.cpp | 6 +-
|
|
.../compiler/glsl/ir_expression_operation.py | 18 +-
|
|
.../glsl/ir_expression_operation_constant.h | 248 +++++++++---------
|
|
.../compiler/glsl/ir_print_glsl_visitor.cpp | 6 +-
|
|
.../src/compiler/glsl/ir_print_visitor.cpp | 4 +-
|
|
.../src/compiler/glsl/linker.cpp | 2 +-
|
|
.../src/compiler/glsl/loop_analysis.cpp | 4 +-
|
|
.../glsl/lower_blend_equation_advanced.cpp | 2 +-
|
|
.../src/compiler/glsl/lower_buffer_access.cpp | 4 +-
|
|
.../src/compiler/glsl/lower_distance.cpp | 2 +-
|
|
.../src/compiler/glsl/lower_ubo_reference.cpp | 4 +-
|
|
.../src/compiler/glsl/opt_algebraic.cpp | 2 +-
|
|
.../src/compiler/glsl/opt_minmax.cpp | 2 +-
|
|
.../src/compiler/glsl/opt_vectorize.cpp | 2 +-
|
|
.../src/compiler/glsl_types.cpp | 16 +-
|
|
.../glsl-optimizer/src/compiler/glsl_types.h | 2 +-
|
|
.../src/compiler/shader_enums.c | 4 +-
|
|
.../glsl-optimizer/src/mesa/main/shaderobj.h | 12 +-
|
|
.../glslopt/glsl-optimizer/src/util/macros.h | 22 +-
|
|
third_party/rust/glslopt/src/bindings.rs | 46 ++--
|
|
40 files changed, 263 insertions(+), 276 deletions(-)
|
|
delete mode 100644 third_party/rust/glslopt/.cargo_vcs_info.json
|
|
delete mode 100644 third_party/rust/glslopt/Cargo.lock
|
|
delete mode 100644 third_party/rust/glslopt/Cargo.toml.orig
|
|
copy .trackerignore => third_party/rust/glslopt/glsl-optimizer/.cargo-ok (100%)
|
|
delete mode 100644 third_party/rust/glslopt/glsl-optimizer/.gitignore
|
|
|
|
diff --git a/.cargo/config.toml.in b/.cargo/config.toml.in
|
|
index a538c4565b3f..ee5bd9373215 100644
|
|
--- a/.cargo/config.toml.in
|
|
+++ b/.cargo/config.toml.in
|
|
@@ -5,6 +5,11 @@
|
|
[source.crates-io]
|
|
replace-with = "vendored-sources"
|
|
|
|
+[source."git+https://github.com/Erk-/glslopt-rs?rev=92fa39d0910e9e73de40b0d391906e6e2940080d"]
|
|
+git = "https://github.com/Erk-/glslopt-rs"
|
|
+rev = "92fa39d0910e9e73de40b0d391906e6e2940080d"
|
|
+replace-with = "vendored-sources"
|
|
+
|
|
[source."git+https://github.com/FirefoxGraphics/aa-stroke?rev=5776bdfc8ad664a1503db668fab397d818a5f98a"]
|
|
git = "https://github.com/FirefoxGraphics/aa-stroke"
|
|
rev = "5776bdfc8ad664a1503db668fab397d818a5f98a"
|
|
diff --git a/Cargo.lock b/Cargo.lock
|
|
index 84ae05133799..1de604eb9111 100644
|
|
--- a/Cargo.lock
|
|
+++ b/Cargo.lock
|
|
@@ -2894,8 +2894,7 @@ dependencies = [
|
|
[[package]]
|
|
name = "glslopt"
|
|
version = "0.1.12"
|
|
-source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
-checksum = "8ba4741358604ca0848c27ecc069d68e62e11cde81e38aac1da3c54b79ab5adf"
|
|
+source = "git+https://github.com/Erk-/glslopt-rs?rev=92fa39d0910e9e73de40b0d391906e6e2940080d#92fa39d0910e9e73de40b0d391906e6e2940080d"
|
|
dependencies = [
|
|
"cc",
|
|
]
|
|
diff --git a/Cargo.toml b/Cargo.toml
|
|
index 4d9f6fbf021e..cd9966a950e6 100644
|
|
--- a/Cargo.toml
|
|
+++ b/Cargo.toml
|
|
@@ -282,6 +282,8 @@ harfbuzz = { git = "https://github.com/hsivonen/rust-harfbuzz", rev = "9d58a23a9
|
|
harfbuzz-traits = { git = "https://github.com/hsivonen/rust-harfbuzz", rev = "9d58a23a98772a197291d04af93f7041b7093d95" }
|
|
# Make --enable-rust-simd compatible with Rust 1.95
|
|
encoding_rs = { git = "https://github.com/hsivonen/encoding_rs", rev = "1236d1bc423e6ba35a06485f74a6304db2d703b5" }
|
|
+# Make glsl-optimizer compatible with glibc 2.43
|
|
+glslopt = { git = "https://github.com/Erk-/glslopt-rs", rev = "92fa39d0910e9e73de40b0d391906e6e2940080d" }
|
|
|
|
# objc 0.2.7 + fa7ca43b862861dd1cd000d7ad01e6e0266cda13
|
|
objc = { git = "https://github.com/glandium/rust-objc", rev = "4de89f5aa9851ceca4d40e7ac1e2759410c04324" }
|
|
diff --git a/supply-chain/audits.toml b/supply-chain/audits.toml
|
|
index 706d58a3e47e..095aa8e79a5b 100644
|
|
--- a/supply-chain/audits.toml
|
|
+++ b/supply-chain/audits.toml
|
|
@@ -2991,6 +2991,12 @@ criteria = "safe-to-deploy"
|
|
delta = "0.1.11 -> 0.1.12"
|
|
notes = "Only a minor build tweak."
|
|
|
|
+[[audits.glslopt]]
|
|
+who = "Jan Alexander Steffens (heftig) <heftig@archlinux.org>"
|
|
+criteria = "safe-to-deploy"
|
|
+delta = "0.1.12 -> 0.1.12@git:92fa39d0910e9e73de40b0d391906e6e2940080d"
|
|
+importable = false
|
|
+
|
|
[[audits.goblin]]
|
|
who = "Jan-Erik Rediger <jrediger@mozilla.com>"
|
|
criteria = "safe-to-deploy"
|
|
diff --git a/supply-chain/config.toml b/supply-chain/config.toml
|
|
index 33c3357d441d..a7e4c206f145 100644
|
|
--- a/supply-chain/config.toml
|
|
+++ b/supply-chain/config.toml
|
|
@@ -68,6 +68,10 @@ notes = "Used for testing."
|
|
dependency-criteria = { tokio-reactor = [], tokio-threadpool = [] }
|
|
notes = "The dependencies on tokio-reactor and tokio-threadpools are just a hack to pin the version used by audioipc-{client,server}. Suppress vetting on those for the same reasons behind the policy entries."
|
|
|
|
+[policy.glslopt]
|
|
+audit-as-crates-io = true
|
|
+notes = "This is upstream plus a build fix for bug 1999625."
|
|
+
|
|
[policy.gluesmith]
|
|
criteria = "safe-to-run"
|
|
notes = "Used for fuzzing."
|
|
diff --git a/third_party/rust/glslopt/.cargo-checksum.json b/third_party/rust/glslopt/.cargo-checksum.json
|
|
index e3300c718103..975a4c8da7b6 100644
|
|
--- a/third_party/rust/glslopt/.cargo-checksum.json
|
|
+++ b/third_party/rust/glslopt/.cargo-checksum.json
|
|
@@ -1 +1 @@
|
|
-{"files":{".cargo_vcs_info.json":"7075d1c5c5e19288cefb431f16462eaa23229d02791120f4885ab1d20470cb7e",".gitmodules":"ffc0cce90e856d4f4bdb3bd3c950c9e59501a45ebd5022b91cfe8c07c79ef1ac","Cargo.lock":"f7970552595dc803ace9ef19b5f5d7b1fc784aac30cb27b2ebc3002d97122b9d","Cargo.toml":"7c53ee20d848f9913cacbfcb3ab2e89e30deee8d619d173c95130c7c5d065827","Cargo.toml.orig":"c46463ed28492baaaa17c772384cd1654093f96e900cefdb13d578e10561974f","README.md":"4468e08c64c19977707d792bfab0080e35ff927b64990eab77873f8ba056ba1c","build.rs":"92e29699487c21389fc823c50b410cfbfc74cc774265d24958489909ee48a076","glsl-optimizer/.editorconfig":"dca7ff05a95f608849c4dc640af7f83a0f415618e327a2ecb6a0afa0d9d2bacb","glsl-optimizer/.gitignore":"8ba554a4ca510ea7d9684475aa043edbeba7d15a5c9c4a04d8b1379a04ec6270","glsl-optimizer/CMakeLists.txt":"42ce94744e82ffa000da8b64d81fc140e293b9f5da7dd4cf6b49e7404a2448d9","glsl-optimizer/README.md":"b18eef11a92d267d88a937b1154f7670ee433c730b102fdf7e2da0b02722b146","glsl-optimizer/contrib/glslopt/Main.cpp":"14ba213210c62e234b8d9b0052105fed28eedd83d535ebe85acc10bda7322dd4","glsl-optimizer/contrib/glslopt/Readme":"65d2a6f1aa1dc61e903e090cdade027abad33e02e7c9c81e07dc80508acadec4","glsl-optimizer/generateParsers.sh":"878a97db5d3b69eb3b4c3a95780763b373cfcc0c02e0b28894f162dbbd1b8848","glsl-optimizer/include/GL/gl.h":"1989b51365b6d7d0c48ff6e8b181ef75e2cdf71bfb1626b1cc4362e2f54854a3","glsl-optimizer/include/GL/glext.h":"2ac3681045a35a2194a81a960cad395c04bef1c8a20ef46b799fb24af3ec5f70","glsl-optimizer/include/KHR/khrplatform.h":"1448141a0c054d7f46edfb63f4fe6c203acf9591974049481c32442fb03fd6ed","glsl-optimizer/include/c11/.editorconfig":"f96a2354e5f2b90367d643e6d9e980ce76278d4d47afd8b2713b595753aa8b4b","glsl-optimizer/include/c11/threads.h":"56e9e592b28df19f0db432125223cb3eb5c0c1f960c22db96a15692e14776337","glsl-optimizer/include/c11/threads_posix.h":"f8ad2b69fa472e332b50572c1b2dcc1c8a0fa783a1199aad245398d3df421b4b","glsl-optimizer/include/c11/threads_win32.h":"95bf19d7fc14d328a016889afd583e4c49c050a93bcfb114bd2e9130a4532488","glsl-optimizer/include/c11_compat.h":"103fedb48f658d36cb416c9c9e5ea4d70dff181aab551fcb1028107d098ffa3e","glsl-optimizer/include/c99_compat.h":"aafad02f1ea90a7857636913ea21617a0fcd6197256dcfc6dd97bb3410ba892e","glsl-optimizer/include/no_extern_c.h":"40069dbb6dd2843658d442f926e609c7799b9c296046a90b62b570774fd618f5","glsl-optimizer/license.txt":"e26a745226f4a46b3ca00ffbe8be18507362189a2863d04b4f563ba176a9a836","glsl-optimizer/src/compiler/builtin_type_macros.h":"5b4fc4d4da7b07f997b6eb569e37db79fa0735286575ef1fab08d419e76776ff","glsl-optimizer/src/compiler/glsl/README":"e7d408b621c1b605857c4cab63902f615edb06b530142b91ac040808df6e22f7","glsl-optimizer/src/compiler/glsl/TODO":"dd3b7a098e6f9c85ca8c99ce6dea49d65bb75d4cea243b917f29e4ad2c974603","glsl-optimizer/src/compiler/glsl/ast.h":"3e68ff374350c49211a9931f7f55a485d8d89fc4b21caaffbf6655009ad95bf8","glsl-optimizer/src/compiler/glsl/ast_array_index.cpp":"92b4d501f33e0544c00d14e4f8837753afd916c2b42e076ccc95c9e8fc37ba94","glsl-optimizer/src/compiler/glsl/ast_expr.cpp":"afd712a7b1beb2b633888f4a0911b0a8e4ae5eb5ab9c1e3f247d518cdaaa56d6","glsl-optimizer/src/compiler/glsl/ast_function.cpp":"74f4fbd490e366b37f4715168bb3465ecd9334d4130942f75dcc8e80e8e7f027","glsl-optimizer/src/compiler/glsl/ast_to_hir.cpp":"d0f798eb09271d41d068b9e7b18220d37f1ed0083300ab51eba30989698fe23d","glsl-optimizer/src/compiler/glsl/ast_type.cpp":"8eb790b24b26dfb72bdc333744b566c26d8464c5d47d20eae659461f5c4899f7","glsl-optimizer/src/compiler/glsl/builtin_functions.cpp":"454189d643c220fcb49116ee5c8a34f7b349aa67564040deb8607f6a41a15e70","glsl-optimizer/src/compiler/glsl/builtin_functions.h":"a37cad7ed09b522c5b8bec7b80115a36846e7ba6e0874a2a858e32f7f202c665","glsl-optimizer/src/compiler/glsl/builtin_int64.h":"619def6f3aebf180da3944ef08f159ab12a58b24767e41d8b985ac37ded54d62","glsl-optimizer/src/compiler/glsl/builtin_types.cpp":"afec060b62d6f3b00bfbf94e9fa5f96341ce096c128d1eef322791e6ed9cea4d","glsl-optimizer/src/compiler/glsl/builtin_variables.cpp":"6563bfb1345cbca4c77e00eef09ad152f3e1dc271d246a08c5ce9e1f4ce4250a","glsl-optimizer/src/compiler/glsl/float64.glsl":"1072fd888be48c2a7a5117cd2d92a65f034965a66375f598bb856bff5d7be766","glsl-optimizer/src/compiler/glsl/generate_ir.cpp":"e5f0175370a0d07f93c48d3f0f1b8233d12c64a7b02de02dcc753ef7b398ef0f","glsl-optimizer/src/compiler/glsl/glcpp/README":"a0332a1b221d047e9cce5181a64d4ac4056046fd878360ec8ae3a7b1e062bcff","glsl-optimizer/src/compiler/glsl/glcpp/glcpp-lex.c":"2d179879b1ffe84f58875eee5b0c19b6bae9c973b0c48e6bcd99978f2f501c80","glsl-optimizer/src/compiler/glsl/glcpp/glcpp-lex.l":"e4c5744c837200dafd7c15a912d13f650308ea552454d4fa67271bc0a5bde118","glsl-optimizer/src/compiler/glsl/glcpp/glcpp-parse.c":"03494f9ce1cb82260506e2559e73a3eeb622c4bd51b65eaa0a2c3351862bd4c8","glsl-optimizer/src/compiler/glsl/glcpp/glcpp-parse.h":"264d9a18421cde255ce34a0a62b3d8e73465359f0d167e64aa3973062aae5bdd","glsl-optimizer/src/compiler/glsl/glcpp/glcpp-parse.y":"fafb66e3a8f149d19e085f18a4273ba6d4c11af9e9a01d665cc784dddf97b79f","glsl-optimizer/src/compiler/glsl/glcpp/glcpp.c":"37ed294403c2abfd17fd999d1ae8d11b170e5e9c878979fefac74a31195c96b0","glsl-optimizer/src/compiler/glsl/glcpp/glcpp.h":"85ac8b444bcbd0822b66448a1da407b6ae5467b649f5afaf5c58325bd7569468","glsl-optimizer/src/compiler/glsl/glcpp/pp.c":"a52d94f1bcb3fb2747a95709c4a77c25de7eea8354d2b83bb18efd96976a4473","glsl-optimizer/src/compiler/glsl/glcpp/pp_standalone_scaffolding.c":"d11aeb3acfe966d1b78f1ee49804093f2434214c41391d139ffcb67b69dc9862","glsl-optimizer/src/compiler/glsl/glcpp/pp_standalone_scaffolding.h":"abbf1f36ec5a92d035bfbb841b9452287d147616e56373cdbee1c0e55af46406","glsl-optimizer/src/compiler/glsl/glsl_lexer.cpp":"272b9fc1383d72b81bfc03fa11fdf82270ed91a294e523f9ce2b4554bd3effa9","glsl-optimizer/src/compiler/glsl/glsl_lexer.ll":"2b57d9f9eb830c3d7961d4533048a158ee6f458c8d05c65bea7b7cfbc36e4458","glsl-optimizer/src/compiler/glsl/glsl_optimizer.cpp":"f8095d20629d0af70be930b0612e169edb274551a1d25a3cd1bf9995a11ce2e8","glsl-optimizer/src/compiler/glsl/glsl_optimizer.h":"22e843b4ec53ba5f6cd85ca5f7bad33922dca8061b19fb512d46f1caca8d4757","glsl-optimizer/src/compiler/glsl/glsl_parser.cpp":"126baf368d525aba301854e3d91ba60b5aee32e1102376af71416f32cb95ec48","glsl-optimizer/src/compiler/glsl/glsl_parser.h":"2ea9a50716098a8f7bef782d2a030d757b68da73afb01b4d4940d3e8381d44e8","glsl-optimizer/src/compiler/glsl/glsl_parser.yy":"6b1fd1576b29fce005dff744a6dbd0219e4c695c361d61864e1f3a8d6fa6b764","glsl-optimizer/src/compiler/glsl/glsl_parser_extras.cpp":"aad64b5b66467da650091430681e8c6a820cf3cadc4db3c160bf2f15875390ae","glsl-optimizer/src/compiler/glsl/glsl_parser_extras.h":"71fd0e92bbdb193dfb067d7bfdb1200d77392be2fbd0cbfc9ca89d1bb4c7e741","glsl-optimizer/src/compiler/glsl/glsl_symbol_table.cpp":"6660fb83c0ddddbbd64581d46ccfdb9c84bfaa99d13348c289e6442ab00df046","glsl-optimizer/src/compiler/glsl/glsl_symbol_table.h":"24682b8304e0ea3f6318ddb8c859686bd1faee23cd0511d1760977ae975d41bf","glsl-optimizer/src/compiler/glsl/hir_field_selection.cpp":"72a039b0fcab4161788def9e4bedac7ac06a20d8e13146529c6d246bd5202afd","glsl-optimizer/src/compiler/glsl/int64.glsl":"303dbe95dde44b91aee3e38b115b92028400d6a92f9268975d607471984e13eb","glsl-optimizer/src/compiler/glsl/ir.cpp":"2b4741cce90b5d4abff5d719c7324e2693c67294d4d99736cb241554adb281bc","glsl-optimizer/src/compiler/glsl/ir.h":"990b1c74447c4eb4835353ccb0ed9aea644f97fc1129ef1739cd935075d85d2e","glsl-optimizer/src/compiler/glsl/ir_array_refcount.cpp":"8cdc1cffe01e42e0566fa2193a75f789628e8025ad1b82f0ee6f204451b7f9f7","glsl-optimizer/src/compiler/glsl/ir_array_refcount.h":"75f06ec81342b379096ca52e1dc0fd5f19a11ff8e9b58203c20628179d644c12","glsl-optimizer/src/compiler/glsl/ir_basic_block.cpp":"1e2920b1c0ecb08424c745c558f84d0d7e44b74585cf2cc2265dc4dfede3fa2f","glsl-optimizer/src/compiler/glsl/ir_basic_block.h":"81be7da0fc0ee547cd13ec60c1fcd7d3ce3d70d7e5e988f01a3b43a827acdf05","glsl-optimizer/src/compiler/glsl/ir_builder.cpp":"daba29c5a1efdd5a9754f420eb3e2ebdf73485273497f40d4863dadeddb23c0d","glsl-optimizer/src/compiler/glsl/ir_builder.h":"2822e74dd3f6e3df8b300af27d5b11ea2dd99d0e5e7ca809b7bbcce9833c483c","glsl-optimizer/src/compiler/glsl/ir_builder_print_visitor.cpp":"8c6df5abf2fe313363f285f171c19ca6c8ee4f3bc2ed79d33c0c88cc8be45c48","glsl-optimizer/src/compiler/glsl/ir_builder_print_visitor.h":"799852adc3a0e54d04080655e7cebfa0d3bf5b6ffed5d8414f141380665d4db7","glsl-optimizer/src/compiler/glsl/ir_clone.cpp":"d897a4e1f5bbec4a6a2f15044c1be9a4d13899c73be77335b041049a4589aa5d","glsl-optimizer/src/compiler/glsl/ir_constant_expression.cpp":"78bd87ddb09db67f6c499067728d72aef4f16aa02721a99a4b769d1e0cfa9010","glsl-optimizer/src/compiler/glsl/ir_equals.cpp":"bca28533a6310b0fc152b56d80872368f1510dc62ed6e8ac199b9ffa7fac02e7","glsl-optimizer/src/compiler/glsl/ir_expression_flattening.cpp":"7e918d4e1f237eca01396004015865ce345afe32a876c9dbc6728576a1a7eae4","glsl-optimizer/src/compiler/glsl/ir_expression_flattening.h":"f45b66aa9497520e7e08e612d24b308477c34477fbd963ee9320eac664957f16","glsl-optimizer/src/compiler/glsl/ir_expression_operation.h":"cc9f10727dbd26cac506804f51456302c702650f9eeb59054a7e1575d5cf6687","glsl-optimizer/src/compiler/glsl/ir_expression_operation.py":"7b86c96021b9fbe165957f4ecb0b612fefcde1c2cf3c6d75e3cdb22e369216ba","glsl-optimizer/src/compiler/glsl/ir_expression_operation_constant.h":"9ad3346416392e3efa11e12ecf2feca7453c5253d241eb96c91dfb85d4f2b971","glsl-optimizer/src/compiler/glsl/ir_expression_operation_strings.h":"a6826daf496a8b9e89885bc2a161ac3445d501b23c6e0ac33e2c01b506b273c8","glsl-optimizer/src/compiler/glsl/ir_function.cpp":"7537365fc0fbe4b37a26b9a2146cc64d3e9a774d60eab63b65002ad165ae8fc7","glsl-optimizer/src/compiler/glsl/ir_function_can_inline.cpp":"faddbf112187a048d502716a3fb82570a322299ba2a3abd79388382c82040bfc","glsl-optimizer/src/compiler/glsl/ir_function_detect_recursion.cpp":"9176973eaf5c0a984701f953bb7a80f37dca43d59b5bce50fc69b3f02f2902d7","glsl-optimizer/src/compiler/glsl/ir_function_inlining.h":"9739493f99c489987d650762fccdd3fb3d432f6481d67f6c799176685bd59632","glsl-optimizer/src/compiler/glsl/ir_hierarchical_visitor.cpp":"3725861fbe2b98e0617f52d3b14cf6d3b25fb5ec00f5ef5d308b03642f592767","glsl-optimizer/src/compiler/glsl/ir_hierarchical_visitor.h":"e0560210e966c0c31e4ca843e80ea154e64db5a444b8c2df845b6ba5b3a43fc1","glsl-optimizer/src/compiler/glsl/ir_hv_accept.cpp":"caf7ce2cd9494aadd3c58bcf77f29de58368dc9e347a362bbf37f8bda9509b80","glsl-optimizer/src/compiler/glsl/ir_optimization.h":"8b3dcfc7f9e96b21a8dd47a0040d90be483a9e67a2cdce3a697188fb758d4630","glsl-optimizer/src/compiler/glsl/ir_print_glsl_visitor.cpp":"f8e34a983452be0dcb5a695e9c8e895eead24f9e540992a8afe510ae85da4c4c","glsl-optimizer/src/compiler/glsl/ir_print_glsl_visitor.h":"1ad1bd3efd1ace39051c13f904c05fd80425d329444f9a8d47fd6d948faf46e0","glsl-optimizer/src/compiler/glsl/ir_print_visitor.cpp":"643f5a68aae3fb37267fd793f1216d1cfdeb2c09338c26b1f30e4c6deaef4de5","glsl-optimizer/src/compiler/glsl/ir_print_visitor.h":"4573eb93268a2654c14b505253dd651e2695d43dc745904d824da18305269b95","glsl-optimizer/src/compiler/glsl/ir_reader.cpp":"06bfba802c8354e5a8b2334b6d78d6297de18235bedd3f8fbb382c89870b02f2","glsl-optimizer/src/compiler/glsl/ir_reader.h":"63e3f7f1597936a7011d5b520e171b197bf82bee6c1560d822c3edf5aaa6f9e9","glsl-optimizer/src/compiler/glsl/ir_rvalue_visitor.cpp":"84b5c5d746555adca85759c2912fe48010232b7c1c0bd2cf03bd04067a85e66f","glsl-optimizer/src/compiler/glsl/ir_rvalue_visitor.h":"fd8c561b71085d3211fff85ed514fecb299d8ce19a04bc063419a55b6d840525","glsl-optimizer/src/compiler/glsl/ir_set_program_inouts.cpp":"ab9f115ce9e7f312d9c7978340ced0dc4ae6d13a80e08442ba9709d11d50cae5","glsl-optimizer/src/compiler/glsl/ir_uniform.h":"683ae6896b1a08470c090be5f822fc31cd434eab9216e954b9bba24a46975109","glsl-optimizer/src/compiler/glsl/ir_unused_structs.cpp":"9c1620c45f2fc071fe5ed828472040b14c5f42effe06aa0e3b8352c95ef78786","glsl-optimizer/src/compiler/glsl/ir_unused_structs.h":"13387b49c23093575276b25b9dfd31fedd8f131c5c4f3128ab04cf03e15b5295","glsl-optimizer/src/compiler/glsl/ir_validate.cpp":"6b232be5999a86ea278f4f15b2832d76843246509118d924243055a3b9b0299f","glsl-optimizer/src/compiler/glsl/ir_variable_refcount.cpp":"2764a3cad937d53f36db7447c3a5b98b04bf153acf81074d971857fc5bca460d","glsl-optimizer/src/compiler/glsl/ir_variable_refcount.h":"b0668e3eb1501ef65e38fe12830742ecb3d28e6039f30e366c8924efc29b4a39","glsl-optimizer/src/compiler/glsl/ir_visitor.h":"f21b3534c3d66d5fb707d1581fece7e1eb043523afbaedf89918cfb031c6df94","glsl-optimizer/src/compiler/glsl/link_atomics.cpp":"360f0209e11f367ba358223597b0a118bae095bff16337cf03f1fb89c5b80ca6","glsl-optimizer/src/compiler/glsl/link_functions.cpp":"de7895da8aa33a1e3c2c1eb2fdaf267ab5d1fbfdb79ae2e67f95211e946e294c","glsl-optimizer/src/compiler/glsl/link_interface_blocks.cpp":"1926cfa73810704eb19b916c1b2cdb9321155e2f98b2a0a57c7c3c6e960540cd","glsl-optimizer/src/compiler/glsl/link_uniform_block_active_visitor.cpp":"1e14e06ca3b2c1089cfba2e8eaf0c1f373d9d6374b6082f320962dd71ae09611","glsl-optimizer/src/compiler/glsl/link_uniform_block_active_visitor.h":"fd58c155af645295bb6aec08797889de586f4d919731de2bce57e8dce59bb048","glsl-optimizer/src/compiler/glsl/link_uniform_blocks.cpp":"09589f49776dce32e6c4044937de7e0c839a9754ad31960148f8f9e010658997","glsl-optimizer/src/compiler/glsl/link_uniform_initializers.cpp":"bf98e08c12db466acf9623cbeb8fa8e3b4002512722e7a6521287f558a099f37","glsl-optimizer/src/compiler/glsl/link_uniforms.cpp":"84bad5b1377362cecf259b05124239be5220b03ce1c0c61b59bd9a47e4379af2","glsl-optimizer/src/compiler/glsl/link_varyings.cpp":"a5f1a53e7c80d635515fe808ff223d89fef1767abb0f2b7aa28fa6773dca353f","glsl-optimizer/src/compiler/glsl/link_varyings.h":"b9dbe018f038df69763df2e928742ce81bbc6e3aaba26f50621e30a6d9aa6220","glsl-optimizer/src/compiler/glsl/linker.cpp":"40b1ecd5d4f6c7f13d5a87ce390561a51fdf6f3fcd9b2197b9c88b03a773ba94","glsl-optimizer/src/compiler/glsl/linker.h":"ecf94b4ad75ef461c27c557fda4bd25f34c91930822b8e1d729ec84520d4a049","glsl-optimizer/src/compiler/glsl/linker_util.cpp":"1663ad88e2a369305659aeeffaedb5bd752cf76340a2ba5797fc0bf600633cf9","glsl-optimizer/src/compiler/glsl/linker_util.h":"6db788daf9c8e87ae2764b61a8b37ebe419e69c1b82ddee01986e37c978c6993","glsl-optimizer/src/compiler/glsl/list.h":"b1f46ce0e552fe7c45b2a19408a9d97662e23e4b182ab335491c26f8cf25886f","glsl-optimizer/src/compiler/glsl/loop_analysis.cpp":"57ecd573477c68091c7cc99537faa7139a8f395935e3d4f10144cefdefb5a611","glsl-optimizer/src/compiler/glsl/loop_analysis.h":"a85f045a038ee5b5176063e85d7988865862c44ab0580f771b993a042d0b69cc","glsl-optimizer/src/compiler/glsl/loop_unroll.cpp":"bd4292ea2809f5a669bcb76ceaa1ac365772dcd638c579c3ed10275214901a54","glsl-optimizer/src/compiler/glsl/lower_blend_equation_advanced.cpp":"8cfbef140d9c4b4d2f57bfa05c9c374d31a121d0f87afce94333f049023b654a","glsl-optimizer/src/compiler/glsl/lower_buffer_access.cpp":"1ae221c3c7a95aeb867207e7a742be635f91b406c157747bfd6ddf10274d97fb","glsl-optimizer/src/compiler/glsl/lower_buffer_access.h":"807886953a576a323591798cbca5e2df24295ea893b28affd8ffb5926cebaa04","glsl-optimizer/src/compiler/glsl/lower_builtins.cpp":"4d81afc32cf58e1481fcb5e42888ab93dbe6820310a20ff7a9982b77b2152d9b","glsl-optimizer/src/compiler/glsl/lower_const_arrays_to_uniforms.cpp":"608403f0eeeedf21cfcd3014116e0f44e28cbdf6c4c32aac7e613e64e30205e1","glsl-optimizer/src/compiler/glsl/lower_cs_derived.cpp":"179905cd47a294122adeb5b0abfed6f2f67782dcde21b544d1ee2c1985154e66","glsl-optimizer/src/compiler/glsl/lower_discard.cpp":"3b361b2db0004d544d64611cb50d5a6e364cf6c5f2e60c449085d7d753dd7fb0","glsl-optimizer/src/compiler/glsl/lower_discard_flow.cpp":"f5c29b6a27690bb5c91f196d1a1cf9f6be4f1025292311fe2dac561ce6774dee","glsl-optimizer/src/compiler/glsl/lower_distance.cpp":"a118c85493d5d22b2c059a930c51a5854896d4b1dade76598eaa985e5a3dff8c","glsl-optimizer/src/compiler/glsl/lower_if_to_cond_assign.cpp":"469e617757fd1728709cce021aac5c8da05ee503bf5366977bdc4ef7a6d83950","glsl-optimizer/src/compiler/glsl/lower_instructions.cpp":"6ff5c396abe40d8a2145d571e99e2bbe9143393e15aafc28adc2803a01d821b6","glsl-optimizer/src/compiler/glsl/lower_int64.cpp":"d1ed41196880dd53c7b13e2782f9423f8442bf1d46186e8be92b1b66218a83ee","glsl-optimizer/src/compiler/glsl/lower_jumps.cpp":"34de7b493f281589fb0c2c0f6e885d0a0fabbe7a4e97a73de374dd714777a58c","glsl-optimizer/src/compiler/glsl/lower_mat_op_to_vec.cpp":"dff7a308edc4846c348ed4225c6699a9c75abac68d88f41f85954276552779f4","glsl-optimizer/src/compiler/glsl/lower_named_interface_blocks.cpp":"16063ac127bff75a68272070ab11c21c25101edbff62b4c68f4983b4cd941af0","glsl-optimizer/src/compiler/glsl/lower_offset_array.cpp":"3b00773399135aea85746a5a68b96ef000bc6841be1a2c8e6f25c516628b0949","glsl-optimizer/src/compiler/glsl/lower_output_reads.cpp":"a0fc9975d5aa1617e21fc6c353659a9802da9e83779a3eef4ec584f74b4dadc5","glsl-optimizer/src/compiler/glsl/lower_packed_varyings.cpp":"7550099d4ae123d71541c2fc88bc04fbfe9271ec75d7e210987d1c8cac3cf3ea","glsl-optimizer/src/compiler/glsl/lower_packing_builtins.cpp":"79a13d161fe505a410ab948d92769395708693ec888153630fa240e5b97e356f","glsl-optimizer/src/compiler/glsl/lower_precision.cpp":"f82a185b879872b977a1787d8061b9a80bc4cf8db1b970db6efba2ad9cc20fa2","glsl-optimizer/src/compiler/glsl/lower_shared_reference.cpp":"ea2dccf50a83bc19391bf6b7ab6aa53c0005f427af4066d25140340af9a4beef","glsl-optimizer/src/compiler/glsl/lower_subroutine.cpp":"f69fa53650eeb6f2944fce4d36a6e0a423e6705f3a3bd3389c7fadb83cfc8802","glsl-optimizer/src/compiler/glsl/lower_tess_level.cpp":"b196c9d424c0569f3e85d75c2d125af21566cb113d69036db87c0990703e0fa7","glsl-optimizer/src/compiler/glsl/lower_texture_projection.cpp":"4d247f244272adc8250fd888d8d932a140dd5de4d1efc7a58492c3c2b8291527","glsl-optimizer/src/compiler/glsl/lower_ubo_reference.cpp":"89bdbc6c1669230c644c0857db1ce2781ec61d349ecd08c7914146e1f4750a4a","glsl-optimizer/src/compiler/glsl/lower_variable_index_to_cond_assign.cpp":"fce930f29ac9405b297d1f749d68f59506b89c70b4ee1b1ab8cf49a34cc71ecf","glsl-optimizer/src/compiler/glsl/lower_vec_index_to_cond_assign.cpp":"3c67d851a11a55fad1c49a550f3a0cfe50892d33a3f238ce266cd829eba510a8","glsl-optimizer/src/compiler/glsl/lower_vec_index_to_swizzle.cpp":"f5ec666b73e1415cbab32519a53605ed385f3b03e889560373dbce69dda5000e","glsl-optimizer/src/compiler/glsl/lower_vector.cpp":"f7c13f5572ebe09b6a71553133b2cf003cd4b77b9657600672ee3b21bf890725","glsl-optimizer/src/compiler/glsl/lower_vector_derefs.cpp":"b05793da6dd620a531b43df5af8b2ecbc37b9db0c88910f5724ea10bcd057e19","glsl-optimizer/src/compiler/glsl/lower_vector_insert.cpp":"fee772ec17eea5e86a529bf9c5fa2ee0d29a5982bb75ebc6d68ed36cd19aa299","glsl-optimizer/src/compiler/glsl/lower_vertex_id.cpp":"690e8715182e03fead5cc5a35251fb4f41b357e4c71a1dfbc4bd7be19862b56d","glsl-optimizer/src/compiler/glsl/lower_xfb_varying.cpp":"58c0e8b270e4bbde54250be03cdb2f36966bcafb785372ad2e2b786835df7f9f","glsl-optimizer/src/compiler/glsl/main.cpp":"ae5e88abbbc8a12f769e1296bad938b9d7398cc6da0d3d0caeceeeb876536850","glsl-optimizer/src/compiler/glsl/opt_add_neg_to_sub.h":"f5054944bfd068810629080d0ea11df78b3f57a8f86df75e13ca50157ad1964d","glsl-optimizer/src/compiler/glsl/opt_algebraic.cpp":"25f45b20e1972ee8c789177a1aeda6e4286c25db2eae3a43ff83029ae64969c0","glsl-optimizer/src/compiler/glsl/opt_array_splitting.cpp":"19d3ce0e815438f4df9ab2890e767b03a4f3f191b53bb30c0217cf2ae6a95430","glsl-optimizer/src/compiler/glsl/opt_conditional_discard.cpp":"0e44e0e126711a3725c1f3a2aa65ff03c381fed08680ffc30101aae60f716c4e","glsl-optimizer/src/compiler/glsl/opt_constant_folding.cpp":"a088d04d9b45f9e55e235835648f614c89b7803c03a6d4f6a6d1a6bc1f0228bd","glsl-optimizer/src/compiler/glsl/opt_constant_propagation.cpp":"8a9440d77ecd6dcf13e683cbb99943aab6311c8fd4b5f6a9189a8d4f270746f4","glsl-optimizer/src/compiler/glsl/opt_constant_variable.cpp":"63d3ccd4dd09f19c9cf1a2f51592111bed41284504f29f3c0de4cadebc439a37","glsl-optimizer/src/compiler/glsl/opt_copy_propagation_elements.cpp":"ffa0f50863995e0d2e31f55a52e82319edc71e520987bebd7f7e561ea331c64b","glsl-optimizer/src/compiler/glsl/opt_dead_builtin_variables.cpp":"84e8747b948232f01dd56b428b9315f96f9511f605f240119fc446fae28981a9","glsl-optimizer/src/compiler/glsl/opt_dead_builtin_varyings.cpp":"761523e88f5b3ba785170f4d7205e94fa99acb7e74d29efbe40e1c010e1dbdb3","glsl-optimizer/src/compiler/glsl/opt_dead_code.cpp":"fd1ba2da7337d4e5dad17f5c2d73d9cc8880305f423e85d64cf94553588fa401","glsl-optimizer/src/compiler/glsl/opt_dead_code_local.cpp":"969a598b4df322baf222258a66cd64a326ea20e5b3125be9d8d1771f522c69e0","glsl-optimizer/src/compiler/glsl/opt_dead_functions.cpp":"774cae6536d02edf26e996a2a895e1f62d5098f16dc96b44798b4fc731a9a95f","glsl-optimizer/src/compiler/glsl/opt_flatten_nested_if_blocks.cpp":"3696a5c55f02e20056e085bc2714f73ac992f221b6f3387d655068e86b512046","glsl-optimizer/src/compiler/glsl/opt_flip_matrices.cpp":"44f0fe05b49329667671f88c96dc86ab3fe1459ff7b87f2b2d88de2d49829f9f","glsl-optimizer/src/compiler/glsl/opt_function_inlining.cpp":"fb56a33c90419a01676b57cbd91d0674a54cca40e6defaacc88dd33facebc131","glsl-optimizer/src/compiler/glsl/opt_if_simplification.cpp":"ac406eb35e379c357641d6c5749f50c65961455924d3dc884e2b90046fa92c5c","glsl-optimizer/src/compiler/glsl/opt_minmax.cpp":"8abd59d3b14ef60ff14a9c69660e6945f5cf10b97edb4afebe56be3f81d96316","glsl-optimizer/src/compiler/glsl/opt_rebalance_tree.cpp":"8bb6329dc0f299042368fc81934c2df019b45ab9f7aa0415d4e57b8d1ff98c9f","glsl-optimizer/src/compiler/glsl/opt_redundant_jumps.cpp":"222c73e2ac7a938ebb6428cc6c780c908ff6156d8ff935b04fed93a48fc10496","glsl-optimizer/src/compiler/glsl/opt_structure_splitting.cpp":"2edc79cc13f3177934e0443ad62f5976a1991f01f86ea303a803434849b13a47","glsl-optimizer/src/compiler/glsl/opt_swizzle.cpp":"015d0abddfe507f67c4b96c82988d861d018ededf7bf055e2bcbe9ea92da694e","glsl-optimizer/src/compiler/glsl/opt_tree_grafting.cpp":"46d28ac983ea244a4315bdc0e8892979ec4d1f9b9a96ac8a8a08006d9bc5e878","glsl-optimizer/src/compiler/glsl/opt_vectorize.cpp":"d80ee43bb97d9f016fb9c5e1e06f5b2afa569811f368ba067be794ec11d085fb","glsl-optimizer/src/compiler/glsl/program.h":"2982447e2abd35371e273ad87951722782a8b21c08294f67c39d987da1e1c55f","glsl-optimizer/src/compiler/glsl/propagate_invariance.cpp":"080943e21baa32494723a2eefb185915d2daae1f46d6df420145c5ad6857e119","glsl-optimizer/src/compiler/glsl/s_expression.cpp":"1ced972bc6ecc8eab4116ea71fb0212ab9ae5bcc0be3b47aa5d9d903566b3af1","glsl-optimizer/src/compiler/glsl/s_expression.h":"65b847e30e22a809b57d0bc70243049c99d9c6318803c5b8d0826aba55dc217e","glsl-optimizer/src/compiler/glsl/serialize.cpp":"be0eb4251348a9d921acb839a5c48c6023a2e9d116d602bb0432787ab623655d","glsl-optimizer/src/compiler/glsl/serialize.h":"57425732eba1233d928e5f07f88b623ce65af46b3bb034bf147f0a4b7f94f9a1","glsl-optimizer/src/compiler/glsl/shader_cache.cpp":"e0c5c433f2df3fccdf1d61281bfcb0ee5633433339b97c697d64db99611cbaaf","glsl-optimizer/src/compiler/glsl/shader_cache.h":"9217164d8d7f54aca0fe5922c7187095a6ae0cb703b196b79805aeef07a7e697","glsl-optimizer/src/compiler/glsl/standalone.cpp":"8e6c416a14d631261917a5fe4cc91880c287b22b2dfd70eb22028289a8fa5364","glsl-optimizer/src/compiler/glsl/standalone.h":"a7c397d1dfdd1e7fb2cfe99db35cd9df93251e642059208533202b7f20497f83","glsl-optimizer/src/compiler/glsl/standalone_scaffolding.cpp":"970d14b7a9d58e5270321f97bf5d57795558b1c570a56678e04a65b26c60bf4f","glsl-optimizer/src/compiler/glsl/standalone_scaffolding.h":"d921a617ea82b9e49413314492a645c44356de503581b1be3f1b57de236e480d","glsl-optimizer/src/compiler/glsl/string_to_uint_map.cpp":"d824bf5b839bd39498dc9e457103cdbe3e5289ddf7564107c27b1505948dd31f","glsl-optimizer/src/compiler/glsl/string_to_uint_map.h":"e2f18e66359c9d620e085de7f4a334a47df9c66e65a5bfe8b734c627bec04104","glsl-optimizer/src/compiler/glsl/test_optpass.h":"b27b8f35f5387e7ce4982bb51c7b63ccf14f91757f3108a5d02ed006925bb8a0","glsl-optimizer/src/compiler/glsl/xxd.py":"376484142f27f45090ea8203ae2621abf73f06175cb0ee8d96f44a3b9327f4bd","glsl-optimizer/src/compiler/glsl_types.cpp":"044bb6754f45419a3151e7a25c39202a82009ae3c6bc54ff7f0bb4258a5deefe","glsl-optimizer/src/compiler/glsl_types.h":"fd899a42f34ddeb8601bc3cd6c5e3aed82fc8aef4042dde1b39b3c01e1dcc219","glsl-optimizer/src/compiler/shader_enums.c":"436bff5216b11b0980bdfada5885fc6ac9afa2037a3027fcd6eea2a8635597ac","glsl-optimizer/src/compiler/shader_enums.h":"13220442a5c02e83540cf2c0ad4f8417b2fbda5f2586dec4e92082544c937cdd","glsl-optimizer/src/compiler/shader_info.h":"4c5453e81197ca83593ee4f365074b23530f2ab21c78e1733b63dec6f344c12a","glsl-optimizer/src/gallium/auxiliary/util/u_half.h":"3c2b37bda3ccb64387e44b723d29cf9046decab1a893bf42d842e9603398bdee","glsl-optimizer/src/gallium/include/pipe/p_compiler.h":"c75620096ce8523dae90599e50aa2ef6468d3b0e368a77795edeb20dd1abfc0c","glsl-optimizer/src/gallium/include/pipe/p_config.h":"a27692fc35f9e55df3224b7529e66b3001e911e94e6bc5f8f569e493e1ee3fb7","glsl-optimizer/src/gallium/include/pipe/p_defines.h":"be26d68c0acc67c5e44788c6299716a9eee415fd81d7d747e3738a829e3b6b38","glsl-optimizer/src/gallium/include/pipe/p_format.h":"5674215fc41d27496f037cf837717daefbf23ebb38d40ace7c0c414bc08182b0","glsl-optimizer/src/gallium/include/pipe/p_state.h":"d600593aba5f5a17072a6c38f6baa81e01c7994b0174250f7e433bb41684b702","glsl-optimizer/src/mapi/glapi/glapi.h":"73632a625c0ddabc401205e8b5a81eb8af8506868efe4b170d7979ec3619e9c5","glsl-optimizer/src/mesa/main/config.h":"5800259373099e5405de2eb52619f9de242552a479902a3a642a333c8cb3c1e7","glsl-optimizer/src/mesa/main/context.c":"2f3208473d99c94f734b1137ba91889d4a1babb9e7534bf1dc85d851ee98274e","glsl-optimizer/src/mesa/main/context.h":"cc7e4194797db9d007f01884e23d786c453b3860821f7f2ddcdf0f1bf3f8ffb1","glsl-optimizer/src/mesa/main/dd.h":"6a964acd06b6c2d88700e69fb75fe3c6b3b3d45bbc41db24f3f897a29695fe0c","glsl-optimizer/src/mesa/main/debug_output.h":"7312422e90b8c0e34028ac27280e438139b5cba525c99deb3ac883cd3d87e452","glsl-optimizer/src/mesa/main/draw.h":"7eaef3a9e27a60ea6f7937109bf3a6190b831162fde0479abb12077ce27c353d","glsl-optimizer/src/mesa/main/enums.h":"87d562a6764f51c014a2274fa7c3aca17c04441537ddd56b2554f13c6fffea92","glsl-optimizer/src/mesa/main/errors.h":"c79444b5df289c90fbb22a33b2d0c23917d9fc4510960088f0b79e53bb56b1b2","glsl-optimizer/src/mesa/main/extensions.h":"a38b2f87cc93c513994281350d69e06c84ff8eded5313ec0a1be33f375e0ebbd","glsl-optimizer/src/mesa/main/extensions_table.c":"17642d1a8c9a0bf2bd61060052d33ff14a005d2b962e6cf91465797a50851e85","glsl-optimizer/src/mesa/main/extensions_table.h":"2c879571c238d2e14461031ac740372fd0f9ac3a34c0d5541bb9b7ed4c0376c8","glsl-optimizer/src/mesa/main/formats.h":"02e2f7ec3e39286cf9f27e2641043e6df8ecb1dfde9e643313210e214af2a929","glsl-optimizer/src/mesa/main/glheader.h":"58217b33eead6aa6b23cd4a291cefeaa6cb84e465f4960daffca97c44d6d1c35","glsl-optimizer/src/mesa/main/glthread.h":"51fb2711f77e7eafcfc52d29d5b844978832b24c930d88accd48d143a6eb9c6f","glsl-optimizer/src/mesa/main/hash.h":"7e7f782034c16a8e693de48e00c31d4a90b0129f4029fd074033d7d16ccbe718","glsl-optimizer/src/mesa/main/macros.h":"73d15ddfd64f2b57b9b2ffeeb993b9c2c0899a80563e9d6ff337b11ccbe6eee5","glsl-optimizer/src/mesa/main/menums.h":"5dfac0e2279d60b0cd0c7b9fc2a5021620d0f6282ed2e738c420214e3af152d3","glsl-optimizer/src/mesa/main/mesa_private.h":"edda678b93438944279a551f663b8858ad84814a9fc88ba9672ef195599c24ae","glsl-optimizer/src/mesa/main/mtypes.h":"6efddefa099e4d2e3fdd97f0055644f47aba21711385edfeabc2d9b0676f2eec","glsl-optimizer/src/mesa/main/shaderobj.h":"9f0dfe96d0c2154201adef942bd36053533ac7b2492fb3786acda5bea514c75e","glsl-optimizer/src/mesa/main/uniforms.h":"4e331e6ad6e9cbded978b4082dbe0a57c1f8f01327446bb6892bfc179976c38b","glsl-optimizer/src/mesa/main/version.h":"9d0a13a758099302dc55cf7d045791834a89b0f9d4cf17b2692259b369a8a9a1","glsl-optimizer/src/mesa/math/m_matrix.h":"a37b19f182e070db3df93b0ede43c22fb8be8c2906504133ee6dbd7db1185d8b","glsl-optimizer/src/mesa/program/dummy_errors.c":"1820e305515b4c5e041f5e1623266a48ec8f076a155310be7d60637101f593e4","glsl-optimizer/src/mesa/program/ir_to_mesa.h":"b47f58d22e3ca2ae42d52501ea769d15c4476834944fa97eeccd3a3439211d00","glsl-optimizer/src/mesa/program/prog_instruction.h":"ab3832152a7e144b59e5a2264b2c29db56d93be31e76bbd958527a56771b40eb","glsl-optimizer/src/mesa/program/prog_parameter.h":"ba18c743284eadbc837c2c364c73e5d372321a7637a76e589d8d39fe8b5de225","glsl-optimizer/src/mesa/program/prog_statevars.h":"fc413698f84bc52d45fdeae0471934ee9904bfb7eac1a2b5f70446e54bcbbdca","glsl-optimizer/src/mesa/program/program.h":"1f01026a4eff440a3f122fd9b519d03546fe7f7d8be60dca834e95a2f8fbbfd2","glsl-optimizer/src/mesa/program/symbol_table.c":"6611cb9f078035bf5ff8c9112093a6c7d99f8af99a3931d0c07f227cc72283ea","glsl-optimizer/src/mesa/program/symbol_table.h":"631dc35ac48d5e87962d45507461920f6575610960ffcc42a08cefeb43300cda","glsl-optimizer/src/mesa/vbo/vbo.h":"6eb1dcd9a08c92f276c5fe08da184ff9d455d1be421913b8ad732a7b65e858fb","glsl-optimizer/src/util/bitscan.h":"9e49e694e6b34fe035bc685f32588827eb8cbe7d82878963c7ab52843e1c16aa","glsl-optimizer/src/util/bitset.h":"c40f78515c6230fed18345c6751ce33833a49da7a27901c7e6d7340cbdcbc5e7","glsl-optimizer/src/util/blob.c":"8f729846f66efc9c15485cc5fc24c6ec861fc1fecb2f652573f2a237d481b791","glsl-optimizer/src/util/blob.h":"93e1eaac866b9a7cd6fc03b533c18fb2edf0e97f03395eff4f3a605c4fc14d0c","glsl-optimizer/src/util/compiler.h":"79e3bf40a5bab704e6c949f23a1352759607bb57d80e5d8df2ef159755f10b68","glsl-optimizer/src/util/crc32.c":"2f3467a046b3a76784ecb9aa55d527698c8607fd0b12c622f6691aaa77b58505","glsl-optimizer/src/util/crc32.h":"59bd81865e51042b73a86f8fb117c312418df095fed2d828c5c1d1c8b6fc6cd4","glsl-optimizer/src/util/debug.c":"c3d68e9752ccc19e66c669562cd113cf1d0ac83cbb30174789e7fb8d1df58f9c","glsl-optimizer/src/util/debug.h":"50068d745c4199ccbd33d68dd4c8a36d2b5179c7869a21e75906ddd0718ca456","glsl-optimizer/src/util/detect_os.h":"343a8790d17a3710c6dd015ee367f84e3902ff3f2e36faca2bf93f9d725d3574","glsl-optimizer/src/util/disk_cache.c":"f533937e5a4fffe76e2739ef4b6b1e1da097d96d63eb808e68ebbc7027641c23","glsl-optimizer/src/util/disk_cache.h":"e83314fb14134a8e079b15e470a6376ba5a8253701f048c890a62b7e55d64bc8","glsl-optimizer/src/util/fast_urem_by_const.h":"e108fce804616c47d071dfe4a04163eec1126e448ed1aa89abb6b3a6d772bd5b","glsl-optimizer/src/util/fnv1a.h":"ab2596f19c6adf431ae27618f62c5743e24ad23ef83bb359a4c4c218245ab459","glsl-optimizer/src/util/format/u_format.h":"4cdfc0c59cbc99a092e5ec5a396910f2d93b9643e5d8141050b011e66f11e45b","glsl-optimizer/src/util/futex.h":"26f7c9d86e9ffef4c0fa2761f1aaa1918337302e20bd6ca10e61dc3c47356deb","glsl-optimizer/src/util/half_float.c":"11bc2584493d5d9d46e8c8a619a0307cf150bf5ab5d0f96bb764b061dc37a00e","glsl-optimizer/src/util/half_float.h":"7f7c380f126da1400a91758cc0392f24bf967bce1672890b62be26fe9fbd922b","glsl-optimizer/src/util/hash_table.c":"0ca40352e35dedab0a84c64c903f1b16d47e950bb5f43b4d22bb57d499bfea6e","glsl-optimizer/src/util/hash_table.h":"217191bb360592e2232f187473c10287d2cda8ae6fa5c53d0ef74c8c206118b4","glsl-optimizer/src/util/list.h":"9fab03c6a78186bb5f173269f825f6ce976b409d931852e3d93bac632e07989a","glsl-optimizer/src/util/macros.h":"63faf65b51058c483b17f1f77da51d1c53c8beab52678cb6bd01f1228a63b6b0","glsl-optimizer/src/util/mesa-sha1.c":"00c692ec353ebc02c06c57c5a71de0ab7a119f86a4146f452e65ec87e4944417","glsl-optimizer/src/util/mesa-sha1.h":"bff4c29f4bf7cdbcefb30fa0c996a7604a380eba8976467c2a60e7cd328f7e26","glsl-optimizer/src/util/mesa-sha1_test.c":"25da89a59d51469f77b4c468ca23ffdce0a7a1166a70b6cc23026a6800b0143c","glsl-optimizer/src/util/os_memory.h":"64555faf1760ae6954f42c83727c38dfc4c278e9152115779ffaad58b42adacf","glsl-optimizer/src/util/os_memory_aligned.h":"12d86fa94be38c13f7eeebdf313795e1267dd5a7187d2f0072e0e896f41702f6","glsl-optimizer/src/util/os_memory_stdc.h":"07360363b88c927065e10df71bebf6c8a0cc3b9167c9dfce55f2d65f11e6f787","glsl-optimizer/src/util/os_misc.c":"a9936e613ec84803abd59ad47c192c8e3939993c950ac91973fdc4cec1801bb8","glsl-optimizer/src/util/os_misc.h":"cc68eb12e05b5e749c54298cb4a6f4cd20cc5af7db3403e70b3c27b56090c740","glsl-optimizer/src/util/os_time.h":"73e775f7335244ff5964c678c27eedf1aea6abea44c4169d327ea8c7ce4a3a88","glsl-optimizer/src/util/ralloc.c":"4b51189595ef67bcef52c40cbf654d969041dbd15e15d4a893ad494ac060aeca","glsl-optimizer/src/util/ralloc.h":"e573c45875ff1530f0dbee9a93ae55535fdac8d5cc88a79ebc327c688824bde5","glsl-optimizer/src/util/rounding.h":"0450722353caf83de07e67f335949dbe95fe53b534052d4ee9d28d2781387614","glsl-optimizer/src/util/set.c":"86f8c9a830bead5a5a79bc970b0ff97809312af07b3beb39ef9d90af04d40a1b","glsl-optimizer/src/util/set.h":"3e39ca161e7ed4ec7c436cc9c7919ed9a55ed1b71edbf2caf6f9bcfd9bc578ed","glsl-optimizer/src/util/sha1/README":"00af7419af05247081858acb2902efd99fcda2ce16e331079f701645bb3729c0","glsl-optimizer/src/util/sha1/sha1.c":"1403bbe0aad42ba3e6be7e09f7cad87a6a8c4ad5b63962f7b92b9f37d8133b04","glsl-optimizer/src/util/sha1/sha1.h":"68d9f240eab2918026ecdf22be36811abbd4f1389f6c36e31258041aeaedd247","glsl-optimizer/src/util/simple_mtx.h":"12c6c3c4b7db9168bc656d5b3c65912075084d2b388c415d5c3d3f5953a9d6c7","glsl-optimizer/src/util/softfloat.c":"a97e51a96fe5e6a052c02aa6bbec683fe73fb88a8c087d9c930503e2120d8a2e","glsl-optimizer/src/util/softfloat.h":"66664b0250e83bf5dd4cc743acd119d076efcea624a0eab3d6b60718e6ee8811","glsl-optimizer/src/util/string_buffer.c":"63a1d1b1e34926c88ea00159cafbcd56568b805c4f64d1e8c97169fe313921fc","glsl-optimizer/src/util/string_buffer.h":"7b88d1b1d9c6cfb8e93331813535c127289437c75f822029e9a3bca8ea6b52ee","glsl-optimizer/src/util/strndup.h":"0273c4fdb7482cd7746881a63d3998648c6d63415ba85af1d1860f0e0dc504c6","glsl-optimizer/src/util/strtod.c":"5cf610d8a37373cf37cfb7aae903525d943b2674b1f32594c70b0eb19a8c9697","glsl-optimizer/src/util/strtod.h":"237396def4e264d35ed4bedea00ef9a4ceab6d7a11a18c770d9747d22c69ed2d","glsl-optimizer/src/util/u_atomic.h":"c02e809526c6c09ba8fe51f50b2490d1b6c8e5c7f3c4031ae958250d098fc3bb","glsl-optimizer/src/util/u_debug.c":"8c060e379b816618f3dd22c9ea523c68b9425c76c36a7dfe5d6d375b337f5f4a","glsl-optimizer/src/util/u_debug.h":"e11e26edd9b9e4e6f8e6a435e69f4d9edda27e9a379f68f4c82ea2525aaaea68","glsl-optimizer/src/util/u_dynarray.h":"853d0fa6ff2261614488be624deb8a2b01e57c2c8eabc28578cbeed4ccc95694","glsl-optimizer/src/util/u_endian.h":"3ccea7e529740318d8a4b05c00db3adc9d1e292a52bdc56a05c9fae99209720f","glsl-optimizer/src/util/u_math.c":"c868a8c0886dc78f1b06b13404ba8b253090449045774dd56893ac9d75795184","glsl-optimizer/src/util/u_math.h":"a04e32e126db016413f9de0a2028a3e71737137463b1289eae576f884b06fcf1","glsl-optimizer/src/util/u_memory.h":"c5db17c724c70283ddbe04165722f6988d4e0eb9aa3602ae472feff016649af9","glsl-optimizer/src/util/u_queue.h":"92930ce236c0528a98b695f5cea8c5c6aa9683beaf71a2227bdc5d33d1b21506","glsl-optimizer/src/util/u_string.h":"c5a2f4ef576d1547bda12c4ea219179fefa54414977743ac094abcaf696ef6ca","glsl-optimizer/src/util/u_thread.h":"00b708459b27f9910d18db92c18cc65cfc618ac2b3cd144e45f8640057b10d58","glsl-optimizer/src/util/xxhash.h":"2f2aff2fc6c0c929f52cf6ae7314122124c5be026d41ad1c357608383c4a37ad","src/bindings.rs":"79993db2058bde39f99ef483d02560d33b1cb882f6a552319e8b86eb6f9021e1","src/lib.rs":"04be1554cd829eb40864b06d80b491dd48117a4e3a601c7d482117f7a0391e67","wrapper.hpp":"f3ea34cc496f7d90b9bfcada3250b37b314c3524dac693b2ece9517bc7d274ac"},"package":"8ba4741358604ca0848c27ecc069d68e62e11cde81e38aac1da3c54b79ab5adf"}
|
|
\ No newline at end of file
|
|
+{"files":{".gitmodules":"ffc0cce90e856d4f4bdb3bd3c950c9e59501a45ebd5022b91cfe8c07c79ef1ac","Cargo.toml":"cd1efadd7a6d266acd8c412df59df8c8beec33e393567d4a5b236a3315f35d93","README.md":"4468e08c64c19977707d792bfab0080e35ff927b64990eab77873f8ba056ba1c","build.rs":"92e29699487c21389fc823c50b410cfbfc74cc774265d24958489909ee48a076","glsl-optimizer/.cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","glsl-optimizer/.editorconfig":"dca7ff05a95f608849c4dc640af7f83a0f415618e327a2ecb6a0afa0d9d2bacb","glsl-optimizer/CMakeLists.txt":"42ce94744e82ffa000da8b64d81fc140e293b9f5da7dd4cf6b49e7404a2448d9","glsl-optimizer/README.md":"b18eef11a92d267d88a937b1154f7670ee433c730b102fdf7e2da0b02722b146","glsl-optimizer/contrib/glslopt/Main.cpp":"14ba213210c62e234b8d9b0052105fed28eedd83d535ebe85acc10bda7322dd4","glsl-optimizer/contrib/glslopt/Readme":"65d2a6f1aa1dc61e903e090cdade027abad33e02e7c9c81e07dc80508acadec4","glsl-optimizer/generateParsers.sh":"e8f7af58b34d4e46b475e848a0af1d9926bd1d9aa52727b4a80cbf13d1c2ca47","glsl-optimizer/include/GL/gl.h":"1989b51365b6d7d0c48ff6e8b181ef75e2cdf71bfb1626b1cc4362e2f54854a3","glsl-optimizer/include/GL/glext.h":"2ac3681045a35a2194a81a960cad395c04bef1c8a20ef46b799fb24af3ec5f70","glsl-optimizer/include/KHR/khrplatform.h":"1448141a0c054d7f46edfb63f4fe6c203acf9591974049481c32442fb03fd6ed","glsl-optimizer/include/c11/.editorconfig":"f96a2354e5f2b90367d643e6d9e980ce76278d4d47afd8b2713b595753aa8b4b","glsl-optimizer/include/c11/threads.h":"56e9e592b28df19f0db432125223cb3eb5c0c1f960c22db96a15692e14776337","glsl-optimizer/include/c11/threads_posix.h":"5fa592653213459e2cce70b430715246d53fd1a10c1866acf427874530a69f92","glsl-optimizer/include/c11/threads_win32.h":"95bf19d7fc14d328a016889afd583e4c49c050a93bcfb114bd2e9130a4532488","glsl-optimizer/include/c11_compat.h":"103fedb48f658d36cb416c9c9e5ea4d70dff181aab551fcb1028107d098ffa3e","glsl-optimizer/include/c99_compat.h":"aafad02f1ea90a7857636913ea21617a0fcd6197256dcfc6dd97bb3410ba892e","glsl-optimizer/include/no_extern_c.h":"40069dbb6dd2843658d442f926e609c7799b9c296046a90b62b570774fd618f5","glsl-optimizer/license.txt":"e26a745226f4a46b3ca00ffbe8be18507362189a2863d04b4f563ba176a9a836","glsl-optimizer/src/compiler/builtin_type_macros.h":"5b4fc4d4da7b07f997b6eb569e37db79fa0735286575ef1fab08d419e76776ff","glsl-optimizer/src/compiler/glsl/README":"e7d408b621c1b605857c4cab63902f615edb06b530142b91ac040808df6e22f7","glsl-optimizer/src/compiler/glsl/TODO":"dd3b7a098e6f9c85ca8c99ce6dea49d65bb75d4cea243b917f29e4ad2c974603","glsl-optimizer/src/compiler/glsl/ast.h":"3e68ff374350c49211a9931f7f55a485d8d89fc4b21caaffbf6655009ad95bf8","glsl-optimizer/src/compiler/glsl/ast_array_index.cpp":"92b4d501f33e0544c00d14e4f8837753afd916c2b42e076ccc95c9e8fc37ba94","glsl-optimizer/src/compiler/glsl/ast_expr.cpp":"afd712a7b1beb2b633888f4a0911b0a8e4ae5eb5ab9c1e3f247d518cdaaa56d6","glsl-optimizer/src/compiler/glsl/ast_function.cpp":"7cccd240c080f5ab2ed73f5f1a6e1ce9ae9583a209338c026db8f76272a352f2","glsl-optimizer/src/compiler/glsl/ast_to_hir.cpp":"256de69fbedf79fd0711b0e0edc2dc061e6bdf0b04996b05f9237036a8e375d9","glsl-optimizer/src/compiler/glsl/ast_type.cpp":"8eb790b24b26dfb72bdc333744b566c26d8464c5d47d20eae659461f5c4899f7","glsl-optimizer/src/compiler/glsl/builtin_functions.cpp":"09731e48472b42038aeb8b8f06fecc2d919d2333a088b52b06a9711d8afb9732","glsl-optimizer/src/compiler/glsl/builtin_functions.h":"a37cad7ed09b522c5b8bec7b80115a36846e7ba6e0874a2a858e32f7f202c665","glsl-optimizer/src/compiler/glsl/builtin_int64.h":"619def6f3aebf180da3944ef08f159ab12a58b24767e41d8b985ac37ded54d62","glsl-optimizer/src/compiler/glsl/builtin_types.cpp":"afec060b62d6f3b00bfbf94e9fa5f96341ce096c128d1eef322791e6ed9cea4d","glsl-optimizer/src/compiler/glsl/builtin_variables.cpp":"6563bfb1345cbca4c77e00eef09ad152f3e1dc271d246a08c5ce9e1f4ce4250a","glsl-optimizer/src/compiler/glsl/float64.glsl":"1072fd888be48c2a7a5117cd2d92a65f034965a66375f598bb856bff5d7be766","glsl-optimizer/src/compiler/glsl/generate_ir.cpp":"e5f0175370a0d07f93c48d3f0f1b8233d12c64a7b02de02dcc753ef7b398ef0f","glsl-optimizer/src/compiler/glsl/glcpp/README":"a0332a1b221d047e9cce5181a64d4ac4056046fd878360ec8ae3a7b1e062bcff","glsl-optimizer/src/compiler/glsl/glcpp/glcpp-lex.c":"6ed9a66b752877aec847bf9e39e2126860552a5d5f225e8c2523d6155b51eea8","glsl-optimizer/src/compiler/glsl/glcpp/glcpp-lex.l":"15fa8afa3011865ff181a54bbd5e4ddccb4c9ec5a862c98366cd84b295dcf446","glsl-optimizer/src/compiler/glsl/glcpp/glcpp-parse.c":"03494f9ce1cb82260506e2559e73a3eeb622c4bd51b65eaa0a2c3351862bd4c8","glsl-optimizer/src/compiler/glsl/glcpp/glcpp-parse.h":"264d9a18421cde255ce34a0a62b3d8e73465359f0d167e64aa3973062aae5bdd","glsl-optimizer/src/compiler/glsl/glcpp/glcpp-parse.y":"fafb66e3a8f149d19e085f18a4273ba6d4c11af9e9a01d665cc784dddf97b79f","glsl-optimizer/src/compiler/glsl/glcpp/glcpp.c":"37ed294403c2abfd17fd999d1ae8d11b170e5e9c878979fefac74a31195c96b0","glsl-optimizer/src/compiler/glsl/glcpp/glcpp.h":"85ac8b444bcbd0822b66448a1da407b6ae5467b649f5afaf5c58325bd7569468","glsl-optimizer/src/compiler/glsl/glcpp/pp.c":"a52d94f1bcb3fb2747a95709c4a77c25de7eea8354d2b83bb18efd96976a4473","glsl-optimizer/src/compiler/glsl/glcpp/pp_standalone_scaffolding.c":"d11aeb3acfe966d1b78f1ee49804093f2434214c41391d139ffcb67b69dc9862","glsl-optimizer/src/compiler/glsl/glcpp/pp_standalone_scaffolding.h":"abbf1f36ec5a92d035bfbb841b9452287d147616e56373cdbee1c0e55af46406","glsl-optimizer/src/compiler/glsl/glsl_lexer.cpp":"272b9fc1383d72b81bfc03fa11fdf82270ed91a294e523f9ce2b4554bd3effa9","glsl-optimizer/src/compiler/glsl/glsl_lexer.ll":"2b57d9f9eb830c3d7961d4533048a158ee6f458c8d05c65bea7b7cfbc36e4458","glsl-optimizer/src/compiler/glsl/glsl_optimizer.cpp":"f8095d20629d0af70be930b0612e169edb274551a1d25a3cd1bf9995a11ce2e8","glsl-optimizer/src/compiler/glsl/glsl_optimizer.h":"22e843b4ec53ba5f6cd85ca5f7bad33922dca8061b19fb512d46f1caca8d4757","glsl-optimizer/src/compiler/glsl/glsl_parser.cpp":"126baf368d525aba301854e3d91ba60b5aee32e1102376af71416f32cb95ec48","glsl-optimizer/src/compiler/glsl/glsl_parser.h":"2ea9a50716098a8f7bef782d2a030d757b68da73afb01b4d4940d3e8381d44e8","glsl-optimizer/src/compiler/glsl/glsl_parser.yy":"6b1fd1576b29fce005dff744a6dbd0219e4c695c361d61864e1f3a8d6fa6b764","glsl-optimizer/src/compiler/glsl/glsl_parser_extras.cpp":"aad64b5b66467da650091430681e8c6a820cf3cadc4db3c160bf2f15875390ae","glsl-optimizer/src/compiler/glsl/glsl_parser_extras.h":"71fd0e92bbdb193dfb067d7bfdb1200d77392be2fbd0cbfc9ca89d1bb4c7e741","glsl-optimizer/src/compiler/glsl/glsl_symbol_table.cpp":"6660fb83c0ddddbbd64581d46ccfdb9c84bfaa99d13348c289e6442ab00df046","glsl-optimizer/src/compiler/glsl/glsl_symbol_table.h":"24682b8304e0ea3f6318ddb8c859686bd1faee23cd0511d1760977ae975d41bf","glsl-optimizer/src/compiler/glsl/hir_field_selection.cpp":"72a039b0fcab4161788def9e4bedac7ac06a20d8e13146529c6d246bd5202afd","glsl-optimizer/src/compiler/glsl/int64.glsl":"303dbe95dde44b91aee3e38b115b92028400d6a92f9268975d607471984e13eb","glsl-optimizer/src/compiler/glsl/ir.cpp":"ddeb4ced00afa00fc0e2b19c6120f0a37b8b05b4f8473fbb627ea9d7d13efe58","glsl-optimizer/src/compiler/glsl/ir.h":"990b1c74447c4eb4835353ccb0ed9aea644f97fc1129ef1739cd935075d85d2e","glsl-optimizer/src/compiler/glsl/ir_array_refcount.cpp":"8cdc1cffe01e42e0566fa2193a75f789628e8025ad1b82f0ee6f204451b7f9f7","glsl-optimizer/src/compiler/glsl/ir_array_refcount.h":"75f06ec81342b379096ca52e1dc0fd5f19a11ff8e9b58203c20628179d644c12","glsl-optimizer/src/compiler/glsl/ir_basic_block.cpp":"1e2920b1c0ecb08424c745c558f84d0d7e44b74585cf2cc2265dc4dfede3fa2f","glsl-optimizer/src/compiler/glsl/ir_basic_block.h":"81be7da0fc0ee547cd13ec60c1fcd7d3ce3d70d7e5e988f01a3b43a827acdf05","glsl-optimizer/src/compiler/glsl/ir_builder.cpp":"daba29c5a1efdd5a9754f420eb3e2ebdf73485273497f40d4863dadeddb23c0d","glsl-optimizer/src/compiler/glsl/ir_builder.h":"2822e74dd3f6e3df8b300af27d5b11ea2dd99d0e5e7ca809b7bbcce9833c483c","glsl-optimizer/src/compiler/glsl/ir_builder_print_visitor.cpp":"0fd7f92be11fb1482255541597018b56d7619925346504414404e46a60f4797b","glsl-optimizer/src/compiler/glsl/ir_builder_print_visitor.h":"799852adc3a0e54d04080655e7cebfa0d3bf5b6ffed5d8414f141380665d4db7","glsl-optimizer/src/compiler/glsl/ir_clone.cpp":"d897a4e1f5bbec4a6a2f15044c1be9a4d13899c73be77335b041049a4589aa5d","glsl-optimizer/src/compiler/glsl/ir_constant_expression.cpp":"78bd87ddb09db67f6c499067728d72aef4f16aa02721a99a4b769d1e0cfa9010","glsl-optimizer/src/compiler/glsl/ir_equals.cpp":"bca28533a6310b0fc152b56d80872368f1510dc62ed6e8ac199b9ffa7fac02e7","glsl-optimizer/src/compiler/glsl/ir_expression_flattening.cpp":"7e918d4e1f237eca01396004015865ce345afe32a876c9dbc6728576a1a7eae4","glsl-optimizer/src/compiler/glsl/ir_expression_flattening.h":"f45b66aa9497520e7e08e612d24b308477c34477fbd963ee9320eac664957f16","glsl-optimizer/src/compiler/glsl/ir_expression_operation.h":"cc9f10727dbd26cac506804f51456302c702650f9eeb59054a7e1575d5cf6687","glsl-optimizer/src/compiler/glsl/ir_expression_operation.py":"85011f325e5d4a3068e4e41b7ea62adbc1deddc9d225b7c69eea0f3b63fe727e","glsl-optimizer/src/compiler/glsl/ir_expression_operation_constant.h":"cf575663c4922de6dbee3d8bc7ab80d4a65fcc7ff2e994eb296961e76b761a79","glsl-optimizer/src/compiler/glsl/ir_expression_operation_strings.h":"a6826daf496a8b9e89885bc2a161ac3445d501b23c6e0ac33e2c01b506b273c8","glsl-optimizer/src/compiler/glsl/ir_function.cpp":"7537365fc0fbe4b37a26b9a2146cc64d3e9a774d60eab63b65002ad165ae8fc7","glsl-optimizer/src/compiler/glsl/ir_function_can_inline.cpp":"faddbf112187a048d502716a3fb82570a322299ba2a3abd79388382c82040bfc","glsl-optimizer/src/compiler/glsl/ir_function_detect_recursion.cpp":"9176973eaf5c0a984701f953bb7a80f37dca43d59b5bce50fc69b3f02f2902d7","glsl-optimizer/src/compiler/glsl/ir_function_inlining.h":"9739493f99c489987d650762fccdd3fb3d432f6481d67f6c799176685bd59632","glsl-optimizer/src/compiler/glsl/ir_hierarchical_visitor.cpp":"3725861fbe2b98e0617f52d3b14cf6d3b25fb5ec00f5ef5d308b03642f592767","glsl-optimizer/src/compiler/glsl/ir_hierarchical_visitor.h":"e0560210e966c0c31e4ca843e80ea154e64db5a444b8c2df845b6ba5b3a43fc1","glsl-optimizer/src/compiler/glsl/ir_hv_accept.cpp":"caf7ce2cd9494aadd3c58bcf77f29de58368dc9e347a362bbf37f8bda9509b80","glsl-optimizer/src/compiler/glsl/ir_optimization.h":"8b3dcfc7f9e96b21a8dd47a0040d90be483a9e67a2cdce3a697188fb758d4630","glsl-optimizer/src/compiler/glsl/ir_print_glsl_visitor.cpp":"a8b89b9bd15575e2ea5af3a6822214295686f18c202f2562eee666891033e726","glsl-optimizer/src/compiler/glsl/ir_print_glsl_visitor.h":"1ad1bd3efd1ace39051c13f904c05fd80425d329444f9a8d47fd6d948faf46e0","glsl-optimizer/src/compiler/glsl/ir_print_visitor.cpp":"98e0ca92087edbc3a3c8b8bfacdc730751a767ea96bfa90b19e68cdc429b7a89","glsl-optimizer/src/compiler/glsl/ir_print_visitor.h":"4573eb93268a2654c14b505253dd651e2695d43dc745904d824da18305269b95","glsl-optimizer/src/compiler/glsl/ir_reader.cpp":"06bfba802c8354e5a8b2334b6d78d6297de18235bedd3f8fbb382c89870b02f2","glsl-optimizer/src/compiler/glsl/ir_reader.h":"63e3f7f1597936a7011d5b520e171b197bf82bee6c1560d822c3edf5aaa6f9e9","glsl-optimizer/src/compiler/glsl/ir_rvalue_visitor.cpp":"84b5c5d746555adca85759c2912fe48010232b7c1c0bd2cf03bd04067a85e66f","glsl-optimizer/src/compiler/glsl/ir_rvalue_visitor.h":"fd8c561b71085d3211fff85ed514fecb299d8ce19a04bc063419a55b6d840525","glsl-optimizer/src/compiler/glsl/ir_set_program_inouts.cpp":"ab9f115ce9e7f312d9c7978340ced0dc4ae6d13a80e08442ba9709d11d50cae5","glsl-optimizer/src/compiler/glsl/ir_uniform.h":"683ae6896b1a08470c090be5f822fc31cd434eab9216e954b9bba24a46975109","glsl-optimizer/src/compiler/glsl/ir_unused_structs.cpp":"9c1620c45f2fc071fe5ed828472040b14c5f42effe06aa0e3b8352c95ef78786","glsl-optimizer/src/compiler/glsl/ir_unused_structs.h":"13387b49c23093575276b25b9dfd31fedd8f131c5c4f3128ab04cf03e15b5295","glsl-optimizer/src/compiler/glsl/ir_validate.cpp":"6b232be5999a86ea278f4f15b2832d76843246509118d924243055a3b9b0299f","glsl-optimizer/src/compiler/glsl/ir_variable_refcount.cpp":"2764a3cad937d53f36db7447c3a5b98b04bf153acf81074d971857fc5bca460d","glsl-optimizer/src/compiler/glsl/ir_variable_refcount.h":"b0668e3eb1501ef65e38fe12830742ecb3d28e6039f30e366c8924efc29b4a39","glsl-optimizer/src/compiler/glsl/ir_visitor.h":"f21b3534c3d66d5fb707d1581fece7e1eb043523afbaedf89918cfb031c6df94","glsl-optimizer/src/compiler/glsl/link_atomics.cpp":"360f0209e11f367ba358223597b0a118bae095bff16337cf03f1fb89c5b80ca6","glsl-optimizer/src/compiler/glsl/link_functions.cpp":"de7895da8aa33a1e3c2c1eb2fdaf267ab5d1fbfdb79ae2e67f95211e946e294c","glsl-optimizer/src/compiler/glsl/link_interface_blocks.cpp":"1926cfa73810704eb19b916c1b2cdb9321155e2f98b2a0a57c7c3c6e960540cd","glsl-optimizer/src/compiler/glsl/link_uniform_block_active_visitor.cpp":"1e14e06ca3b2c1089cfba2e8eaf0c1f373d9d6374b6082f320962dd71ae09611","glsl-optimizer/src/compiler/glsl/link_uniform_block_active_visitor.h":"fd58c155af645295bb6aec08797889de586f4d919731de2bce57e8dce59bb048","glsl-optimizer/src/compiler/glsl/link_uniform_blocks.cpp":"09589f49776dce32e6c4044937de7e0c839a9754ad31960148f8f9e010658997","glsl-optimizer/src/compiler/glsl/link_uniform_initializers.cpp":"bf98e08c12db466acf9623cbeb8fa8e3b4002512722e7a6521287f558a099f37","glsl-optimizer/src/compiler/glsl/link_uniforms.cpp":"84bad5b1377362cecf259b05124239be5220b03ce1c0c61b59bd9a47e4379af2","glsl-optimizer/src/compiler/glsl/link_varyings.cpp":"a5f1a53e7c80d635515fe808ff223d89fef1767abb0f2b7aa28fa6773dca353f","glsl-optimizer/src/compiler/glsl/link_varyings.h":"b9dbe018f038df69763df2e928742ce81bbc6e3aaba26f50621e30a6d9aa6220","glsl-optimizer/src/compiler/glsl/linker.cpp":"cfcbc7ed03b2de6e43505bd6eba42564cc415b0f293e9f73791a6fa7b9a59b4a","glsl-optimizer/src/compiler/glsl/linker.h":"ecf94b4ad75ef461c27c557fda4bd25f34c91930822b8e1d729ec84520d4a049","glsl-optimizer/src/compiler/glsl/linker_util.cpp":"1663ad88e2a369305659aeeffaedb5bd752cf76340a2ba5797fc0bf600633cf9","glsl-optimizer/src/compiler/glsl/linker_util.h":"6db788daf9c8e87ae2764b61a8b37ebe419e69c1b82ddee01986e37c978c6993","glsl-optimizer/src/compiler/glsl/list.h":"b1f46ce0e552fe7c45b2a19408a9d97662e23e4b182ab335491c26f8cf25886f","glsl-optimizer/src/compiler/glsl/loop_analysis.cpp":"d3025c34e8010d49cd5abb86d30278263c40a2697b7724c20e804a2398660540","glsl-optimizer/src/compiler/glsl/loop_analysis.h":"a85f045a038ee5b5176063e85d7988865862c44ab0580f771b993a042d0b69cc","glsl-optimizer/src/compiler/glsl/loop_unroll.cpp":"bd4292ea2809f5a669bcb76ceaa1ac365772dcd638c579c3ed10275214901a54","glsl-optimizer/src/compiler/glsl/lower_blend_equation_advanced.cpp":"172ade61a513c00be842070615e1afa78ccc6136adaada06f00b988a62996254","glsl-optimizer/src/compiler/glsl/lower_buffer_access.cpp":"af451edfaa3efde30b3a648c4cf3411672cadcef33d69966dce6f92333a8b763","glsl-optimizer/src/compiler/glsl/lower_buffer_access.h":"807886953a576a323591798cbca5e2df24295ea893b28affd8ffb5926cebaa04","glsl-optimizer/src/compiler/glsl/lower_builtins.cpp":"4d81afc32cf58e1481fcb5e42888ab93dbe6820310a20ff7a9982b77b2152d9b","glsl-optimizer/src/compiler/glsl/lower_const_arrays_to_uniforms.cpp":"608403f0eeeedf21cfcd3014116e0f44e28cbdf6c4c32aac7e613e64e30205e1","glsl-optimizer/src/compiler/glsl/lower_cs_derived.cpp":"179905cd47a294122adeb5b0abfed6f2f67782dcde21b544d1ee2c1985154e66","glsl-optimizer/src/compiler/glsl/lower_discard.cpp":"3b361b2db0004d544d64611cb50d5a6e364cf6c5f2e60c449085d7d753dd7fb0","glsl-optimizer/src/compiler/glsl/lower_discard_flow.cpp":"f5c29b6a27690bb5c91f196d1a1cf9f6be4f1025292311fe2dac561ce6774dee","glsl-optimizer/src/compiler/glsl/lower_distance.cpp":"7531858637a3149431162637de0e6ced99a15ccf7ee15f07ea9d6c88e3330cc2","glsl-optimizer/src/compiler/glsl/lower_if_to_cond_assign.cpp":"469e617757fd1728709cce021aac5c8da05ee503bf5366977bdc4ef7a6d83950","glsl-optimizer/src/compiler/glsl/lower_instructions.cpp":"6ff5c396abe40d8a2145d571e99e2bbe9143393e15aafc28adc2803a01d821b6","glsl-optimizer/src/compiler/glsl/lower_int64.cpp":"d1ed41196880dd53c7b13e2782f9423f8442bf1d46186e8be92b1b66218a83ee","glsl-optimizer/src/compiler/glsl/lower_jumps.cpp":"34de7b493f281589fb0c2c0f6e885d0a0fabbe7a4e97a73de374dd714777a58c","glsl-optimizer/src/compiler/glsl/lower_mat_op_to_vec.cpp":"dff7a308edc4846c348ed4225c6699a9c75abac68d88f41f85954276552779f4","glsl-optimizer/src/compiler/glsl/lower_named_interface_blocks.cpp":"16063ac127bff75a68272070ab11c21c25101edbff62b4c68f4983b4cd941af0","glsl-optimizer/src/compiler/glsl/lower_offset_array.cpp":"3b00773399135aea85746a5a68b96ef000bc6841be1a2c8e6f25c516628b0949","glsl-optimizer/src/compiler/glsl/lower_output_reads.cpp":"a0fc9975d5aa1617e21fc6c353659a9802da9e83779a3eef4ec584f74b4dadc5","glsl-optimizer/src/compiler/glsl/lower_packed_varyings.cpp":"7550099d4ae123d71541c2fc88bc04fbfe9271ec75d7e210987d1c8cac3cf3ea","glsl-optimizer/src/compiler/glsl/lower_packing_builtins.cpp":"79a13d161fe505a410ab948d92769395708693ec888153630fa240e5b97e356f","glsl-optimizer/src/compiler/glsl/lower_precision.cpp":"f82a185b879872b977a1787d8061b9a80bc4cf8db1b970db6efba2ad9cc20fa2","glsl-optimizer/src/compiler/glsl/lower_shared_reference.cpp":"ea2dccf50a83bc19391bf6b7ab6aa53c0005f427af4066d25140340af9a4beef","glsl-optimizer/src/compiler/glsl/lower_subroutine.cpp":"f69fa53650eeb6f2944fce4d36a6e0a423e6705f3a3bd3389c7fadb83cfc8802","glsl-optimizer/src/compiler/glsl/lower_tess_level.cpp":"b196c9d424c0569f3e85d75c2d125af21566cb113d69036db87c0990703e0fa7","glsl-optimizer/src/compiler/glsl/lower_texture_projection.cpp":"4d247f244272adc8250fd888d8d932a140dd5de4d1efc7a58492c3c2b8291527","glsl-optimizer/src/compiler/glsl/lower_ubo_reference.cpp":"e670dbbc1817f146ff7d53750569cf020364a2b49555de41d6944f161aef6276","glsl-optimizer/src/compiler/glsl/lower_variable_index_to_cond_assign.cpp":"fce930f29ac9405b297d1f749d68f59506b89c70b4ee1b1ab8cf49a34cc71ecf","glsl-optimizer/src/compiler/glsl/lower_vec_index_to_cond_assign.cpp":"3c67d851a11a55fad1c49a550f3a0cfe50892d33a3f238ce266cd829eba510a8","glsl-optimizer/src/compiler/glsl/lower_vec_index_to_swizzle.cpp":"f5ec666b73e1415cbab32519a53605ed385f3b03e889560373dbce69dda5000e","glsl-optimizer/src/compiler/glsl/lower_vector.cpp":"f7c13f5572ebe09b6a71553133b2cf003cd4b77b9657600672ee3b21bf890725","glsl-optimizer/src/compiler/glsl/lower_vector_derefs.cpp":"b05793da6dd620a531b43df5af8b2ecbc37b9db0c88910f5724ea10bcd057e19","glsl-optimizer/src/compiler/glsl/lower_vector_insert.cpp":"fee772ec17eea5e86a529bf9c5fa2ee0d29a5982bb75ebc6d68ed36cd19aa299","glsl-optimizer/src/compiler/glsl/lower_vertex_id.cpp":"690e8715182e03fead5cc5a35251fb4f41b357e4c71a1dfbc4bd7be19862b56d","glsl-optimizer/src/compiler/glsl/lower_xfb_varying.cpp":"58c0e8b270e4bbde54250be03cdb2f36966bcafb785372ad2e2b786835df7f9f","glsl-optimizer/src/compiler/glsl/main.cpp":"ae5e88abbbc8a12f769e1296bad938b9d7398cc6da0d3d0caeceeeb876536850","glsl-optimizer/src/compiler/glsl/opt_add_neg_to_sub.h":"f5054944bfd068810629080d0ea11df78b3f57a8f86df75e13ca50157ad1964d","glsl-optimizer/src/compiler/glsl/opt_algebraic.cpp":"538058c7be50e50e58f997dec4b1e0add25a8dc44abf2648366b90612bf95e41","glsl-optimizer/src/compiler/glsl/opt_array_splitting.cpp":"19d3ce0e815438f4df9ab2890e767b03a4f3f191b53bb30c0217cf2ae6a95430","glsl-optimizer/src/compiler/glsl/opt_conditional_discard.cpp":"0e44e0e126711a3725c1f3a2aa65ff03c381fed08680ffc30101aae60f716c4e","glsl-optimizer/src/compiler/glsl/opt_constant_folding.cpp":"a088d04d9b45f9e55e235835648f614c89b7803c03a6d4f6a6d1a6bc1f0228bd","glsl-optimizer/src/compiler/glsl/opt_constant_propagation.cpp":"8a9440d77ecd6dcf13e683cbb99943aab6311c8fd4b5f6a9189a8d4f270746f4","glsl-optimizer/src/compiler/glsl/opt_constant_variable.cpp":"63d3ccd4dd09f19c9cf1a2f51592111bed41284504f29f3c0de4cadebc439a37","glsl-optimizer/src/compiler/glsl/opt_copy_propagation_elements.cpp":"ffa0f50863995e0d2e31f55a52e82319edc71e520987bebd7f7e561ea331c64b","glsl-optimizer/src/compiler/glsl/opt_dead_builtin_variables.cpp":"84e8747b948232f01dd56b428b9315f96f9511f605f240119fc446fae28981a9","glsl-optimizer/src/compiler/glsl/opt_dead_builtin_varyings.cpp":"761523e88f5b3ba785170f4d7205e94fa99acb7e74d29efbe40e1c010e1dbdb3","glsl-optimizer/src/compiler/glsl/opt_dead_code.cpp":"fd1ba2da7337d4e5dad17f5c2d73d9cc8880305f423e85d64cf94553588fa401","glsl-optimizer/src/compiler/glsl/opt_dead_code_local.cpp":"969a598b4df322baf222258a66cd64a326ea20e5b3125be9d8d1771f522c69e0","glsl-optimizer/src/compiler/glsl/opt_dead_functions.cpp":"774cae6536d02edf26e996a2a895e1f62d5098f16dc96b44798b4fc731a9a95f","glsl-optimizer/src/compiler/glsl/opt_flatten_nested_if_blocks.cpp":"3696a5c55f02e20056e085bc2714f73ac992f221b6f3387d655068e86b512046","glsl-optimizer/src/compiler/glsl/opt_flip_matrices.cpp":"44f0fe05b49329667671f88c96dc86ab3fe1459ff7b87f2b2d88de2d49829f9f","glsl-optimizer/src/compiler/glsl/opt_function_inlining.cpp":"fb56a33c90419a01676b57cbd91d0674a54cca40e6defaacc88dd33facebc131","glsl-optimizer/src/compiler/glsl/opt_if_simplification.cpp":"ac406eb35e379c357641d6c5749f50c65961455924d3dc884e2b90046fa92c5c","glsl-optimizer/src/compiler/glsl/opt_minmax.cpp":"0014e6b044f05e58d91add005d05cbdf8206f67ea1e593deea0cde947c26b8a2","glsl-optimizer/src/compiler/glsl/opt_rebalance_tree.cpp":"8bb6329dc0f299042368fc81934c2df019b45ab9f7aa0415d4e57b8d1ff98c9f","glsl-optimizer/src/compiler/glsl/opt_redundant_jumps.cpp":"222c73e2ac7a938ebb6428cc6c780c908ff6156d8ff935b04fed93a48fc10496","glsl-optimizer/src/compiler/glsl/opt_structure_splitting.cpp":"2edc79cc13f3177934e0443ad62f5976a1991f01f86ea303a803434849b13a47","glsl-optimizer/src/compiler/glsl/opt_swizzle.cpp":"015d0abddfe507f67c4b96c82988d861d018ededf7bf055e2bcbe9ea92da694e","glsl-optimizer/src/compiler/glsl/opt_tree_grafting.cpp":"46d28ac983ea244a4315bdc0e8892979ec4d1f9b9a96ac8a8a08006d9bc5e878","glsl-optimizer/src/compiler/glsl/opt_vectorize.cpp":"4e3ae189d32a09cabef66ec46c2f1563ddcc634a85b9c4b77a8d39590a5aa8a4","glsl-optimizer/src/compiler/glsl/program.h":"2982447e2abd35371e273ad87951722782a8b21c08294f67c39d987da1e1c55f","glsl-optimizer/src/compiler/glsl/propagate_invariance.cpp":"080943e21baa32494723a2eefb185915d2daae1f46d6df420145c5ad6857e119","glsl-optimizer/src/compiler/glsl/s_expression.cpp":"1ced972bc6ecc8eab4116ea71fb0212ab9ae5bcc0be3b47aa5d9d903566b3af1","glsl-optimizer/src/compiler/glsl/s_expression.h":"65b847e30e22a809b57d0bc70243049c99d9c6318803c5b8d0826aba55dc217e","glsl-optimizer/src/compiler/glsl/serialize.cpp":"be0eb4251348a9d921acb839a5c48c6023a2e9d116d602bb0432787ab623655d","glsl-optimizer/src/compiler/glsl/serialize.h":"57425732eba1233d928e5f07f88b623ce65af46b3bb034bf147f0a4b7f94f9a1","glsl-optimizer/src/compiler/glsl/shader_cache.cpp":"e0c5c433f2df3fccdf1d61281bfcb0ee5633433339b97c697d64db99611cbaaf","glsl-optimizer/src/compiler/glsl/shader_cache.h":"9217164d8d7f54aca0fe5922c7187095a6ae0cb703b196b79805aeef07a7e697","glsl-optimizer/src/compiler/glsl/standalone.cpp":"8e6c416a14d631261917a5fe4cc91880c287b22b2dfd70eb22028289a8fa5364","glsl-optimizer/src/compiler/glsl/standalone.h":"a7c397d1dfdd1e7fb2cfe99db35cd9df93251e642059208533202b7f20497f83","glsl-optimizer/src/compiler/glsl/standalone_scaffolding.cpp":"970d14b7a9d58e5270321f97bf5d57795558b1c570a56678e04a65b26c60bf4f","glsl-optimizer/src/compiler/glsl/standalone_scaffolding.h":"d921a617ea82b9e49413314492a645c44356de503581b1be3f1b57de236e480d","glsl-optimizer/src/compiler/glsl/string_to_uint_map.cpp":"d824bf5b839bd39498dc9e457103cdbe3e5289ddf7564107c27b1505948dd31f","glsl-optimizer/src/compiler/glsl/string_to_uint_map.h":"e2f18e66359c9d620e085de7f4a334a47df9c66e65a5bfe8b734c627bec04104","glsl-optimizer/src/compiler/glsl/test_optpass.h":"b27b8f35f5387e7ce4982bb51c7b63ccf14f91757f3108a5d02ed006925bb8a0","glsl-optimizer/src/compiler/glsl/xxd.py":"376484142f27f45090ea8203ae2621abf73f06175cb0ee8d96f44a3b9327f4bd","glsl-optimizer/src/compiler/glsl_types.cpp":"e909cab91eccfbb31d13f544e561dd41799a92bf5a853f5afca66927d4ac3706","glsl-optimizer/src/compiler/glsl_types.h":"caeabddb68f47390ca3414b642813bc384715b1363f453c0b449098d423c4b23","glsl-optimizer/src/compiler/shader_enums.c":"282bab5b7c04d4af9a06ef4aec6be10a865865d5aab6f74c3d2c9add77c08a74","glsl-optimizer/src/compiler/shader_enums.h":"13220442a5c02e83540cf2c0ad4f8417b2fbda5f2586dec4e92082544c937cdd","glsl-optimizer/src/compiler/shader_info.h":"4c5453e81197ca83593ee4f365074b23530f2ab21c78e1733b63dec6f344c12a","glsl-optimizer/src/gallium/auxiliary/util/u_half.h":"3c2b37bda3ccb64387e44b723d29cf9046decab1a893bf42d842e9603398bdee","glsl-optimizer/src/gallium/include/pipe/p_compiler.h":"c75620096ce8523dae90599e50aa2ef6468d3b0e368a77795edeb20dd1abfc0c","glsl-optimizer/src/gallium/include/pipe/p_config.h":"a27692fc35f9e55df3224b7529e66b3001e911e94e6bc5f8f569e493e1ee3fb7","glsl-optimizer/src/gallium/include/pipe/p_defines.h":"be26d68c0acc67c5e44788c6299716a9eee415fd81d7d747e3738a829e3b6b38","glsl-optimizer/src/gallium/include/pipe/p_format.h":"5674215fc41d27496f037cf837717daefbf23ebb38d40ace7c0c414bc08182b0","glsl-optimizer/src/gallium/include/pipe/p_state.h":"d600593aba5f5a17072a6c38f6baa81e01c7994b0174250f7e433bb41684b702","glsl-optimizer/src/mapi/glapi/glapi.h":"73632a625c0ddabc401205e8b5a81eb8af8506868efe4b170d7979ec3619e9c5","glsl-optimizer/src/mesa/main/config.h":"5800259373099e5405de2eb52619f9de242552a479902a3a642a333c8cb3c1e7","glsl-optimizer/src/mesa/main/context.c":"2f3208473d99c94f734b1137ba91889d4a1babb9e7534bf1dc85d851ee98274e","glsl-optimizer/src/mesa/main/context.h":"cc7e4194797db9d007f01884e23d786c453b3860821f7f2ddcdf0f1bf3f8ffb1","glsl-optimizer/src/mesa/main/dd.h":"6a964acd06b6c2d88700e69fb75fe3c6b3b3d45bbc41db24f3f897a29695fe0c","glsl-optimizer/src/mesa/main/debug_output.h":"7312422e90b8c0e34028ac27280e438139b5cba525c99deb3ac883cd3d87e452","glsl-optimizer/src/mesa/main/draw.h":"7eaef3a9e27a60ea6f7937109bf3a6190b831162fde0479abb12077ce27c353d","glsl-optimizer/src/mesa/main/enums.h":"87d562a6764f51c014a2274fa7c3aca17c04441537ddd56b2554f13c6fffea92","glsl-optimizer/src/mesa/main/errors.h":"c79444b5df289c90fbb22a33b2d0c23917d9fc4510960088f0b79e53bb56b1b2","glsl-optimizer/src/mesa/main/extensions.h":"a38b2f87cc93c513994281350d69e06c84ff8eded5313ec0a1be33f375e0ebbd","glsl-optimizer/src/mesa/main/extensions_table.c":"17642d1a8c9a0bf2bd61060052d33ff14a005d2b962e6cf91465797a50851e85","glsl-optimizer/src/mesa/main/extensions_table.h":"2c879571c238d2e14461031ac740372fd0f9ac3a34c0d5541bb9b7ed4c0376c8","glsl-optimizer/src/mesa/main/formats.h":"02e2f7ec3e39286cf9f27e2641043e6df8ecb1dfde9e643313210e214af2a929","glsl-optimizer/src/mesa/main/glheader.h":"58217b33eead6aa6b23cd4a291cefeaa6cb84e465f4960daffca97c44d6d1c35","glsl-optimizer/src/mesa/main/glthread.h":"51fb2711f77e7eafcfc52d29d5b844978832b24c930d88accd48d143a6eb9c6f","glsl-optimizer/src/mesa/main/hash.h":"7e7f782034c16a8e693de48e00c31d4a90b0129f4029fd074033d7d16ccbe718","glsl-optimizer/src/mesa/main/macros.h":"73d15ddfd64f2b57b9b2ffeeb993b9c2c0899a80563e9d6ff337b11ccbe6eee5","glsl-optimizer/src/mesa/main/menums.h":"5dfac0e2279d60b0cd0c7b9fc2a5021620d0f6282ed2e738c420214e3af152d3","glsl-optimizer/src/mesa/main/mesa_private.h":"edda678b93438944279a551f663b8858ad84814a9fc88ba9672ef195599c24ae","glsl-optimizer/src/mesa/main/mtypes.h":"6efddefa099e4d2e3fdd97f0055644f47aba21711385edfeabc2d9b0676f2eec","glsl-optimizer/src/mesa/main/shaderobj.h":"3597defbc142e4bd3b54f5f3c454f5c71ceae771f2fefed0f86d49f926335dbe","glsl-optimizer/src/mesa/main/uniforms.h":"4e331e6ad6e9cbded978b4082dbe0a57c1f8f01327446bb6892bfc179976c38b","glsl-optimizer/src/mesa/main/version.h":"9d0a13a758099302dc55cf7d045791834a89b0f9d4cf17b2692259b369a8a9a1","glsl-optimizer/src/mesa/math/m_matrix.h":"a37b19f182e070db3df93b0ede43c22fb8be8c2906504133ee6dbd7db1185d8b","glsl-optimizer/src/mesa/program/dummy_errors.c":"1820e305515b4c5e041f5e1623266a48ec8f076a155310be7d60637101f593e4","glsl-optimizer/src/mesa/program/ir_to_mesa.h":"b47f58d22e3ca2ae42d52501ea769d15c4476834944fa97eeccd3a3439211d00","glsl-optimizer/src/mesa/program/prog_instruction.h":"ab3832152a7e144b59e5a2264b2c29db56d93be31e76bbd958527a56771b40eb","glsl-optimizer/src/mesa/program/prog_parameter.h":"ba18c743284eadbc837c2c364c73e5d372321a7637a76e589d8d39fe8b5de225","glsl-optimizer/src/mesa/program/prog_statevars.h":"fc413698f84bc52d45fdeae0471934ee9904bfb7eac1a2b5f70446e54bcbbdca","glsl-optimizer/src/mesa/program/program.h":"1f01026a4eff440a3f122fd9b519d03546fe7f7d8be60dca834e95a2f8fbbfd2","glsl-optimizer/src/mesa/program/symbol_table.c":"6611cb9f078035bf5ff8c9112093a6c7d99f8af99a3931d0c07f227cc72283ea","glsl-optimizer/src/mesa/program/symbol_table.h":"631dc35ac48d5e87962d45507461920f6575610960ffcc42a08cefeb43300cda","glsl-optimizer/src/mesa/vbo/vbo.h":"6eb1dcd9a08c92f276c5fe08da184ff9d455d1be421913b8ad732a7b65e858fb","glsl-optimizer/src/util/bitscan.h":"9e49e694e6b34fe035bc685f32588827eb8cbe7d82878963c7ab52843e1c16aa","glsl-optimizer/src/util/bitset.h":"c40f78515c6230fed18345c6751ce33833a49da7a27901c7e6d7340cbdcbc5e7","glsl-optimizer/src/util/blob.c":"8f729846f66efc9c15485cc5fc24c6ec861fc1fecb2f652573f2a237d481b791","glsl-optimizer/src/util/blob.h":"93e1eaac866b9a7cd6fc03b533c18fb2edf0e97f03395eff4f3a605c4fc14d0c","glsl-optimizer/src/util/compiler.h":"79e3bf40a5bab704e6c949f23a1352759607bb57d80e5d8df2ef159755f10b68","glsl-optimizer/src/util/crc32.c":"2f3467a046b3a76784ecb9aa55d527698c8607fd0b12c622f6691aaa77b58505","glsl-optimizer/src/util/crc32.h":"59bd81865e51042b73a86f8fb117c312418df095fed2d828c5c1d1c8b6fc6cd4","glsl-optimizer/src/util/debug.c":"c3d68e9752ccc19e66c669562cd113cf1d0ac83cbb30174789e7fb8d1df58f9c","glsl-optimizer/src/util/debug.h":"50068d745c4199ccbd33d68dd4c8a36d2b5179c7869a21e75906ddd0718ca456","glsl-optimizer/src/util/detect_os.h":"343a8790d17a3710c6dd015ee367f84e3902ff3f2e36faca2bf93f9d725d3574","glsl-optimizer/src/util/disk_cache.c":"f533937e5a4fffe76e2739ef4b6b1e1da097d96d63eb808e68ebbc7027641c23","glsl-optimizer/src/util/disk_cache.h":"e83314fb14134a8e079b15e470a6376ba5a8253701f048c890a62b7e55d64bc8","glsl-optimizer/src/util/fast_urem_by_const.h":"e108fce804616c47d071dfe4a04163eec1126e448ed1aa89abb6b3a6d772bd5b","glsl-optimizer/src/util/fnv1a.h":"ab2596f19c6adf431ae27618f62c5743e24ad23ef83bb359a4c4c218245ab459","glsl-optimizer/src/util/format/u_format.h":"4cdfc0c59cbc99a092e5ec5a396910f2d93b9643e5d8141050b011e66f11e45b","glsl-optimizer/src/util/futex.h":"26f7c9d86e9ffef4c0fa2761f1aaa1918337302e20bd6ca10e61dc3c47356deb","glsl-optimizer/src/util/half_float.c":"11bc2584493d5d9d46e8c8a619a0307cf150bf5ab5d0f96bb764b061dc37a00e","glsl-optimizer/src/util/half_float.h":"7f7c380f126da1400a91758cc0392f24bf967bce1672890b62be26fe9fbd922b","glsl-optimizer/src/util/hash_table.c":"0ca40352e35dedab0a84c64c903f1b16d47e950bb5f43b4d22bb57d499bfea6e","glsl-optimizer/src/util/hash_table.h":"217191bb360592e2232f187473c10287d2cda8ae6fa5c53d0ef74c8c206118b4","glsl-optimizer/src/util/list.h":"9fab03c6a78186bb5f173269f825f6ce976b409d931852e3d93bac632e07989a","glsl-optimizer/src/util/macros.h":"be115a17e3c18844a30813e3c3f9029b908e7f3fc1f47431345761098bbd88be","glsl-optimizer/src/util/mesa-sha1.c":"00c692ec353ebc02c06c57c5a71de0ab7a119f86a4146f452e65ec87e4944417","glsl-optimizer/src/util/mesa-sha1.h":"bff4c29f4bf7cdbcefb30fa0c996a7604a380eba8976467c2a60e7cd328f7e26","glsl-optimizer/src/util/mesa-sha1_test.c":"25da89a59d51469f77b4c468ca23ffdce0a7a1166a70b6cc23026a6800b0143c","glsl-optimizer/src/util/os_memory.h":"64555faf1760ae6954f42c83727c38dfc4c278e9152115779ffaad58b42adacf","glsl-optimizer/src/util/os_memory_aligned.h":"12d86fa94be38c13f7eeebdf313795e1267dd5a7187d2f0072e0e896f41702f6","glsl-optimizer/src/util/os_memory_stdc.h":"07360363b88c927065e10df71bebf6c8a0cc3b9167c9dfce55f2d65f11e6f787","glsl-optimizer/src/util/os_misc.c":"a9936e613ec84803abd59ad47c192c8e3939993c950ac91973fdc4cec1801bb8","glsl-optimizer/src/util/os_misc.h":"cc68eb12e05b5e749c54298cb4a6f4cd20cc5af7db3403e70b3c27b56090c740","glsl-optimizer/src/util/os_time.h":"73e775f7335244ff5964c678c27eedf1aea6abea44c4169d327ea8c7ce4a3a88","glsl-optimizer/src/util/ralloc.c":"4b51189595ef67bcef52c40cbf654d969041dbd15e15d4a893ad494ac060aeca","glsl-optimizer/src/util/ralloc.h":"e573c45875ff1530f0dbee9a93ae55535fdac8d5cc88a79ebc327c688824bde5","glsl-optimizer/src/util/rounding.h":"0450722353caf83de07e67f335949dbe95fe53b534052d4ee9d28d2781387614","glsl-optimizer/src/util/set.c":"86f8c9a830bead5a5a79bc970b0ff97809312af07b3beb39ef9d90af04d40a1b","glsl-optimizer/src/util/set.h":"3e39ca161e7ed4ec7c436cc9c7919ed9a55ed1b71edbf2caf6f9bcfd9bc578ed","glsl-optimizer/src/util/sha1/README":"00af7419af05247081858acb2902efd99fcda2ce16e331079f701645bb3729c0","glsl-optimizer/src/util/sha1/sha1.c":"1403bbe0aad42ba3e6be7e09f7cad87a6a8c4ad5b63962f7b92b9f37d8133b04","glsl-optimizer/src/util/sha1/sha1.h":"68d9f240eab2918026ecdf22be36811abbd4f1389f6c36e31258041aeaedd247","glsl-optimizer/src/util/simple_mtx.h":"12c6c3c4b7db9168bc656d5b3c65912075084d2b388c415d5c3d3f5953a9d6c7","glsl-optimizer/src/util/softfloat.c":"a97e51a96fe5e6a052c02aa6bbec683fe73fb88a8c087d9c930503e2120d8a2e","glsl-optimizer/src/util/softfloat.h":"66664b0250e83bf5dd4cc743acd119d076efcea624a0eab3d6b60718e6ee8811","glsl-optimizer/src/util/string_buffer.c":"63a1d1b1e34926c88ea00159cafbcd56568b805c4f64d1e8c97169fe313921fc","glsl-optimizer/src/util/string_buffer.h":"7b88d1b1d9c6cfb8e93331813535c127289437c75f822029e9a3bca8ea6b52ee","glsl-optimizer/src/util/strndup.h":"0273c4fdb7482cd7746881a63d3998648c6d63415ba85af1d1860f0e0dc504c6","glsl-optimizer/src/util/strtod.c":"5cf610d8a37373cf37cfb7aae903525d943b2674b1f32594c70b0eb19a8c9697","glsl-optimizer/src/util/strtod.h":"237396def4e264d35ed4bedea00ef9a4ceab6d7a11a18c770d9747d22c69ed2d","glsl-optimizer/src/util/u_atomic.h":"c02e809526c6c09ba8fe51f50b2490d1b6c8e5c7f3c4031ae958250d098fc3bb","glsl-optimizer/src/util/u_debug.c":"8c060e379b816618f3dd22c9ea523c68b9425c76c36a7dfe5d6d375b337f5f4a","glsl-optimizer/src/util/u_debug.h":"e11e26edd9b9e4e6f8e6a435e69f4d9edda27e9a379f68f4c82ea2525aaaea68","glsl-optimizer/src/util/u_dynarray.h":"853d0fa6ff2261614488be624deb8a2b01e57c2c8eabc28578cbeed4ccc95694","glsl-optimizer/src/util/u_endian.h":"3ccea7e529740318d8a4b05c00db3adc9d1e292a52bdc56a05c9fae99209720f","glsl-optimizer/src/util/u_math.c":"c868a8c0886dc78f1b06b13404ba8b253090449045774dd56893ac9d75795184","glsl-optimizer/src/util/u_math.h":"a04e32e126db016413f9de0a2028a3e71737137463b1289eae576f884b06fcf1","glsl-optimizer/src/util/u_memory.h":"c5db17c724c70283ddbe04165722f6988d4e0eb9aa3602ae472feff016649af9","glsl-optimizer/src/util/u_queue.h":"92930ce236c0528a98b695f5cea8c5c6aa9683beaf71a2227bdc5d33d1b21506","glsl-optimizer/src/util/u_string.h":"c5a2f4ef576d1547bda12c4ea219179fefa54414977743ac094abcaf696ef6ca","glsl-optimizer/src/util/u_thread.h":"00b708459b27f9910d18db92c18cc65cfc618ac2b3cd144e45f8640057b10d58","glsl-optimizer/src/util/xxhash.h":"2f2aff2fc6c0c929f52cf6ae7314122124c5be026d41ad1c357608383c4a37ad","src/bindings.rs":"11b403241b456fbe3482951ec70d274bd3ebd54bf39c11b3e81d3b9721b1bdaf","src/lib.rs":"04be1554cd829eb40864b06d80b491dd48117a4e3a601c7d482117f7a0391e67","wrapper.hpp":"f3ea34cc496f7d90b9bfcada3250b37b314c3524dac693b2ece9517bc7d274ac"},"package":null}
|
|
\ No newline at end of file
|
|
diff --git a/third_party/rust/glslopt/.cargo_vcs_info.json b/third_party/rust/glslopt/.cargo_vcs_info.json
|
|
deleted file mode 100644
|
|
index 3edfbe5942a8..000000000000
|
|
--- a/third_party/rust/glslopt/.cargo_vcs_info.json
|
|
+++ /dev/null
|
|
@@ -1,6 +0,0 @@
|
|
-{
|
|
- "git": {
|
|
- "sha1": "e1a7fe3ac8ccca62a31682a98d78cedf470aaf5e"
|
|
- },
|
|
- "path_in_vcs": ""
|
|
-}
|
|
\ No newline at end of file
|
|
diff --git a/third_party/rust/glslopt/Cargo.lock b/third_party/rust/glslopt/Cargo.lock
|
|
deleted file mode 100644
|
|
index 2034b562ee8d..000000000000
|
|
--- a/third_party/rust/glslopt/Cargo.lock
|
|
+++ /dev/null
|
|
@@ -1,25 +0,0 @@
|
|
-# This file is automatically @generated by Cargo.
|
|
-# It is not intended for manual editing.
|
|
-version = 4
|
|
-
|
|
-[[package]]
|
|
-name = "cc"
|
|
-version = "1.1.15"
|
|
-source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
-checksum = "57b6a275aa2903740dc87da01c62040406b8812552e97129a63ea8850a17c6e6"
|
|
-dependencies = [
|
|
- "shlex",
|
|
-]
|
|
-
|
|
-[[package]]
|
|
-name = "glslopt"
|
|
-version = "0.1.12"
|
|
-dependencies = [
|
|
- "cc",
|
|
-]
|
|
-
|
|
-[[package]]
|
|
-name = "shlex"
|
|
-version = "1.3.0"
|
|
-source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
-checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
|
|
diff --git a/third_party/rust/glslopt/Cargo.toml b/third_party/rust/glslopt/Cargo.toml
|
|
index a5a4b997ac1e..acd34d69d52f 100644
|
|
--- a/third_party/rust/glslopt/Cargo.toml
|
|
+++ b/third_party/rust/glslopt/Cargo.toml
|
|
@@ -36,5 +36,5 @@ repository = "https://github.com/jamienicol/glslopt-rs"
|
|
name = "glslopt"
|
|
path = "src/lib.rs"
|
|
|
|
-[build-dependencies.cc]
|
|
-version = "1.0"
|
|
+[build-dependencies]
|
|
+cc = "1.0"
|
|
diff --git a/third_party/rust/glslopt/Cargo.toml.orig b/third_party/rust/glslopt/Cargo.toml.orig
|
|
deleted file mode 100644
|
|
index 452381f9941a..000000000000
|
|
--- a/third_party/rust/glslopt/Cargo.toml.orig
|
|
+++ /dev/null
|
|
@@ -1,12 +0,0 @@
|
|
-[package]
|
|
-name = "glslopt"
|
|
-version = "0.1.12"
|
|
-authors = ["Jamie Nicol <jnicol@mozilla.com>"]
|
|
-edition = "2018"
|
|
-license = "MIT"
|
|
-description = "Optimizes GLSL shader code"
|
|
-keywords = ["opengl", "gl", "gles", "glsl", "shader"]
|
|
-repository = "https://github.com/jamienicol/glslopt-rs"
|
|
-
|
|
-[build-dependencies]
|
|
-cc = "1.0"
|
|
diff --git a/.trackerignore b/third_party/rust/glslopt/glsl-optimizer/.cargo-ok
|
|
similarity index 100%
|
|
copy from .trackerignore
|
|
copy to third_party/rust/glslopt/glsl-optimizer/.cargo-ok
|
|
diff --git a/third_party/rust/glslopt/glsl-optimizer/.gitignore b/third_party/rust/glslopt/glsl-optimizer/.gitignore
|
|
deleted file mode 100644
|
|
index 825ad5fd1656..000000000000
|
|
--- a/third_party/rust/glslopt/glsl-optimizer/.gitignore
|
|
+++ /dev/null
|
|
@@ -1,4 +0,0 @@
|
|
-*.pyc
|
|
-*.pyo
|
|
-*.out
|
|
-build
|
|
diff --git a/third_party/rust/glslopt/glsl-optimizer/generateParsers.sh b/third_party/rust/glslopt/glsl-optimizer/generateParsers.sh
|
|
index 1b4e63513609..8ecffa6d212c 100755
|
|
--- a/third_party/rust/glslopt/glsl-optimizer/generateParsers.sh
|
|
+++ b/third_party/rust/glslopt/glsl-optimizer/generateParsers.sh
|
|
@@ -4,6 +4,6 @@ flex --nounistd -osrc/compiler/glsl/glsl_lexer.cpp src/compiler/glsl/glsl_lexer.
|
|
bison -v -o "src/compiler/glsl/glcpp/glcpp-parse.c" -p "glcpp_parser_" --defines=src/compiler/glsl/glcpp/glcpp-parse.h src/compiler/glsl/glcpp/glcpp-parse.y
|
|
bison -v -o "src/compiler/glsl/glsl_parser.cpp" -p "_mesa_glsl_" --defines=src/compiler/glsl/glsl_parser.h src/compiler/glsl/glsl_parser.yy
|
|
|
|
-python "src/compiler/glsl/ir_expression_operation.py" "enum" >src/compiler/glsl/ir_expression_operation.h
|
|
-python "src/compiler/glsl/ir_expression_operation.py" "strings" >src/compiler/glsl/ir_expression_operation_strings.h
|
|
-python "src/compiler/glsl/ir_expression_operation.py" "constant" >src/compiler/glsl/ir_expression_operation_constant.h
|
|
+python3 "src/compiler/glsl/ir_expression_operation.py" "enum" >src/compiler/glsl/ir_expression_operation.h
|
|
+python3 "src/compiler/glsl/ir_expression_operation.py" "strings" >src/compiler/glsl/ir_expression_operation_strings.h
|
|
+python3 "src/compiler/glsl/ir_expression_operation.py" "constant" >src/compiler/glsl/ir_expression_operation_constant.h
|
|
diff --git a/third_party/rust/glslopt/glsl-optimizer/include/c11/threads_posix.h b/third_party/rust/glslopt/glsl-optimizer/include/c11/threads_posix.h
|
|
index 45cb6075e6e0..5f22aca6f1e7 100644
|
|
--- a/third_party/rust/glslopt/glsl-optimizer/include/c11/threads_posix.h
|
|
+++ b/third_party/rust/glslopt/glsl-optimizer/include/c11/threads_posix.h
|
|
@@ -51,50 +51,56 @@ Configuration macro:
|
|
#include <pthread.h>
|
|
|
|
/*---------------------------- macros ----------------------------*/
|
|
+#ifndef __once_flag_defined
|
|
#define ONCE_FLAG_INIT PTHREAD_ONCE_INIT
|
|
+#endif
|
|
#ifdef INIT_ONCE_STATIC_INIT
|
|
#define TSS_DTOR_ITERATIONS PTHREAD_DESTRUCTOR_ITERATIONS
|
|
#else
|
|
#define TSS_DTOR_ITERATIONS 1 // assume TSS dtor MAY be called at least once.
|
|
#endif
|
|
|
|
// FIXME: temporary non-standard hack to ease transition
|
|
#define _MTX_INITIALIZER_NP PTHREAD_MUTEX_INITIALIZER
|
|
|
|
/*---------------------------- types ----------------------------*/
|
|
typedef pthread_cond_t cnd_t;
|
|
typedef pthread_t thrd_t;
|
|
typedef pthread_key_t tss_t;
|
|
typedef pthread_mutex_t mtx_t;
|
|
+#ifndef __once_flag_defined
|
|
typedef pthread_once_t once_flag;
|
|
+#endif
|
|
|
|
|
|
/*
|
|
Implementation limits:
|
|
- Conditionally emulation for "mutex with timeout"
|
|
(see EMULATED_THREADS_USE_NATIVE_TIMEDLOCK macro)
|
|
*/
|
|
struct impl_thrd_param {
|
|
thrd_start_t func;
|
|
void *arg;
|
|
};
|
|
|
|
static inline void *
|
|
impl_thrd_routine(void *p)
|
|
{
|
|
struct impl_thrd_param pack = *((struct impl_thrd_param *)p);
|
|
free(p);
|
|
return (void*)(intptr_t)pack.func(pack.arg);
|
|
}
|
|
|
|
|
|
/*--------------- 7.25.2 Initialization functions ---------------*/
|
|
// 7.25.2.1
|
|
+#ifndef __once_flag_defined
|
|
static inline void
|
|
call_once(once_flag *flag, void (*func)(void))
|
|
{
|
|
pthread_once(flag, func);
|
|
}
|
|
+#endif
|
|
|
|
|
|
/*------------- 7.25.3 Condition variable functions -------------*/
|
|
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ast_function.cpp b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ast_function.cpp
|
|
index b6b81bf1e142..0924d5b57f6e 100644
|
|
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ast_function.cpp
|
|
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ast_function.cpp
|
|
@@ -2464,7 +2464,7 @@ ast_function_expression::hir(exec_list *instructions,
|
|
return value;
|
|
}
|
|
|
|
- unreachable("not reached");
|
|
+ UNREACHABLE("not reached");
|
|
}
|
|
|
|
bool
|
|
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ast_to_hir.cpp b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ast_to_hir.cpp
|
|
index c00298a16051..6bb0ebd9ea22 100644
|
|
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ast_to_hir.cpp
|
|
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ast_to_hir.cpp
|
|
@@ -1413,7 +1413,7 @@ ast_expression::do_hir(exec_list *instructions,
|
|
|
|
switch (this->oper) {
|
|
case ast_aggregate:
|
|
- unreachable("ast_aggregate: Should never get here.");
|
|
+ UNREACHABLE("ast_aggregate: Should never get here.");
|
|
|
|
case ast_assign: {
|
|
this->subexpressions[0]->set_is_lhs(true);
|
|
@@ -2004,13 +2004,13 @@ ast_expression::do_hir(exec_list *instructions,
|
|
}
|
|
|
|
case ast_unsized_array_dim:
|
|
- unreachable("ast_unsized_array_dim: Should never get here.");
|
|
+ UNREACHABLE("ast_unsized_array_dim: Should never get here.");
|
|
|
|
case ast_function_call:
|
|
/* Should *NEVER* get here. ast_function_call should always be handled
|
|
* by ast_function_expression::hir.
|
|
*/
|
|
- unreachable("ast_function_call: handled elsewhere ");
|
|
+ UNREACHABLE("ast_function_call: handled elsewhere ");
|
|
|
|
case ast_identifier: {
|
|
/* ast_identifier can appear several places in a full abstract syntax
|
|
@@ -2225,10 +2225,10 @@ ast_expression::has_sequence_subexpression() const
|
|
return false;
|
|
|
|
case ast_function_call:
|
|
- unreachable("should be handled by ast_function_expression::hir");
|
|
+ UNREACHABLE("should be handled by ast_function_expression::hir");
|
|
|
|
case ast_unsized_array_dim:
|
|
- unreachable("ast_unsized_array_dim: Should never get here.");
|
|
+ UNREACHABLE("ast_unsized_array_dim: Should never get here.");
|
|
}
|
|
|
|
return false;
|
|
@@ -2529,7 +2529,7 @@ get_type_name_for_precision_qualifier(const glsl_type *type)
|
|
return names[type_idx];
|
|
}
|
|
default:
|
|
- unreachable("Unsupported sampler/image dimensionality");
|
|
+ UNREACHABLE("Unsupported sampler/image dimensionality");
|
|
} /* sampler/image float dimensionality */
|
|
break;
|
|
case GLSL_TYPE_INT:
|
|
@@ -2584,7 +2584,7 @@ get_type_name_for_precision_qualifier(const glsl_type *type)
|
|
return names[offset + type_idx];
|
|
}
|
|
default:
|
|
- unreachable("Unsupported isampler/iimage dimensionality");
|
|
+ UNREACHABLE("Unsupported isampler/iimage dimensionality");
|
|
} /* sampler/image int dimensionality */
|
|
break;
|
|
case GLSL_TYPE_UINT:
|
|
@@ -2639,17 +2639,17 @@ get_type_name_for_precision_qualifier(const glsl_type *type)
|
|
return names[offset + type_idx];
|
|
}
|
|
default:
|
|
- unreachable("Unsupported usampler/uimage dimensionality");
|
|
+ UNREACHABLE("Unsupported usampler/uimage dimensionality");
|
|
} /* sampler/image uint dimensionality */
|
|
break;
|
|
default:
|
|
- unreachable("Unsupported sampler/image type");
|
|
+ UNREACHABLE("Unsupported sampler/image type");
|
|
} /* sampler/image type */
|
|
break;
|
|
} /* GLSL_TYPE_SAMPLER/GLSL_TYPE_IMAGE */
|
|
break;
|
|
default:
|
|
- unreachable("Unsupported type");
|
|
+ UNREACHABLE("Unsupported type");
|
|
} /* base type */
|
|
}
|
|
|
|
@@ -5013,28 +5013,28 @@ ast_declarator_list::hir(exec_list *instructions,
|
|
this->type->qualifier.image_format = PIPE_FORMAT_R32G32B32A32_FLOAT;
|
|
break;
|
|
default:
|
|
- unreachable("Unknown image format");
|
|
+ UNREACHABLE("Unknown image format");
|
|
}
|
|
this->type->qualifier.image_base_type = GLSL_TYPE_FLOAT;
|
|
} else if (strncmp(this->type->specifier->type_name, "uimage", strlen("uimage")) == 0) {
|
|
switch (this->type->qualifier.image_format) {
|
|
case PIPE_FORMAT_R8_SINT:
|
|
this->type->qualifier.image_format = PIPE_FORMAT_R8_UINT;
|
|
break;
|
|
case PIPE_FORMAT_R16_SINT:
|
|
this->type->qualifier.image_format = PIPE_FORMAT_R16_UINT;
|
|
break;
|
|
case PIPE_FORMAT_R32_SINT:
|
|
this->type->qualifier.image_format = PIPE_FORMAT_R32_UINT;
|
|
break;
|
|
case PIPE_FORMAT_R32G32_SINT:
|
|
this->type->qualifier.image_format = PIPE_FORMAT_R32G32_UINT;
|
|
break;
|
|
case PIPE_FORMAT_R32G32B32A32_SINT:
|
|
this->type->qualifier.image_format = PIPE_FORMAT_R32G32B32A32_UINT;
|
|
break;
|
|
default:
|
|
- unreachable("Unknown image format");
|
|
+ UNREACHABLE("Unknown image format");
|
|
}
|
|
this->type->qualifier.image_base_type = GLSL_TYPE_UINT;
|
|
} else if (strncmp(this->type->specifier->type_name, "iimage", strlen("iimage")) == 0) {
|
|
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/builtin_functions.cpp b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/builtin_functions.cpp
|
|
index 3dafcf0c77e8..603c7f645820 100644
|
|
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/builtin_functions.cpp
|
|
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/builtin_functions.cpp
|
|
@@ -5414,7 +5414,7 @@ builtin_builder::_isinf(builtin_available_predicate avail, const glsl_type *type
|
|
infinities.d[i] = INFINITY;
|
|
break;
|
|
default:
|
|
- unreachable("unknown type");
|
|
+ UNREACHABLE("unknown type");
|
|
}
|
|
}
|
|
|
|
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/glcpp/glcpp-lex.c b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/glcpp/glcpp-lex.c
|
|
index 973d1140783b..6081b8aee8fc 100644
|
|
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/glcpp/glcpp-lex.c
|
|
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/glcpp/glcpp-lex.c
|
|
@@ -1032,7 +1032,7 @@ characters that appear in any other expressions. */
|
|
#define DONE 3
|
|
#define HASH 4
|
|
#define NEWLINE_CATCHUP 5
|
|
-#define UNREACHABLE 6
|
|
+#define NOT_REACHABLE 6
|
|
|
|
#define YY_EXTRA_TYPE glcpp_parser_t *
|
|
|
|
@@ -1953,25 +1953,25 @@ YY_RULE_SETUP
|
|
{
|
|
glcpp_error(yylloc, yyextra, "Internal compiler error: Unexpected character: %s", yytext);
|
|
|
|
- /* We don't actually use the UNREACHABLE start condition. We
|
|
+ /* We don't actually use the NOT_REACHABLE start condition. We
|
|
only have this block here so that we can pretend to call some
|
|
generated functions, (to avoid "defined but not used"
|
|
warnings. */
|
|
- if (YY_START == UNREACHABLE) {
|
|
+ if (YY_START == NOT_REACHABLE) {
|
|
unput('.');
|
|
yy_top_state(yyextra);
|
|
}
|
|
}
|
|
YY_BREAK
|
|
case 54:
|
|
YY_RULE_SETUP
|
|
#line 616 "src/compiler/glsl/glcpp/glcpp-lex.l"
|
|
YY_FATAL_ERROR( "flex scanner jammed" );
|
|
YY_BREAK
|
|
#line 1971 "src/compiler/glsl/glcpp/glcpp-lex.c"
|
|
case YY_STATE_EOF(DONE):
|
|
case YY_STATE_EOF(NEWLINE_CATCHUP):
|
|
-case YY_STATE_EOF(UNREACHABLE):
|
|
+case YY_STATE_EOF(NOT_REACHABLE):
|
|
yyterminate();
|
|
|
|
case YY_END_OF_BUFFER:
|
|
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/glcpp/glcpp-lex.l b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/glcpp/glcpp-lex.l
|
|
index e07739b657c3..f831b58c8aa9 100644
|
|
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/glcpp/glcpp-lex.l
|
|
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/glcpp/glcpp-lex.l
|
|
@@ -178,7 +178,7 @@ glcpp_lex_update_state_per_token (glcpp_parser_t *parser, int token)
|
|
* update the "Internal compiler error" catch-all rule near the end of
|
|
* this file. */
|
|
|
|
-%x COMMENT DEFINE DONE HASH NEWLINE_CATCHUP UNREACHABLE
|
|
+%x COMMENT DEFINE DONE HASH NEWLINE_CATCHUP NOT_REACHABLE
|
|
|
|
SPACE [[:space:]]
|
|
NONSPACE [^[:space:]]
|
|
@@ -602,11 +602,11 @@ PATH ["][]^./ _A-Za-z0-9+*%[(){}|&~=!:;,?-]*["]
|
|
<*>. {
|
|
glcpp_error(yylloc, yyextra, "Internal compiler error: Unexpected character: %s", yytext);
|
|
|
|
- /* We don't actually use the UNREACHABLE start condition. We
|
|
+ /* We don't actually use the NOT_REACHABLE start condition. We
|
|
only have this block here so that we can pretend to call some
|
|
generated functions, (to avoid "defined but not used"
|
|
warnings. */
|
|
- if (YY_START == UNREACHABLE) {
|
|
+ if (YY_START == NOT_REACHABLE) {
|
|
unput('.');
|
|
yy_top_state(yyextra);
|
|
}
|
|
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir.cpp b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir.cpp
|
|
index 9ea8e00d310a..75b43d77537d 100644
|
|
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir.cpp
|
|
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir.cpp
|
|
@@ -550,7 +550,7 @@ ir_expression::ir_expression(int op, ir_rvalue *op0, ir_rvalue *op1)
|
|
base = GLSL_TYPE_UINT64;
|
|
break;
|
|
default:
|
|
- unreachable(!"Invalid base type.");
|
|
+ UNREACHABLE("Invalid base type.");
|
|
}
|
|
|
|
this->type = glsl_type::get_instance(base, op0->type->vector_elements, 1);
|
|
@@ -623,7 +623,7 @@ ir_expression::get_num_operands(ir_expression_operation op)
|
|
if (op <= ir_last_quadop)
|
|
return 4;
|
|
|
|
- unreachable("Could not calculate number of operands");
|
|
+ UNREACHABLE("Could not calculate number of operands");
|
|
}
|
|
|
|
#include "ir_expression_operation_strings.h"
|
|
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir_builder_print_visitor.cpp b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir_builder_print_visitor.cpp
|
|
index 5ab50a58415f..edd2107745fb 100644
|
|
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir_builder_print_visitor.cpp
|
|
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir_builder_print_visitor.cpp
|
|
@@ -196,33 +196,33 @@ ir_builder_print_visitor::print_without_declaration(const ir_rvalue *ir)
|
|
print_without_declaration((ir_expression *) ir);
|
|
break;
|
|
default:
|
|
- unreachable("Invalid IR type.");
|
|
+ UNREACHABLE("Invalid IR type.");
|
|
}
|
|
}
|
|
|
|
ir_visitor_status
|
|
ir_builder_print_visitor::visit(ir_variable *ir)
|
|
{
|
|
const unsigned my_index = next_ir_index++;
|
|
|
|
_mesa_hash_table_insert(index_map, ir, (void *)(uintptr_t) my_index);
|
|
|
|
const char *mode_str;
|
|
switch (ir->data.mode) {
|
|
case ir_var_auto: mode_str = "ir_var_auto"; break;
|
|
case ir_var_uniform: mode_str = "ir_var_uniform"; break;
|
|
case ir_var_shader_storage: mode_str = "ir_var_shader_storage"; break;
|
|
case ir_var_shader_shared: mode_str = "ir_var_shader_shared"; break;
|
|
case ir_var_shader_in: mode_str = "ir_var_shader_in"; break;
|
|
case ir_var_shader_out: mode_str = "ir_var_shader_out"; break;
|
|
case ir_var_function_in: mode_str = "ir_var_function_in"; break;
|
|
case ir_var_function_out: mode_str = "ir_var_function_out"; break;
|
|
case ir_var_function_inout: mode_str = "ir_var_function_inout"; break;
|
|
case ir_var_const_in: mode_str = "ir_var_const_in"; break;
|
|
case ir_var_system_value: mode_str = "ir_var_system_value"; break;
|
|
case ir_var_temporary: mode_str = "ir_var_temporary"; break;
|
|
default:
|
|
- unreachable("Invalid variable mode");
|
|
+ UNREACHABLE("Invalid variable mode");
|
|
}
|
|
|
|
if (ir->data.mode == ir_var_temporary) {
|
|
@@ -420,7 +420,7 @@ ir_builder_print_visitor::visit(ir_constant *ir)
|
|
print_with_indent("r%04X_data.u[%u] = 1;\n", my_index, i);
|
|
break;
|
|
default:
|
|
- unreachable("Invalid constant type");
|
|
+ UNREACHABLE("Invalid constant type");
|
|
}
|
|
}
|
|
|
|
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir_expression_operation.py b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir_expression_operation.py
|
|
index 160626e6ef6f..58c9b44a0d4e 100644
|
|
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir_expression_operation.py
|
|
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir_expression_operation.py
|
|
@@ -106,7 +106,7 @@ constant_template_common = mako.template.Template("""\
|
|
break;
|
|
% endfor
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;""")
|
|
@@ -137,30 +137,30 @@ constant_template_vector_scalar = mako.template.Template("""\
|
|
break;
|
|
% endfor
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;""")
|
|
|
|
# This template is for multiplication. It is unique because it has to support
|
|
# matrix * vector and matrix * matrix operations, and those are just different.
|
|
constant_template_mul = mako.template.Template("""\
|
|
case ${op.get_enum_name()}:
|
|
/* Check for equal types, or unequal types involving scalars */
|
|
if ((op[0]->type == op[1]->type && !op[0]->type->is_matrix())
|
|
|| op0_scalar || op1_scalar) {
|
|
for (unsigned c = 0, c0 = 0, c1 = 0;
|
|
c < components;
|
|
c0 += c0_inc, c1 += c1_inc, c++) {
|
|
|
|
switch (op[0]->type->base_type) {
|
|
% for dst_type, src_types in op.signatures():
|
|
case ${src_types[0].glsl_type}:
|
|
data.${dst_type.union_field}[c] = ${op.get_c_expression(src_types, ("c0", "c1", "c2"))};
|
|
break;
|
|
% endfor
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
} else {
|
|
@@ -218,99 +218,99 @@ constant_template_horizontal = mako.template.Template("""\
|
|
break;
|
|
% endfor
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
break;""")
|
|
|
|
# This template is for ir_binop_vector_extract.
|
|
constant_template_vector_extract = mako.template.Template("""\
|
|
case ${op.get_enum_name()}: {
|
|
const int c = CLAMP(op[1]->value.i[0], 0,
|
|
(int) op[0]->type->vector_elements - 1);
|
|
|
|
switch (op[0]->type->base_type) {
|
|
% for dst_type, src_types in op.signatures():
|
|
case ${src_types[0].glsl_type}:
|
|
data.${dst_type.union_field}[0] = op[0]->value.${src_types[0].union_field}[c];
|
|
break;
|
|
% endfor
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
break;
|
|
}""")
|
|
|
|
# This template is for ir_triop_vector_insert.
|
|
constant_template_vector_insert = mako.template.Template("""\
|
|
case ${op.get_enum_name()}: {
|
|
const unsigned idx = op[2]->value.u[0];
|
|
|
|
memcpy(&data, &op[0]->value, sizeof(data));
|
|
|
|
switch (this->type->base_type) {
|
|
% for dst_type, src_types in op.signatures():
|
|
case ${src_types[0].glsl_type}:
|
|
data.${dst_type.union_field}[idx] = op[1]->value.${src_types[0].union_field}[0];
|
|
break;
|
|
% endfor
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
break;
|
|
}""")
|
|
|
|
# This template is for ir_quadop_vector.
|
|
constant_template_vector = mako.template.Template("""\
|
|
case ${op.get_enum_name()}:
|
|
for (unsigned c = 0; c < this->type->vector_elements; c++) {
|
|
switch (this->type->base_type) {
|
|
% for dst_type, src_types in op.signatures():
|
|
case ${src_types[0].glsl_type}:
|
|
data.${dst_type.union_field}[c] = op[c]->value.${src_types[0].union_field}[0];
|
|
break;
|
|
% endfor
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;""")
|
|
|
|
# This template is for ir_triop_lrp.
|
|
constant_template_lrp = mako.template.Template("""\
|
|
case ${op.get_enum_name()}: {
|
|
assert(op[0]->type->is_float() || op[0]->type->is_double());
|
|
assert(op[1]->type->is_float() || op[1]->type->is_double());
|
|
assert(op[2]->type->is_float() || op[2]->type->is_double());
|
|
|
|
unsigned c2_inc = op[2]->type->is_scalar() ? 0 : 1;
|
|
for (unsigned c = 0, c2 = 0; c < components; c2 += c2_inc, c++) {
|
|
switch (this->type->base_type) {
|
|
% for dst_type, src_types in op.signatures():
|
|
case ${src_types[0].glsl_type}:
|
|
data.${dst_type.union_field}[c] = ${op.get_c_expression(src_types, ("c", "c", "c2"))};
|
|
break;
|
|
% endfor
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
}""")
|
|
|
|
# This template is for ir_triop_csel. This expression is really unique
|
|
# because not all of the operands are the same type, and the second operand
|
|
# determines the type of the expression (instead of the first).
|
|
constant_template_csel = mako.template.Template("""\
|
|
case ${op.get_enum_name()}:
|
|
for (unsigned c = 0; c < components; c++) {
|
|
switch (this->type->base_type) {
|
|
% for dst_type, src_types in op.signatures():
|
|
case ${src_types[1].glsl_type}:
|
|
data.${dst_type.union_field}[c] = ${op.get_c_expression(src_types)};
|
|
break;
|
|
% endfor
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;""")
|
|
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir_expression_operation_constant.h b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir_expression_operation_constant.h
|
|
index ef5c4e792772..76cd18f03398 100644
|
|
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir_expression_operation_constant.h
|
|
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir_expression_operation_constant.h
|
|
@@ -15,1018 +15,1018 @@
|
|
data.i64[c] = ~ op[0]->value.i64[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_logic_not:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_BOOL:
|
|
data.b[c] = !op[0]->value.b[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_neg:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT:
|
|
data.u[c] = -((int) op[0]->value.u[c]);
|
|
break;
|
|
case GLSL_TYPE_INT:
|
|
data.i[c] = -op[0]->value.i[c];
|
|
break;
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = -op[0]->value.f[c];
|
|
break;
|
|
case GLSL_TYPE_DOUBLE:
|
|
data.d[c] = -op[0]->value.d[c];
|
|
break;
|
|
case GLSL_TYPE_UINT64:
|
|
data.u64[c] = -((int64_t) op[0]->value.u64[c]);
|
|
break;
|
|
case GLSL_TYPE_INT64:
|
|
data.i64[c] = -op[0]->value.i64[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_abs:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_INT:
|
|
data.i[c] = op[0]->value.i[c] < 0 ? -op[0]->value.i[c] : op[0]->value.i[c];
|
|
break;
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = fabsf(op[0]->value.f[c]);
|
|
break;
|
|
case GLSL_TYPE_DOUBLE:
|
|
data.d[c] = fabs(op[0]->value.d[c]);
|
|
break;
|
|
case GLSL_TYPE_INT64:
|
|
data.i64[c] = op[0]->value.i64[c] < 0 ? -op[0]->value.i64[c] : op[0]->value.i64[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_sign:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_INT:
|
|
data.i[c] = (op[0]->value.i[c] > 0) - (op[0]->value.i[c] < 0);
|
|
break;
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = float((op[0]->value.f[c] > 0.0F) - (op[0]->value.f[c] < 0.0F));
|
|
break;
|
|
case GLSL_TYPE_DOUBLE:
|
|
data.d[c] = double((op[0]->value.d[c] > 0.0) - (op[0]->value.d[c] < 0.0));
|
|
break;
|
|
case GLSL_TYPE_INT64:
|
|
data.i64[c] = (op[0]->value.i64[c] > 0) - (op[0]->value.i64[c] < 0);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_rcp:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = 1.0F / op[0]->value.f[c];
|
|
break;
|
|
case GLSL_TYPE_DOUBLE:
|
|
data.d[c] = 1.0 / op[0]->value.d[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_rsq:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = 1.0F / sqrtf(op[0]->value.f[c]);
|
|
break;
|
|
case GLSL_TYPE_DOUBLE:
|
|
data.d[c] = 1.0 / sqrt(op[0]->value.d[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_sqrt:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = sqrtf(op[0]->value.f[c]);
|
|
break;
|
|
case GLSL_TYPE_DOUBLE:
|
|
data.d[c] = sqrt(op[0]->value.d[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_exp:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = expf(op[0]->value.f[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_log:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = logf(op[0]->value.f[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_exp2:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = exp2f(op[0]->value.f[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_log2:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = log2f(op[0]->value.f[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_f2i:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.i[c] = (int) op[0]->value.f[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_f2u:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.u[c] = (unsigned) op[0]->value.f[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_i2f:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_INT:
|
|
data.f[c] = (float) op[0]->value.i[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_f2b:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.b[c] = op[0]->value.f[c] != 0.0F ? true : false;
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_b2f:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_BOOL:
|
|
data.f[c] = op[0]->value.b[c] ? 1.0F : 0.0F;
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_b2f16:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_BOOL:
|
|
data.f[c] = op[0]->value.b[c] ? 1.0F : 0.0F;
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_i2b:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT:
|
|
data.b[c] = op[0]->value.u[c] ? true : false;
|
|
break;
|
|
case GLSL_TYPE_INT:
|
|
data.b[c] = op[0]->value.i[c] ? true : false;
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_b2i:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_BOOL:
|
|
data.i[c] = op[0]->value.b[c] ? 1 : 0;
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_u2f:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT:
|
|
data.f[c] = (float) op[0]->value.u[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_i2u:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_INT:
|
|
data.u[c] = op[0]->value.i[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_u2i:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT:
|
|
data.i[c] = op[0]->value.u[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_d2f:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_DOUBLE:
|
|
data.f[c] = op[0]->value.d[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_f2d:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.d[c] = op[0]->value.f[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_f2f16:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = op[0]->value.f[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_f2fmp:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = op[0]->value.f[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_f162f:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = op[0]->value.f[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_d2i:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_DOUBLE:
|
|
data.i[c] = op[0]->value.d[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_i2d:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_INT:
|
|
data.d[c] = op[0]->value.i[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_d2u:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_DOUBLE:
|
|
data.u[c] = op[0]->value.d[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_u2d:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT:
|
|
data.d[c] = op[0]->value.u[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_d2b:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_DOUBLE:
|
|
data.b[c] = op[0]->value.d[c] != 0.0;
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_f162b:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.b[c] = op[0]->value.f[c] != 0.0;
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_bitcast_i2f:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_INT:
|
|
data.f[c] = bitcast_u2f(op[0]->value.i[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_bitcast_f2i:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.i[c] = bitcast_f2u(op[0]->value.f[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_bitcast_u2f:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT:
|
|
data.f[c] = bitcast_u2f(op[0]->value.u[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_bitcast_f2u:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.u[c] = bitcast_f2u(op[0]->value.f[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_bitcast_u642d:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT64:
|
|
data.d[c] = bitcast_u642d(op[0]->value.u64[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_bitcast_i642d:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_INT64:
|
|
data.d[c] = bitcast_i642d(op[0]->value.i64[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_bitcast_d2u64:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_DOUBLE:
|
|
data.u64[c] = bitcast_d2u64(op[0]->value.d[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_bitcast_d2i64:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_DOUBLE:
|
|
data.i64[c] = bitcast_d2i64(op[0]->value.d[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_i642i:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_INT64:
|
|
data.i[c] = op[0]->value.i64[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_u642i:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT64:
|
|
data.i[c] = op[0]->value.u64[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_i642u:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_INT64:
|
|
data.u[c] = op[0]->value.i64[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_u642u:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT64:
|
|
data.u[c] = op[0]->value.u64[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_i642b:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_INT64:
|
|
data.b[c] = op[0]->value.i64[c] != 0;
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_i642f:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_INT64:
|
|
data.f[c] = op[0]->value.i64[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_u642f:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT64:
|
|
data.f[c] = op[0]->value.u64[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_i642d:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_INT64:
|
|
data.d[c] = op[0]->value.i64[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_u642d:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT64:
|
|
data.d[c] = op[0]->value.u64[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_i2i64:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_INT:
|
|
data.i64[c] = op[0]->value.i[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_u2i64:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT:
|
|
data.i64[c] = op[0]->value.u[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_b2i64:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_BOOL:
|
|
data.i64[c] = op[0]->value.b[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_f2i64:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.i64[c] = op[0]->value.f[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_d2i64:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_DOUBLE:
|
|
data.i64[c] = op[0]->value.d[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_i2u64:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_INT:
|
|
data.u64[c] = op[0]->value.i[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_u2u64:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT:
|
|
data.u64[c] = op[0]->value.u[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_f2u64:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.u64[c] = op[0]->value.f[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_d2u64:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_DOUBLE:
|
|
data.u64[c] = op[0]->value.d[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_u642i64:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT64:
|
|
data.i64[c] = op[0]->value.u64[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_i642u64:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_INT64:
|
|
data.u64[c] = op[0]->value.i64[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_trunc:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = truncf(op[0]->value.f[c]);
|
|
break;
|
|
case GLSL_TYPE_DOUBLE:
|
|
data.d[c] = trunc(op[0]->value.d[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_ceil:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = ceilf(op[0]->value.f[c]);
|
|
break;
|
|
case GLSL_TYPE_DOUBLE:
|
|
data.d[c] = ceil(op[0]->value.d[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_floor:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = floorf(op[0]->value.f[c]);
|
|
break;
|
|
case GLSL_TYPE_DOUBLE:
|
|
data.d[c] = floor(op[0]->value.d[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_fract:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = op[0]->value.f[c] - floorf(op[0]->value.f[c]);
|
|
break;
|
|
case GLSL_TYPE_DOUBLE:
|
|
data.d[c] = op[0]->value.d[c] - floor(op[0]->value.d[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_round_even:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = _mesa_roundevenf(op[0]->value.f[c]);
|
|
break;
|
|
case GLSL_TYPE_DOUBLE:
|
|
data.d[c] = _mesa_roundeven(op[0]->value.d[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_sin:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = sinf(op[0]->value.f[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_cos:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = cosf(op[0]->value.f[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_atan:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = atan(op[0]->value.f[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_dFdx:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = 0.0f;
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_dFdx_coarse:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = 0.0f;
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_dFdx_fine:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = 0.0f;
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_dFdy:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = 0.0f;
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_dFdy_coarse:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = 0.0f;
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_dFdy_fine:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = 0.0f;
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_pack_snorm_2x16:
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.u[0] = pack_2x16(pack_snorm_1x16, op[0]->value.f[0], op[0]->value.f[1]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
break;
|
|
|
|
case ir_unop_pack_snorm_4x8:
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.u[0] = pack_4x8(pack_snorm_1x8, op[0]->value.f[0], op[0]->value.f[1], op[0]->value.f[2], op[0]->value.f[3]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
break;
|
|
|
|
case ir_unop_pack_unorm_2x16:
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.u[0] = pack_2x16(pack_unorm_1x16, op[0]->value.f[0], op[0]->value.f[1]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
break;
|
|
|
|
case ir_unop_pack_unorm_4x8:
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.u[0] = pack_4x8(pack_unorm_1x8, op[0]->value.f[0], op[0]->value.f[1], op[0]->value.f[2], op[0]->value.f[3]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
break;
|
|
|
|
case ir_unop_pack_half_2x16:
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.u[0] = pack_2x16(pack_half_1x16, op[0]->value.f[0], op[0]->value.f[1]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
break;
|
|
|
|
@@ -1060,76 +1060,76 @@
|
|
data.i[c] = bitfield_reverse(op[0]->value.i[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_bit_count:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT:
|
|
data.i[c] = util_bitcount(op[0]->value.u[c]);
|
|
break;
|
|
case GLSL_TYPE_INT:
|
|
data.i[c] = util_bitcount(op[0]->value.i[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_find_msb:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT:
|
|
data.i[c] = find_msb_uint(op[0]->value.u[c]);
|
|
break;
|
|
case GLSL_TYPE_INT:
|
|
data.i[c] = find_msb_int(op[0]->value.i[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_find_lsb:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT:
|
|
data.i[c] = find_msb_uint(op[0]->value.u[c] & -op[0]->value.u[c]);
|
|
break;
|
|
case GLSL_TYPE_INT:
|
|
data.i[c] = find_msb_uint(op[0]->value.i[c] & -op[0]->value.i[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_clz:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT:
|
|
data.u[c] = (unsigned)(31 - find_msb_uint(op[0]->value.u[c]));
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_unop_saturate:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = CLAMP(op[0]->value.f[c], 0.0f, 1.0f);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
@@ -1200,7 +1200,7 @@
|
|
data.i64[c] = op[0]->value.i64[c0] + op[1]->value.i64[c1];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
@@ -1231,112 +1231,112 @@
|
|
data.i64[c] = op[0]->value.i64[c0] - op[1]->value.i64[c1];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_binop_add_sat:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT:
|
|
data.u[c] = (op[0]->value.u[c] + op[1]->value.u[c]) < op[0]->value.u[c] ? UINT32_MAX : (op[0]->value.u[c] + op[1]->value.u[c]);
|
|
break;
|
|
case GLSL_TYPE_INT:
|
|
data.i[c] = iadd_saturate(op[0]->value.i[c], op[1]->value.i[c]);
|
|
break;
|
|
case GLSL_TYPE_UINT64:
|
|
data.u64[c] = (op[0]->value.u64[c] + op[1]->value.u64[c]) < op[0]->value.u64[c] ? UINT64_MAX : (op[0]->value.u64[c] + op[1]->value.u64[c]);
|
|
break;
|
|
case GLSL_TYPE_INT64:
|
|
data.i64[c] = iadd64_saturate(op[0]->value.i64[c], op[1]->value.i64[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_binop_sub_sat:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT:
|
|
data.u[c] = (op[1]->value.u[c] > op[0]->value.u[c]) ? 0 : op[0]->value.u[c] - op[1]->value.u[c];
|
|
break;
|
|
case GLSL_TYPE_INT:
|
|
data.i[c] = isub_saturate(op[0]->value.i[c], op[1]->value.i[c]);
|
|
break;
|
|
case GLSL_TYPE_UINT64:
|
|
data.u64[c] = (op[1]->value.u64[c] > op[0]->value.u64[c]) ? 0 : op[0]->value.u64[c] - op[1]->value.u64[c];
|
|
break;
|
|
case GLSL_TYPE_INT64:
|
|
data.i64[c] = isub64_saturate(op[0]->value.i64[c], op[1]->value.i64[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_binop_abs_sub:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT:
|
|
data.u[c] = (op[1]->value.u[c] > op[0]->value.u[c]) ? op[1]->value.u[c] - op[0]->value.u[c] : op[0]->value.u[c] - op[1]->value.u[c];
|
|
break;
|
|
case GLSL_TYPE_INT:
|
|
data.i[c] = (op[1]->value.i[c] > op[0]->value.i[c]) ? (unsigned)op[1]->value.i[c] - (unsigned)op[0]->value.i[c] : (unsigned)op[0]->value.i[c] - (unsigned)op[1]->value.i[c];
|
|
break;
|
|
case GLSL_TYPE_UINT64:
|
|
data.u64[c] = (op[1]->value.u64[c] > op[0]->value.u64[c]) ? op[1]->value.u64[c] - op[0]->value.u64[c] : op[0]->value.u64[c] - op[1]->value.u64[c];
|
|
break;
|
|
case GLSL_TYPE_INT64:
|
|
data.i64[c] = (op[1]->value.i64[c] > op[0]->value.i64[c]) ? (uint64_t)op[1]->value.i64[c] - (uint64_t)op[0]->value.i64[c] : (uint64_t)op[0]->value.i64[c] - (uint64_t)op[1]->value.i64[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_binop_avg:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT:
|
|
data.u[c] = (op[0]->value.u[c] >> 1) + (op[1]->value.u[c] >> 1) + ((op[0]->value.u[c] & op[1]->value.u[c]) & 1);
|
|
break;
|
|
case GLSL_TYPE_INT:
|
|
data.i[c] = (op[0]->value.i[c] >> 1) + (op[1]->value.i[c] >> 1) + ((op[0]->value.i[c] & op[1]->value.i[c]) & 1);
|
|
break;
|
|
case GLSL_TYPE_UINT64:
|
|
data.u64[c] = (op[0]->value.u64[c] >> 1) + (op[1]->value.u64[c] >> 1) + ((op[0]->value.u64[c] & op[1]->value.u64[c]) & 1);
|
|
break;
|
|
case GLSL_TYPE_INT64:
|
|
data.i64[c] = (op[0]->value.i64[c] >> 1) + (op[1]->value.i64[c] >> 1) + ((op[0]->value.i64[c] & op[1]->value.i64[c]) & 1);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_binop_avg_round:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT:
|
|
data.u[c] = (op[0]->value.u[c] >> 1) + (op[1]->value.u[c] >> 1) + ((op[0]->value.u[c] | op[1]->value.u[c]) & 1);
|
|
break;
|
|
case GLSL_TYPE_INT:
|
|
data.i[c] = (op[0]->value.i[c] >> 1) + (op[1]->value.i[c] >> 1) + ((op[0]->value.i[c] | op[1]->value.i[c]) & 1);
|
|
break;
|
|
case GLSL_TYPE_UINT64:
|
|
data.u64[c] = (op[0]->value.u64[c] >> 1) + (op[1]->value.u64[c] >> 1) + ((op[0]->value.u64[c] | op[1]->value.u64[c]) & 1);
|
|
break;
|
|
case GLSL_TYPE_INT64:
|
|
data.i64[c] = (op[0]->value.i64[c] >> 1) + (op[1]->value.i64[c] >> 1) + ((op[0]->value.i64[c] | op[1]->value.i64[c]) & 1);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
@@ -1369,7 +1369,7 @@
|
|
data.i64[c] = op[0]->value.i64[c0] * op[1]->value.i64[c1];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
} else {
|
|
@@ -1411,7 +1411,7 @@
|
|
data.i[c] = op[0]->value.i[c] * (int16_t)op[0]->value.i[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
@@ -1442,7 +1442,7 @@
|
|
data.i64[c] = op[1]->value.i64[c1] == 0 ? 0 : op[0]->value.i64[c0] / op[1]->value.i64[c1];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
@@ -1473,61 +1473,61 @@
|
|
data.i64[c] = op[1]->value.i64[c1] == 0 ? 0 : op[0]->value.i64[c0] % op[1]->value.i64[c1];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_binop_less:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT:
|
|
data.b[c] = op[0]->value.u[c] < op[1]->value.u[c];
|
|
break;
|
|
case GLSL_TYPE_INT:
|
|
data.b[c] = op[0]->value.i[c] < op[1]->value.i[c];
|
|
break;
|
|
case GLSL_TYPE_FLOAT:
|
|
data.b[c] = op[0]->value.f[c] < op[1]->value.f[c];
|
|
break;
|
|
case GLSL_TYPE_DOUBLE:
|
|
data.b[c] = op[0]->value.d[c] < op[1]->value.d[c];
|
|
break;
|
|
case GLSL_TYPE_UINT64:
|
|
data.b[c] = op[0]->value.u64[c] < op[1]->value.u64[c];
|
|
break;
|
|
case GLSL_TYPE_INT64:
|
|
data.b[c] = op[0]->value.i64[c] < op[1]->value.i64[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_binop_gequal:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT:
|
|
data.b[c] = op[0]->value.u[c] >= op[1]->value.u[c];
|
|
break;
|
|
case GLSL_TYPE_INT:
|
|
data.b[c] = op[0]->value.i[c] >= op[1]->value.i[c];
|
|
break;
|
|
case GLSL_TYPE_FLOAT:
|
|
data.b[c] = op[0]->value.f[c] >= op[1]->value.f[c];
|
|
break;
|
|
case GLSL_TYPE_DOUBLE:
|
|
data.b[c] = op[0]->value.d[c] >= op[1]->value.d[c];
|
|
break;
|
|
case GLSL_TYPE_UINT64:
|
|
data.b[c] = op[0]->value.u64[c] >= op[1]->value.u64[c];
|
|
break;
|
|
case GLSL_TYPE_INT64:
|
|
data.b[c] = op[0]->value.i64[c] >= op[1]->value.i64[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
@@ -1557,7 +1557,7 @@
|
|
data.b[c] = op[0]->value.b[c] == op[1]->value.b[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
@@ -1587,7 +1587,7 @@
|
|
data.b[c] = op[0]->value.b[c] != op[1]->value.b[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
@@ -1627,7 +1627,7 @@
|
|
data.i64[c] = op[0]->value.i64[c0] << op[1]->value.i64[c1];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
@@ -1659,132 +1659,132 @@
|
|
data.i64[c] = op[0]->value.i64[c0] >> op[1]->value.i64[c1];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_binop_bit_and:
|
|
assert(op[0]->type == op[1]->type || op0_scalar || op1_scalar);
|
|
for (unsigned c = 0, c0 = 0, c1 = 0;
|
|
c < components;
|
|
c0 += c0_inc, c1 += c1_inc, c++) {
|
|
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT:
|
|
data.u[c] = op[0]->value.u[c0] & op[1]->value.u[c1];
|
|
break;
|
|
case GLSL_TYPE_INT:
|
|
data.i[c] = op[0]->value.i[c0] & op[1]->value.i[c1];
|
|
break;
|
|
case GLSL_TYPE_UINT64:
|
|
data.u64[c] = op[0]->value.u64[c0] & op[1]->value.u64[c1];
|
|
break;
|
|
case GLSL_TYPE_INT64:
|
|
data.i64[c] = op[0]->value.i64[c0] & op[1]->value.i64[c1];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_binop_bit_xor:
|
|
assert(op[0]->type == op[1]->type || op0_scalar || op1_scalar);
|
|
for (unsigned c = 0, c0 = 0, c1 = 0;
|
|
c < components;
|
|
c0 += c0_inc, c1 += c1_inc, c++) {
|
|
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT:
|
|
data.u[c] = op[0]->value.u[c0] ^ op[1]->value.u[c1];
|
|
break;
|
|
case GLSL_TYPE_INT:
|
|
data.i[c] = op[0]->value.i[c0] ^ op[1]->value.i[c1];
|
|
break;
|
|
case GLSL_TYPE_UINT64:
|
|
data.u64[c] = op[0]->value.u64[c0] ^ op[1]->value.u64[c1];
|
|
break;
|
|
case GLSL_TYPE_INT64:
|
|
data.i64[c] = op[0]->value.i64[c0] ^ op[1]->value.i64[c1];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_binop_bit_or:
|
|
assert(op[0]->type == op[1]->type || op0_scalar || op1_scalar);
|
|
for (unsigned c = 0, c0 = 0, c1 = 0;
|
|
c < components;
|
|
c0 += c0_inc, c1 += c1_inc, c++) {
|
|
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT:
|
|
data.u[c] = op[0]->value.u[c0] | op[1]->value.u[c1];
|
|
break;
|
|
case GLSL_TYPE_INT:
|
|
data.i[c] = op[0]->value.i[c0] | op[1]->value.i[c1];
|
|
break;
|
|
case GLSL_TYPE_UINT64:
|
|
data.u64[c] = op[0]->value.u64[c0] | op[1]->value.u64[c1];
|
|
break;
|
|
case GLSL_TYPE_INT64:
|
|
data.i64[c] = op[0]->value.i64[c0] | op[1]->value.i64[c1];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_binop_logic_and:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_BOOL:
|
|
data.b[c] = op[0]->value.b[c] && op[1]->value.b[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_binop_logic_xor:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_BOOL:
|
|
data.b[c] = op[0]->value.b[c] != op[1]->value.b[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_binop_logic_or:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_BOOL:
|
|
data.b[c] = op[0]->value.b[c] || op[1]->value.b[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_binop_dot:
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[0] = dot_f(op[0], op[1]);
|
|
break;
|
|
case GLSL_TYPE_DOUBLE:
|
|
data.d[0] = dot_d(op[0], op[1]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
break;
|
|
|
|
@@ -1814,7 +1814,7 @@
|
|
data.i64[c] = MIN2(op[0]->value.i64[c0], op[1]->value.i64[c1]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
@@ -1845,34 +1845,34 @@
|
|
data.i64[c] = MAX2(op[0]->value.i64[c0], op[1]->value.i64[c1]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_binop_pow:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = powf(op[0]->value.f[c], op[1]->value.f[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_binop_ldexp:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = ldexpf_flush_subnormal(op[0]->value.f[c], op[1]->value.i[c]);
|
|
break;
|
|
case GLSL_TYPE_DOUBLE:
|
|
data.d[c] = ldexp_flush_subnormal(op[0]->value.d[c], op[1]->value.i[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
@@ -1904,54 +1904,54 @@
|
|
data.b[0] = op[0]->value.b[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
break;
|
|
}
|
|
|
|
case ir_binop_atan2:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = atan2(op[0]->value.f[c], op[1]->value.f[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_triop_fma:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = op[0]->value.f[c] * op[1]->value.f[c] + op[2]->value.f[c];
|
|
break;
|
|
case GLSL_TYPE_DOUBLE:
|
|
data.d[c] = op[0]->value.d[c] * op[1]->value.d[c] + op[2]->value.d[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_triop_lrp: {
|
|
assert(op[0]->type->is_float() || op[0]->type->is_double());
|
|
assert(op[1]->type->is_float() || op[1]->type->is_double());
|
|
assert(op[2]->type->is_float() || op[2]->type->is_double());
|
|
|
|
unsigned c2_inc = op[2]->type->is_scalar() ? 0 : 1;
|
|
for (unsigned c = 0, c2 = 0; c < components; c2 += c2_inc, c++) {
|
|
switch (this->type->base_type) {
|
|
case GLSL_TYPE_FLOAT:
|
|
data.f[c] = op[0]->value.f[c] * (1.0f - op[2]->value.f[c2]) + (op[1]->value.f[c] * op[2]->value.f[c2]);
|
|
break;
|
|
case GLSL_TYPE_DOUBLE:
|
|
data.d[c] = op[0]->value.d[c] * (1.0 - op[2]->value.d[c2]) + (op[1]->value.d[c] * op[2]->value.d[c2]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
@@ -1982,22 +1982,22 @@
|
|
data.b[c] = op[0]->value.b[c] ? op[1]->value.b[c] : op[2]->value.b[c];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
|
|
case ir_triop_bitfield_extract:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT:
|
|
data.i[c] = bitfield_extract_uint(op[0]->value.u[c], op[1]->value.i[c], op[2]->value.i[c]);
|
|
break;
|
|
case GLSL_TYPE_INT:
|
|
data.i[c] = bitfield_extract_int(op[0]->value.i[c], op[1]->value.i[c], op[2]->value.i[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
@@ -2030,22 +2030,22 @@
|
|
data.b[idx] = op[1]->value.b[0];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
break;
|
|
}
|
|
|
|
case ir_quadop_bitfield_insert:
|
|
for (unsigned c = 0; c < op[0]->type->components(); c++) {
|
|
switch (op[0]->type->base_type) {
|
|
case GLSL_TYPE_UINT:
|
|
data.u[c] = bitfield_insert(op[0]->value.u[c], op[1]->value.u[c], op[2]->value.i[c], op[3]->value.i[c]);
|
|
break;
|
|
case GLSL_TYPE_INT:
|
|
data.i[c] = bitfield_insert(op[0]->value.i[c], op[1]->value.i[c], op[2]->value.i[c], op[3]->value.i[c]);
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
@@ -2075,7 +2075,7 @@
|
|
data.b[c] = op[c]->value.b[0];
|
|
break;
|
|
default:
|
|
- unreachable("invalid type");
|
|
+ UNREACHABLE("invalid type");
|
|
}
|
|
}
|
|
break;
|
|
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir_print_glsl_visitor.cpp b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir_print_glsl_visitor.cpp
|
|
index d15bfd0e5640..b7618753c2c3 100644
|
|
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir_print_glsl_visitor.cpp
|
|
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir_print_glsl_visitor.cpp
|
|
@@ -835,7 +835,7 @@ static const char* operator_glsl_str(ir_expression_operation op, const glsl_type
|
|
case ir_triop_lrp:
|
|
return "mix";
|
|
default:
|
|
- unreachable("Unexpected operator in operator_glsl_str");
|
|
+ UNREACHABLE("Unexpected operator in operator_glsl_str");
|
|
return "UNIMPLEMENTED";
|
|
}
|
|
}
|
|
@@ -1891,21 +1891,21 @@ interface_packing_string(enum glsl_interface_packing packing)
|
|
case GLSL_INTERFACE_PACKING_STD430:
|
|
return "std430";
|
|
default:
|
|
- unreachable("Unexpected interface packing");
|
|
+ UNREACHABLE("Unexpected interface packing");
|
|
return "UNKNOWN";
|
|
}
|
|
}
|
|
|
|
static const char*
|
|
interface_variable_mode_string(enum ir_variable_mode mode)
|
|
{
|
|
switch (mode) {
|
|
case ir_var_uniform:
|
|
return "uniform";
|
|
case ir_var_shader_storage:
|
|
return "buffer";
|
|
default:
|
|
- unreachable("Unexpected interface variable mode");
|
|
+ UNREACHABLE("Unexpected interface variable mode");
|
|
return "UNKOWN";
|
|
}
|
|
}
|
|
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir_print_visitor.cpp b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir_print_visitor.cpp
|
|
index d621c2670032..964177fd11b7 100644
|
|
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir_print_visitor.cpp
|
|
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir_print_visitor.cpp
|
|
@@ -381,7 +381,7 @@ void ir_print_visitor::visit(ir_texture *ir)
|
|
ir->lod_info.component->accept(this);
|
|
break;
|
|
case ir_samples_identical:
|
|
- unreachable("ir_samples_identical was already handled");
|
|
+ UNREACHABLE("ir_samples_identical was already handled");
|
|
};
|
|
fprintf(f, ")");
|
|
}
|
|
@@ -522,7 +522,7 @@ void ir_print_visitor::visit(ir_constant *ir)
|
|
fprintf(f, "%f", ir->value.d[i]);
|
|
break;
|
|
default:
|
|
- unreachable("Invalid constant type");
|
|
+ UNREACHABLE("Invalid constant type");
|
|
}
|
|
}
|
|
}
|
|
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/linker.cpp b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/linker.cpp
|
|
index 212abf084b2e..112076d40733 100644
|
|
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/linker.cpp
|
|
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/linker.cpp
|
|
@@ -3988,7 +3988,7 @@ add_packed_varyings(const struct gl_context *ctx,
|
|
iface = GL_PROGRAM_OUTPUT;
|
|
break;
|
|
default:
|
|
- unreachable("unexpected type");
|
|
+ UNREACHABLE("unexpected type");
|
|
}
|
|
|
|
if (type == iface) {
|
|
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/loop_analysis.cpp b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/loop_analysis.cpp
|
|
index 9429e69c2a7f..445bfd06c01b 100644
|
|
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/loop_analysis.cpp
|
|
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/loop_analysis.cpp
|
|
@@ -171,7 +171,7 @@ calculate_iterations(ir_rvalue *from, ir_rvalue *to, ir_rvalue *increment,
|
|
iter = new(mem_ctx) ir_constant(double(iter_value + bias[i]));
|
|
break;
|
|
default:
|
|
- unreachable("Unsupported type for loop iterator.");
|
|
+ UNREACHABLE("Unsupported type for loop iterator.");
|
|
}
|
|
|
|
ir_expression *const mul =
|
|
@@ -238,7 +238,7 @@ incremented_before_terminator(ir_loop *loop, ir_variable *var,
|
|
}
|
|
}
|
|
|
|
- unreachable("Unable to find induction variable");
|
|
+ UNREACHABLE("Unable to find induction variable");
|
|
}
|
|
|
|
/**
|
|
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/lower_blend_equation_advanced.cpp b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/lower_blend_equation_advanced.cpp
|
|
index c85b39bcaa34..1a7b8d4e8d6a 100644
|
|
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/lower_blend_equation_advanced.cpp
|
|
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/lower_blend_equation_advanced.cpp
|
|
@@ -386,7 +386,7 @@ calc_blend_result(ir_factory f,
|
|
break;
|
|
case BLEND_NONE:
|
|
case BLEND_ALL:
|
|
- unreachable("not real cases");
|
|
+ UNREACHABLE("not real cases");
|
|
}
|
|
|
|
if (val)
|
|
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/lower_buffer_access.cpp b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/lower_buffer_access.cpp
|
|
index a6e2f741ebe6..c97f497c384d 100644
|
|
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/lower_buffer_access.cpp
|
|
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/lower_buffer_access.cpp
|
|
@@ -244,19 +244,19 @@ lower_buffer_access::is_dereferenced_thing_row_major(const ir_rvalue *deref)
|
|
return matrix || deref->type->without_array()->is_struct();
|
|
}
|
|
|
|
- unreachable("invalid matrix layout");
|
|
+ UNREACHABLE("invalid matrix layout");
|
|
break;
|
|
}
|
|
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/* The tree must have ended with a dereference that wasn't an
|
|
* ir_dereference_variable. That is invalid, and it should be impossible.
|
|
*/
|
|
- unreachable("invalid dereference tree");
|
|
+ UNREACHABLE("invalid dereference tree");
|
|
return false;
|
|
}
|
|
|
|
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/lower_distance.cpp b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/lower_distance.cpp
|
|
index b4e730c64fbd..749bfc509748 100644
|
|
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/lower_distance.cpp
|
|
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/lower_distance.cpp
|
|
@@ -155,7 +155,7 @@ lower_distance_visitor::visit(ir_variable *ir)
|
|
old_var = &old_distance_in_var;
|
|
new_var = &new_distance_in_var;
|
|
} else {
|
|
- unreachable("not reached");
|
|
+ UNREACHABLE("not reached");
|
|
}
|
|
|
|
this->progress = true;
|
|
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/lower_ubo_reference.cpp b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/lower_ubo_reference.cpp
|
|
index 08d4f72efa0a..3a44c60c7abe 100644
|
|
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/lower_ubo_reference.cpp
|
|
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/lower_ubo_reference.cpp
|
|
@@ -549,7 +549,7 @@ lower_ubo_reference_visitor::insert_buffer_access(void *mem_ctx,
|
|
}
|
|
break;
|
|
default:
|
|
- unreachable("invalid buffer_access_type in insert_buffer_access");
|
|
+ UNREACHABLE("invalid buffer_access_type in insert_buffer_access");
|
|
}
|
|
}
|
|
|
|
@@ -730,7 +730,7 @@ lower_ubo_reference_visitor::calculate_unsized_array_stride(ir_dereference *dere
|
|
break;
|
|
}
|
|
default:
|
|
- unreachable("Unsupported dereference type");
|
|
+ UNREACHABLE("Unsupported dereference type");
|
|
}
|
|
return array_stride;
|
|
}
|
|
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/opt_algebraic.cpp b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/opt_algebraic.cpp
|
|
index 7cef4fc6ef93..ecb592d5c13d 100644
|
|
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/opt_algebraic.cpp
|
|
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/opt_algebraic.cpp
|
|
@@ -995,7 +995,7 @@ ir_algebraic_visitor::handle_expression(ir_expression *ir)
|
|
break;
|
|
default:
|
|
one = NULL;
|
|
- unreachable("unexpected type");
|
|
+ UNREACHABLE("unexpected type");
|
|
}
|
|
|
|
return mul(ir->operands[0], add(one, neg(ir->operands[2])));
|
|
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/opt_minmax.cpp b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/opt_minmax.cpp
|
|
index 36fe0a9f05b6..a56ef38b81b1 100644
|
|
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/opt_minmax.cpp
|
|
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/opt_minmax.cpp
|
|
@@ -154,7 +154,7 @@ compare_components(ir_constant *a, ir_constant *b)
|
|
foundequal = true;
|
|
break;
|
|
default:
|
|
- unreachable("not reached");
|
|
+ UNREACHABLE("not reached");
|
|
}
|
|
}
|
|
|
|
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/opt_vectorize.cpp b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/opt_vectorize.cpp
|
|
index 88318cd8a6eb..9475467629c9 100644
|
|
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/opt_vectorize.cpp
|
|
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/opt_vectorize.cpp
|
|
@@ -228,7 +228,7 @@ write_mask_to_swizzle(unsigned write_mask)
|
|
case WRITEMASK_Z: return SWIZZLE_Z;
|
|
case WRITEMASK_W: return SWIZZLE_W;
|
|
}
|
|
- unreachable("not reached");
|
|
+ UNREACHABLE("not reached");
|
|
}
|
|
|
|
/**
|
|
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl_types.cpp b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl_types.cpp
|
|
index 445659599c22..77ea8b11ff87 100644
|
|
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl_types.cpp
|
|
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl_types.cpp
|
|
@@ -459,7 +459,7 @@ const glsl_type *glsl_type::get_bare_type() const
|
|
return this;
|
|
}
|
|
|
|
- unreachable("Invalid base type");
|
|
+ UNREACHABLE("Invalid base type");
|
|
}
|
|
|
|
const glsl_type *glsl_type::get_float16_type() const
|
|
@@ -899,7 +899,7 @@ glsl_type::get_sampler_instance(enum glsl_sampler_dim dim,
|
|
return error_type;
|
|
}
|
|
|
|
- unreachable("switch statement above should be complete");
|
|
+ UNREACHABLE("switch statement above should be complete");
|
|
}
|
|
|
|
const glsl_type *
|
|
@@ -998,7 +998,7 @@ glsl_type::get_image_instance(enum glsl_sampler_dim dim,
|
|
return error_type;
|
|
}
|
|
|
|
- unreachable("switch statement above should be complete");
|
|
+ UNREACHABLE("switch statement above should be complete");
|
|
}
|
|
|
|
const glsl_type *
|
|
@@ -2015,7 +2015,7 @@ glsl_type::get_explicit_std140_type(bool row_major) const
|
|
delete[] fields;
|
|
return type;
|
|
} else {
|
|
- unreachable("Invalid type for UBO or SSBO");
|
|
+ UNREACHABLE("Invalid type for UBO or SSBO");
|
|
}
|
|
}
|
|
|
|
@@ -2373,7 +2373,7 @@ glsl_type::get_explicit_std430_type(bool row_major) const
|
|
delete[] fields;
|
|
return type;
|
|
} else {
|
|
- unreachable("Invalid type for SSBO");
|
|
+ UNREACHABLE("Invalid type for SSBO");
|
|
}
|
|
}
|
|
|
|
@@ -2447,7 +2447,7 @@ glsl_type::get_explicit_type_for_size_align(glsl_type_size_align_func type_info,
|
|
return glsl_type::get_instance(this->base_type, this->vector_elements,
|
|
this->matrix_columns, stride, false);
|
|
} else {
|
|
- unreachable("Unhandled type.");
|
|
+ UNREACHABLE("Unhandled type.");
|
|
}
|
|
}
|
|
|
|
@@ -2583,7 +2583,7 @@ glsl_type::count_dword_slots(bool is_bindless) const
|
|
case GLSL_TYPE_ERROR:
|
|
case GLSL_TYPE_FUNCTION:
|
|
default:
|
|
- unreachable("invalid type in st_glsl_type_dword_size()");
|
|
+ UNREACHABLE("invalid type in st_glsl_type_dword_size()");
|
|
}
|
|
|
|
return 0;
|
|
@@ -2947,7 +2947,7 @@ glsl_get_sampler_dim_coordinate_components(enum glsl_sampler_dim dim)
|
|
case GLSL_SAMPLER_DIM_CUBE:
|
|
return 3;
|
|
default:
|
|
- unreachable("Unknown sampler dim");
|
|
+ UNREACHABLE("Unknown sampler dim");
|
|
}
|
|
}
|
|
|
|
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl_types.h b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl_types.h
|
|
index f709bdd702e2..45d608ce47e3 100644
|
|
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl_types.h
|
|
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl_types.h
|
|
@@ -187,7 +187,7 @@ glsl_base_type_get_bit_size(const enum glsl_base_type base_type)
|
|
return 64;
|
|
|
|
default:
|
|
- unreachable("unknown base type");
|
|
+ UNREACHABLE("unknown base type");
|
|
}
|
|
|
|
return 0;
|
|
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/shader_enums.c b/third_party/rust/glslopt/glsl-optimizer/src/compiler/shader_enums.c
|
|
index a2a5eb82a61f..6df48d39abc0 100644
|
|
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/shader_enums.c
|
|
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/shader_enums.c
|
|
@@ -66,27 +66,27 @@ _mesa_shader_stage_to_string(unsigned stage)
|
|
case MESA_SHADER_TESS_EVAL: return "tessellation evaluation";
|
|
}
|
|
|
|
- unreachable("Unknown shader stage.");
|
|
+ UNREACHABLE("Unknown shader stage.");
|
|
}
|
|
|
|
/**
|
|
* Translate a gl_shader_stage to a shader stage abbreviation (VS, GS, FS)
|
|
* for debug printouts and error messages.
|
|
*/
|
|
const char *
|
|
_mesa_shader_stage_to_abbrev(unsigned stage)
|
|
{
|
|
switch (stage) {
|
|
case MESA_SHADER_VERTEX: return "VS";
|
|
case MESA_SHADER_FRAGMENT: return "FS";
|
|
case MESA_SHADER_GEOMETRY: return "GS";
|
|
case MESA_SHADER_COMPUTE: return "CS";
|
|
case MESA_SHADER_KERNEL: return "CL";
|
|
case MESA_SHADER_TESS_CTRL: return "TCS";
|
|
case MESA_SHADER_TESS_EVAL: return "TES";
|
|
}
|
|
|
|
- unreachable("Unknown shader stage.");
|
|
+ UNREACHABLE("Unknown shader stage.");
|
|
}
|
|
|
|
const char *
|
|
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/mesa/main/shaderobj.h b/third_party/rust/glslopt/glsl-optimizer/src/mesa/main/shaderobj.h
|
|
index 0d512550de47..3f105d64d21b 100644
|
|
--- a/third_party/rust/glslopt/glsl-optimizer/src/mesa/main/shaderobj.h
|
|
+++ b/third_party/rust/glslopt/glsl-optimizer/src/mesa/main/shaderobj.h
|
|
@@ -140,7 +140,7 @@ _mesa_shader_enum_to_shader_stage(GLenum v)
|
|
case GL_COMPUTE_SHADER:
|
|
return MESA_SHADER_COMPUTE;
|
|
default:
|
|
- unreachable("bad value in _mesa_shader_enum_to_shader_stage()");
|
|
+ UNREACHABLE("bad value in _mesa_shader_enum_to_shader_stage()");
|
|
}
|
|
}
|
|
|
|
@@ -184,75 +184,75 @@ _mesa_shader_stage_from_subroutine_uniform(GLenum subuniform)
|
|
case GL_TESS_EVALUATION_SUBROUTINE_UNIFORM:
|
|
return MESA_SHADER_TESS_EVAL;
|
|
}
|
|
- unreachable("not reached");
|
|
+ UNREACHABLE("not reached");
|
|
}
|
|
|
|
static inline gl_shader_stage
|
|
_mesa_shader_stage_from_subroutine(GLenum subroutine)
|
|
{
|
|
switch (subroutine) {
|
|
case GL_VERTEX_SUBROUTINE:
|
|
return MESA_SHADER_VERTEX;
|
|
case GL_GEOMETRY_SUBROUTINE:
|
|
return MESA_SHADER_GEOMETRY;
|
|
case GL_FRAGMENT_SUBROUTINE:
|
|
return MESA_SHADER_FRAGMENT;
|
|
case GL_COMPUTE_SUBROUTINE:
|
|
return MESA_SHADER_COMPUTE;
|
|
case GL_TESS_CONTROL_SUBROUTINE:
|
|
return MESA_SHADER_TESS_CTRL;
|
|
case GL_TESS_EVALUATION_SUBROUTINE:
|
|
return MESA_SHADER_TESS_EVAL;
|
|
}
|
|
- unreachable("not reached");
|
|
+ UNREACHABLE("not reached");
|
|
}
|
|
|
|
static inline GLenum
|
|
_mesa_shader_stage_to_subroutine(gl_shader_stage stage)
|
|
{
|
|
switch (stage) {
|
|
case MESA_SHADER_VERTEX:
|
|
return GL_VERTEX_SUBROUTINE;
|
|
case MESA_SHADER_GEOMETRY:
|
|
return GL_GEOMETRY_SUBROUTINE;
|
|
case MESA_SHADER_FRAGMENT:
|
|
return GL_FRAGMENT_SUBROUTINE;
|
|
case MESA_SHADER_COMPUTE:
|
|
return GL_COMPUTE_SUBROUTINE;
|
|
case MESA_SHADER_TESS_CTRL:
|
|
return GL_TESS_CONTROL_SUBROUTINE;
|
|
case MESA_SHADER_TESS_EVAL:
|
|
return GL_TESS_EVALUATION_SUBROUTINE;
|
|
case MESA_SHADER_NONE:
|
|
break;
|
|
case MESA_SHADER_KERNEL:
|
|
- unreachable("not reached");
|
|
+ UNREACHABLE("not reached");
|
|
break;
|
|
}
|
|
- unreachable("not reached");
|
|
+ UNREACHABLE("not reached");
|
|
}
|
|
|
|
static inline GLenum
|
|
_mesa_shader_stage_to_subroutine_uniform(gl_shader_stage stage)
|
|
{
|
|
switch (stage) {
|
|
case MESA_SHADER_VERTEX:
|
|
return GL_VERTEX_SUBROUTINE_UNIFORM;
|
|
case MESA_SHADER_GEOMETRY:
|
|
return GL_GEOMETRY_SUBROUTINE_UNIFORM;
|
|
case MESA_SHADER_FRAGMENT:
|
|
return GL_FRAGMENT_SUBROUTINE_UNIFORM;
|
|
case MESA_SHADER_COMPUTE:
|
|
return GL_COMPUTE_SUBROUTINE_UNIFORM;
|
|
case MESA_SHADER_TESS_CTRL:
|
|
return GL_TESS_CONTROL_SUBROUTINE_UNIFORM;
|
|
case MESA_SHADER_TESS_EVAL:
|
|
return GL_TESS_EVALUATION_SUBROUTINE_UNIFORM;
|
|
case MESA_SHADER_NONE:
|
|
case MESA_SHADER_KERNEL:
|
|
break;
|
|
}
|
|
- unreachable("not reached");
|
|
+ UNREACHABLE("not reached");
|
|
}
|
|
|
|
extern bool
|
|
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/util/macros.h b/third_party/rust/glslopt/glsl-optimizer/src/util/macros.h
|
|
index fcace4e351d6..e4dfd67c8cc2 100644
|
|
--- a/third_party/rust/glslopt/glsl-optimizer/src/util/macros.h
|
|
+++ b/third_party/rust/glslopt/glsl-optimizer/src/util/macros.h
|
|
@@ -68,24 +68,34 @@
|
|
} while (0)
|
|
|
|
|
|
+/**
|
|
+ * Unreachable macro. Useful for suppressing "control reaches end of non-void
|
|
+ * function" warnings.
|
|
+ */
|
|
/**
|
|
* Unreachable macro. Useful for suppressing "control reaches end of non-void
|
|
* function" warnings.
|
|
*/
|
|
#if defined(HAVE___BUILTIN_UNREACHABLE) || __has_builtin(__builtin_unreachable)
|
|
-#define unreachable(str) \
|
|
+#define UNREACHABLE(str) \
|
|
do { \
|
|
+ (void)"" str; /* str must be a string literal */ \
|
|
assert(!str); \
|
|
__builtin_unreachable(); \
|
|
} while (0)
|
|
#elif defined (_MSC_VER)
|
|
-#define unreachable(str) \
|
|
+#define UNREACHABLE(str) \
|
|
do { \
|
|
+ (void)"" str; /* str must be a string literal */ \
|
|
assert(!str); \
|
|
__assume(0); \
|
|
} while (0)
|
|
#else
|
|
-#define unreachable(str) assert(!str)
|
|
+#define UNREACHABLE(str) \
|
|
+do { \
|
|
+ (void)"" str; /* str must be a string literal */ \
|
|
+ assert(!str); \
|
|
+} while (0)
|
|
#endif
|
|
|
|
/**
|
|
@@ -190,8 +200,10 @@ do { \
|
|
* performs no action and all member variables and base classes are
|
|
* trivially destructible themselves.
|
|
*/
|
|
-# if (defined(__clang__) && defined(__has_feature))
|
|
-# if __has_feature(has_trivial_destructor)
|
|
+# if defined(__clang__)
|
|
+# if __has_builtin(__is_trivially_destructible)
|
|
+# define HAS_TRIVIAL_DESTRUCTOR(T) __is_trivially_destructible(T)
|
|
+# elif (defined(__has_feature) && __has_feature(has_trivial_destructor))
|
|
# define HAS_TRIVIAL_DESTRUCTOR(T) __has_trivial_destructor(T)
|
|
# endif
|
|
# elif defined(__GNUC__)
|
|
diff --git a/third_party/rust/glslopt/src/bindings.rs b/third_party/rust/glslopt/src/bindings.rs
|
|
index f4e5bebd08ba..5c1ca487d5e9 100644
|
|
--- a/third_party/rust/glslopt/src/bindings.rs
|
|
+++ b/third_party/rust/glslopt/src/bindings.rs
|
|
@@ -1,131 +1,131 @@
|
|
-/* automatically generated by rust-bindgen */
|
|
+/* automatically generated by rust-bindgen 0.72.1 */
|
|
|
|
#[repr(C)]
|
|
#[derive(Debug, Copy, Clone)]
|
|
pub struct glslopt_shader {
|
|
_unused: [u8; 0],
|
|
}
|
|
#[repr(C)]
|
|
#[derive(Debug, Copy, Clone)]
|
|
pub struct glslopt_ctx {
|
|
_unused: [u8; 0],
|
|
}
|
|
pub const glslopt_shader_type_kGlslOptShaderVertex: glslopt_shader_type = 0;
|
|
pub const glslopt_shader_type_kGlslOptShaderFragment: glslopt_shader_type = 1;
|
|
-pub type glslopt_shader_type = u32;
|
|
+pub type glslopt_shader_type = ::std::os::raw::c_uint;
|
|
pub const glslopt_options_kGlslOptionSkipPreprocessor: glslopt_options = 1;
|
|
pub const glslopt_options_kGlslOptionNotFullShader: glslopt_options = 2;
|
|
-pub type glslopt_options = u32;
|
|
+pub type glslopt_options = ::std::os::raw::c_uint;
|
|
pub const glslopt_target_kGlslTargetOpenGL: glslopt_target = 0;
|
|
pub const glslopt_target_kGlslTargetOpenGLES20: glslopt_target = 1;
|
|
pub const glslopt_target_kGlslTargetOpenGLES30: glslopt_target = 2;
|
|
pub const glslopt_target_kGlslTargetMetal: glslopt_target = 3;
|
|
-pub type glslopt_target = u32;
|
|
+pub type glslopt_target = ::std::os::raw::c_uint;
|
|
pub const glslopt_basic_type_kGlslTypeFloat: glslopt_basic_type = 0;
|
|
pub const glslopt_basic_type_kGlslTypeInt: glslopt_basic_type = 1;
|
|
pub const glslopt_basic_type_kGlslTypeBool: glslopt_basic_type = 2;
|
|
pub const glslopt_basic_type_kGlslTypeTex2D: glslopt_basic_type = 3;
|
|
pub const glslopt_basic_type_kGlslTypeTex3D: glslopt_basic_type = 4;
|
|
pub const glslopt_basic_type_kGlslTypeTexCube: glslopt_basic_type = 5;
|
|
pub const glslopt_basic_type_kGlslTypeTex2DShadow: glslopt_basic_type = 6;
|
|
pub const glslopt_basic_type_kGlslTypeTex2DArray: glslopt_basic_type = 7;
|
|
pub const glslopt_basic_type_kGlslTypeOther: glslopt_basic_type = 8;
|
|
pub const glslopt_basic_type_kGlslTypeCount: glslopt_basic_type = 9;
|
|
-pub type glslopt_basic_type = u32;
|
|
+pub type glslopt_basic_type = ::std::os::raw::c_uint;
|
|
pub const glslopt_precision_kGlslPrecHigh: glslopt_precision = 0;
|
|
pub const glslopt_precision_kGlslPrecMedium: glslopt_precision = 1;
|
|
pub const glslopt_precision_kGlslPrecLow: glslopt_precision = 2;
|
|
pub const glslopt_precision_kGlslPrecCount: glslopt_precision = 3;
|
|
-pub type glslopt_precision = u32;
|
|
-extern "C" {
|
|
+pub type glslopt_precision = ::std::os::raw::c_uint;
|
|
+unsafe extern "C" {
|
|
pub fn glslopt_initialize(target: glslopt_target) -> *mut glslopt_ctx;
|
|
}
|
|
-extern "C" {
|
|
+unsafe extern "C" {
|
|
pub fn glslopt_cleanup(ctx: *mut glslopt_ctx);
|
|
}
|
|
-extern "C" {
|
|
+unsafe extern "C" {
|
|
pub fn glslopt_set_max_unroll_iterations(
|
|
ctx: *mut glslopt_ctx,
|
|
iterations: ::std::os::raw::c_uint,
|
|
);
|
|
}
|
|
-extern "C" {
|
|
+unsafe extern "C" {
|
|
pub fn glslopt_optimize(
|
|
ctx: *mut glslopt_ctx,
|
|
type_: glslopt_shader_type,
|
|
shaderSource: *const ::std::os::raw::c_char,
|
|
options: ::std::os::raw::c_uint,
|
|
) -> *mut glslopt_shader;
|
|
}
|
|
-extern "C" {
|
|
+unsafe extern "C" {
|
|
pub fn glslopt_get_status(shader: *mut glslopt_shader) -> bool;
|
|
}
|
|
-extern "C" {
|
|
+unsafe extern "C" {
|
|
pub fn glslopt_get_output(shader: *mut glslopt_shader) -> *const ::std::os::raw::c_char;
|
|
}
|
|
-extern "C" {
|
|
+unsafe extern "C" {
|
|
pub fn glslopt_get_raw_output(shader: *mut glslopt_shader) -> *const ::std::os::raw::c_char;
|
|
}
|
|
-extern "C" {
|
|
+unsafe extern "C" {
|
|
pub fn glslopt_get_log(shader: *mut glslopt_shader) -> *const ::std::os::raw::c_char;
|
|
}
|
|
-extern "C" {
|
|
+unsafe extern "C" {
|
|
pub fn glslopt_shader_delete(shader: *mut glslopt_shader);
|
|
}
|
|
-extern "C" {
|
|
+unsafe extern "C" {
|
|
pub fn glslopt_shader_get_input_count(shader: *mut glslopt_shader) -> ::std::os::raw::c_int;
|
|
}
|
|
-extern "C" {
|
|
+unsafe extern "C" {
|
|
pub fn glslopt_shader_get_input_desc(
|
|
shader: *mut glslopt_shader,
|
|
index: ::std::os::raw::c_int,
|
|
outName: *mut *const ::std::os::raw::c_char,
|
|
outType: *mut glslopt_basic_type,
|
|
outPrec: *mut glslopt_precision,
|
|
outVecSize: *mut ::std::os::raw::c_int,
|
|
outMatSize: *mut ::std::os::raw::c_int,
|
|
outArraySize: *mut ::std::os::raw::c_int,
|
|
outLocation: *mut ::std::os::raw::c_int,
|
|
);
|
|
}
|
|
-extern "C" {
|
|
+unsafe extern "C" {
|
|
pub fn glslopt_shader_get_uniform_count(shader: *mut glslopt_shader) -> ::std::os::raw::c_int;
|
|
}
|
|
-extern "C" {
|
|
+unsafe extern "C" {
|
|
pub fn glslopt_shader_get_uniform_total_size(
|
|
shader: *mut glslopt_shader,
|
|
) -> ::std::os::raw::c_int;
|
|
}
|
|
-extern "C" {
|
|
+unsafe extern "C" {
|
|
pub fn glslopt_shader_get_uniform_desc(
|
|
shader: *mut glslopt_shader,
|
|
index: ::std::os::raw::c_int,
|
|
outName: *mut *const ::std::os::raw::c_char,
|
|
outType: *mut glslopt_basic_type,
|
|
outPrec: *mut glslopt_precision,
|
|
outVecSize: *mut ::std::os::raw::c_int,
|
|
outMatSize: *mut ::std::os::raw::c_int,
|
|
outArraySize: *mut ::std::os::raw::c_int,
|
|
outLocation: *mut ::std::os::raw::c_int,
|
|
);
|
|
}
|
|
-extern "C" {
|
|
+unsafe extern "C" {
|
|
pub fn glslopt_shader_get_texture_count(shader: *mut glslopt_shader) -> ::std::os::raw::c_int;
|
|
}
|
|
-extern "C" {
|
|
+unsafe extern "C" {
|
|
pub fn glslopt_shader_get_texture_desc(
|
|
shader: *mut glslopt_shader,
|
|
index: ::std::os::raw::c_int,
|
|
outName: *mut *const ::std::os::raw::c_char,
|
|
outType: *mut glslopt_basic_type,
|
|
outPrec: *mut glslopt_precision,
|
|
outVecSize: *mut ::std::os::raw::c_int,
|
|
outMatSize: *mut ::std::os::raw::c_int,
|
|
outArraySize: *mut ::std::os::raw::c_int,
|
|
outLocation: *mut ::std::os::raw::c_int,
|
|
);
|
|
}
|
|
-extern "C" {
|
|
+unsafe extern "C" {
|
|
pub fn glslopt_shader_get_stats(
|
|
shader: *mut glslopt_shader,
|
|
approxMath: *mut ::std::os::raw::c_int,
|