helloadhavan/github_issues huggingface dataset:
Repository: denoland/deno
Pull request: feat(add): strip package subpath when adding a package

These now works:
```
$ deno add @std/dotenv/load
$ deno add npm:preact/hooks
```
Previously we were erroring out, because this is a "package reference" including
a subpath.

Closes https://github.com/denoland/deno/issues/25385

Changed files:
filename: cli/tools/registry/pm.rs
patch: @@ -3,6 +3,8 @@
 mod cache_deps;
 
 pub use cache_deps::cache_top_level_deps;
+use deno_semver::jsr::JsrPackageReqReference;
+use deno_semver::npm::NpmPackageReqReference;
 
 use std::borrow::Cow;
 use std::path::Path;
@@ -501,14 +503,18 @@ impl AddPackageReq {
 
     match prefix {
       Prefix::Jsr => {
-        let package_req = PackageReq::from_str(entry_text)?;
+        let req_ref =
+          JsrPackageReqReference::from_str(&format!("jsr:{}", entry_text))?;
+        let package_req = req_ref.into_inner().req;
         Ok(AddPackageReq {
           alias: maybe_alias.unwrap_or_else(|| package_req.name.to_string()),
           value: AddPackageReqValue::Jsr(package_req),
         })
       }
       Prefix::Npm => {
-        let package_req = PackageReq::from_str(entry_text)?;
+        let req_ref =
+          NpmPackageReqReference::from_str(&format!("npm:{}", entry_text))?;
+        let package_req = req_ref.into_inner().req;
         Ok(AddPackageReq {
           alias: maybe_alias.unwrap_or_else(|| package_req.name.to_string()),
           value: AddPackageReqValue::Npm(package_req),

filename: tests/specs/add/add_with_subpath/__test__.jsonc
patch: @@ -0,0 +1,19 @@
+{
+  "tempDir": true,
+  "steps": [
+    {
+      "args": "add @std/testing/bdd npm:preact/hooks",
+      "output": "add.out"
+    },
+    {
+      "args": "add @std/testing/bdd@1 npm:preact/hooks@10",
+      "output": "wrong_constraint_jsr.out",
+      "exitCode": 1
+    },
+    {
+      "args": "add npm:preact/hooks@10",
+      "output": "wrong_constraint_npm.out",
+      "exitCode": 1
+    }
+  ]
+}

filename: tests/specs/add/add_with_subpath/add.out
patch: @@ -0,0 +1,8 @@
+[UNORDERED_START]
+Add jsr:@std/testing@1.0.0
+Add npm:preact@10.19.6
+Download http://127.0.0.1:4250/@std/testing/1.0.0/bdd.ts
+Download http://127.0.0.1:4250/@std/testing/1.0.0/types.ts
+Download http://localhost:4260/preact
+Download http://localhost:4260/preact/preact-10.19.6.tgz
+[UNORDERED_END]

filename: tests/specs/add/add_with_subpath/wrong_constraint_jsr.out
patch: @@ -0,0 +1,4 @@
+error: Failed to parse package required: @std/testing/bdd@1
+
+Caused by:
+    Invalid package specifier 'jsr:@std/testing/bdd@1'. Did you mean to write 'jsr:@std/testing@1/bdd'?

filename: tests/specs/add/add_with_subpath/wrong_constraint_npm.out
patch: @@ -0,0 +1,4 @@
+error: Failed to parse package required: npm:preact/hooks@10
+
+Caused by:
+    Invalid package specifier 'npm:preact/hooks@10'. Did you mean to write 'npm:preact@10/hooks'?
Repository: nodejs/node
Pull request: doc: include CVE to EOL lines as sec release process

Refs: https://github.com/nodejs/security-wg/issues/1401

cc: @nodejs/security-release 

Changed files:
filename: doc/contributing/security-release-process.md
patch: @@ -65,6 +65,8 @@ The current security stewards are documented in the main Node.js
 * [ ] 4\. **Requesting CVEs:**
   * Request CVEs for the reports with `git node security --request-cve`.
   * Make sure to have a green CI before requesting a CVE.
+  * Check if there is a need to issue a CVE for any version that became
+    EOL after the last security release through [this issue](https://github.com/nodejs/security-wg/issues/1419).
 
 * [ ] 5\. **Choosing or Updating Release Date:**
   * Get agreement on the planned date for the release.
Repository: huggingface/transformers
Pull request: Fix cache get item return type hints

# What does this PR do?

Fix __getitem__ return types hints for cache classes.

Fix issue #37818 

## Before submitting
- [✅ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
- [✅ ] Did you read the [contributor guideline](https://github.com/huggingface/transformers/blob/main/CONTRIBUTING.md#create-a-pull-request),
      Pull Request section?
- [✅] Was this discussed/approved via a Github issue or the [forum](https://discuss.huggingface.co/)? Please add a link
      to it if that's the case.
    https://github.com/huggingface/transformers/issues/37818
- [✅] Did you make sure to update the documentation with your changes? Here are the
      [documentation guidelines](https://github.com/huggingface/transformers/tree/main/docs), and
      [here are tips on formatting docstrings](https://github.com/huggingface/transformers/tree/main/docs#writing-source-documentation).
- [ ] Did you write any new necessary tests?


## Who can review?

@tomaarsen @gante @Rocketknight1 


Changed files:
filename: src/transformers/cache_utils.py
patch: @@ -376,7 +376,7 @@ def __init__(self, _distributed_cache_data: Optional[Iterable] = None) -> None:
                 self.key_cache.append(key_states)
                 self.value_cache.append(value_states)
 
-    def __getitem__(self, layer_idx: int) -> List[Tuple[torch.Tensor]]:
+    def __getitem__(self, layer_idx: int) -> Tuple[torch.Tensor, torch.Tensor]:
         """
         Support for backwards-compatible `past_key_value` indexing, e.g. `past_key_value[0][0].shape[2]` to get the
         sequence length.
@@ -649,7 +649,7 @@ def evict_previous_layer(self, layer_idx: int):
             self.key_cache[prev_layer_idx] = self.key_cache[prev_layer_idx].to("cpu", non_blocking=True)
             self.value_cache[prev_layer_idx] = self.value_cache[prev_layer_idx].to("cpu", non_blocking=True)
 
-    def __getitem__(self, layer_idx: int) -> List[Tuple[torch.Tensor]]:
+    def __getitem__(self, layer_idx: int) -> Tuple[torch.Tensor, torch.Tensor]:
         "Gets the cache for this layer to the device. Prefetches the next and evicts the previous layer."
         if layer_idx < len(self):
             # Evict the previous layer if necessary
@@ -1473,7 +1473,7 @@ def __init__(self, self_attention_cache: Cache, cross_attention_cache: Cache):
         for layer_idx in range(len(cross_attention_cache.key_cache)):
             self.is_updated[layer_idx] = bool(cross_attention_cache.get_seq_length(layer_idx) > 0)
 
-    def __getitem__(self, layer_idx: int) -> List[Tuple[torch.Tensor]]:
+    def __getitem__(self, layer_idx: int) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor]:
         """
         Support for backwards-compatible `past_key_value` indexing, e.g. `past_key_value[0][0].shape[2]` to get the
         sequence length.
Repository: electron/electron
Pull request: build: update-check-skip on dependabot backport PRs

Notes: none

Changed files:
filename: .github/dependabot.yml
patch: @@ -16,31 +16,31 @@ updates:
     schedule:
       interval: weekly
     labels:
-      - "no-backport"
+      - "backport-check-skip"
       - "semver/none"
     target-branch: 33-x-y
   - package-ecosystem: github-actions
     directory: /
     schedule:
       interval: weekly
     labels:
-      - "no-backport"
+      - "backport-check-skip"
       - "semver/none"
     target-branch: 32-x-y
   - package-ecosystem: github-actions
     directory: /
     schedule:
       interval: weekly
     labels:
-      - "no-backport"
+      - "backport-check-skip"
       - "semver/none"
     target-branch: 31-x-y
   - package-ecosystem: github-actions
     directory: /
     schedule:
       interval: weekly
     labels:
-      - "no-backport"
+      - "backport-check-skip"
       - "semver/none"
     target-branch: 30-x-y
   - package-ecosystem: npm
@@ -53,7 +53,7 @@ updates:
     labels:
       - "no-backport"
     open-pull-requests-limit: 2
-    target-branch: 33-x-y
+    target-branch: main
   - package-ecosystem: npm
     directories:
       - /
@@ -62,9 +62,9 @@ updates:
     schedule:
       interval: daily
     labels:
-      - "no-backport"
+      - "backport-check-skip"
     open-pull-requests-limit: 0
-    target-branch: main
+    target-branch: 33-x-y
   - package-ecosystem: npm
     directories:
       - /
@@ -73,7 +73,7 @@ updates:
     schedule:
       interval: daily
     labels:
-      - "no-backport"
+      - "backport-check-skip"
     open-pull-requests-limit: 0
     target-branch: 32-x-y
   - package-ecosystem: npm
@@ -84,7 +84,7 @@ updates:
     schedule:
       interval: daily
     labels:
-      - "no-backport"
+      - "backport-check-skip"
     open-pull-requests-limit: 0
     target-branch: 31-x-y
   - package-ecosystem: npm
@@ -95,6 +95,6 @@ updates:
     schedule:
       interval: daily
     labels:
-      - "no-backport"
+      - "backport-check-skip"
     open-pull-requests-limit: 0
     target-branch: 30-x-y
\ No newline at end of file
Repository: huggingface/transformers
Pull request: Revert change that breaks on Torch 2.1

One of the changes in #37372 is broken on Torch 2.1, which we're still supporting! Reverting that until we bump our minimum Torch version and leaving a `TODO`

Changed files:
filename: src/transformers/trainer.py
patch: @@ -3704,7 +3704,10 @@ def autocast_smart_context_manager(self, cache_enabled: Optional[bool] = True):
         arguments, depending on the situation.
         """
         if self.use_cpu_amp:
-            ctx_manager = torch.amp.autocast("cpu", cache_enabled=cache_enabled, dtype=self.amp_dtype)
+            # TODO Matt: This syntax is deprecated and the preferred version is
+            #      torch.amp.autocast("cpu", cache_enabled=cache_enabled, dtype=self.amp_dtype)
+            #      but this is unavailable on Torch 2.1 or earlier. We can change this when we stop supporting 2.1.
+            ctx_manager = torch.cpu.amp.autocast(cache_enabled=cache_enabled, dtype=self.amp_dtype)
         else:
             ctx_manager = contextlib.nullcontext()
Repository: ggml-org/llama.cpp
Pull request: ggml : fix the order of ggml_unary_op

Supersede https://github.com/ggml-org/llama.cpp/pull/13717

I made a mistake while working on https://github.com/ggml-org/llama.cpp/pull/13667 , I wanted to move `GELU_ERF` to the bottom, but mistakenly copy-paste `RELU` instead


Changed files:
filename: ggml/include/ggml.h
patch: @@ -528,15 +528,15 @@ extern "C" {
         GGML_UNARY_OP_STEP,
         GGML_UNARY_OP_TANH,
         GGML_UNARY_OP_ELU,
+        GGML_UNARY_OP_RELU,
         GGML_UNARY_OP_SIGMOID,
         GGML_UNARY_OP_GELU,
-        GGML_UNARY_OP_GELU_ERF,
         GGML_UNARY_OP_GELU_QUICK,
         GGML_UNARY_OP_SILU,
         GGML_UNARY_OP_HARDSWISH,
         GGML_UNARY_OP_HARDSIGMOID,
         GGML_UNARY_OP_EXP,
-        GGML_UNARY_OP_RELU,
+        GGML_UNARY_OP_GELU_ERF,
 
         GGML_UNARY_OP_COUNT,
     };
Repository: denoland/deno
Pull request: fix(lsp): update diagnostics on npm install

Fixes #21042.

Changed files:
filename: cli/lsp/config.rs
patch: @@ -1697,9 +1697,14 @@ impl ConfigTree {
   }
 
   pub fn is_watched_file(&self, specifier: &ModuleSpecifier) -> bool {
-    if specifier.path().ends_with("/deno.json")
-      || specifier.path().ends_with("/deno.jsonc")
-      || specifier.path().ends_with("/package.json")
+    let path = specifier.path();
+    if path.ends_with("/deno.json")
+      || path.ends_with("/deno.jsonc")
+      || path.ends_with("/package.json")
+      || path.ends_with("/node_modules/.package-lock.json")
+      || path.ends_with("/node_modules/.yarn-integrity.json")
+      || path.ends_with("/node_modules/.modules.yaml")
+      || path.ends_with("/node_modules/.deno/.setup-cache.bin")
     {
       return true;
     }

filename: tests/integration/lsp_tests.rs
patch: @@ -14767,7 +14767,6 @@ fn lsp_byonm() {
       "@denotest/esm-basic": "*",
     },
   }));
-  context.run_npm("install");
   let mut client = context.new_lsp_command().build();
   client.initialize_default();
   let diagnostics = client.did_open(json!({
@@ -14781,6 +14780,51 @@ fn lsp_byonm() {
       "#,
     },
   }));
+  assert_eq!(
+    json!(diagnostics.all()),
+    json!([
+      {
+        "range": {
+          "start": {
+            "line": 1,
+            "character": 15,
+          },
+          "end": {
+            "line": 1,
+            "character": 26,
+          },
+        },
+        "severity": 1,
+        "code": "resolver-error",
+        "source": "deno",
+        "message": "Could not find a matching package for 'npm:chalk' in a package.json file. You must specify this as a package.json dependency when the node_modules folder is not managed by Deno.",
+      },
+      {
+        "range": {
+          "start": {
+            "line": 2,
+            "character": 15,
+          },
+          "end": {
+            "line": 2,
+            "character": 36,
+          },
+        },
+        "severity": 1,
+        "code": "resolver-error",
+        "source": "deno",
+        "message": "Could not resolve \"@denotest/esm-basic\", but found it in a package.json. Deno expects the node_modules/ directory to be up to date. Did you forget to run `deno install`?",
+      },
+    ])
+  );
+  context.run_npm("install");
+  client.did_change_watched_files(json!({
+    "changes": [{
+      "uri": temp_dir.url().join("node_modules/.package-lock.json").unwrap(),
+      "type": 1,
+    }],
+  }));
+  let diagnostics = client.read_diagnostics();
   assert_eq!(
     json!(diagnostics.all()),
     json!([
Repository: nodejs/node
Pull request: esm: fix jsdoc type refs to `ModuleJobBase` in esm/loader


Changed files:
filename: lib/internal/modules/esm/loader.js
patch: @@ -54,6 +54,8 @@ const { tracingChannel } = require('diagnostics_channel');
 const onImport = tracingChannel('module.import');
 
 /**
+ * @typedef {import('./hooks.js').HooksProxy} HooksProxy
+ * @typedef {import('./module_job.js').ModuleJobBase} ModuleJobBase
  * @typedef {import('url').URL} URL
  */
 
@@ -149,6 +151,7 @@ class ModuleLoader {
    *  to this property and failure to do so will cause undefined
    * behavior when invoking `import.meta.resolve`.
    * @see {ModuleLoader.setCustomizations}
+   * @type {CustomizedModuleLoader}
    */
   #customizations;
 
@@ -202,7 +205,7 @@ class ModuleLoader {
    *
    * Calling this function alters how modules are loaded and should be
    * invoked with care.
-   * @param {object} customizations
+   * @param {CustomizedModuleLoader} customizations
    */
   setCustomizations(customizations) {
     this.#customizations = customizations;
@@ -270,7 +273,7 @@ class ModuleLoader {
    * @param {string} [parentURL] The URL of the module where the module request is initiated.
    *                             It's undefined if it's from the root module.
    * @param {ImportAttributes} importAttributes Attributes from the import statement or expression.
-   * @returns {Promise<ModuleJobBase}
+   * @returns {Promise<ModuleJobBase>}
    */
   async getModuleJobForImport(specifier, parentURL, importAttributes) {
     const resolveResult = await this.resolve(specifier, parentURL, importAttributes);
@@ -284,7 +287,7 @@ class ModuleLoader {
    * @param {string} specifier See {@link getModuleJobForImport}
    * @param {string} [parentURL] See {@link getModuleJobForImport}
    * @param {ImportAttributes} importAttributes See {@link getModuleJobForImport}
-   * @returns {Promise<ModuleJobBase}
+   * @returns {Promise<ModuleJobBase>}
    */
   getModuleJobForRequireInImportedCJS(specifier, parentURL, importAttributes) {
     const resolveResult = this.resolveSync(specifier, parentURL, importAttributes);
@@ -678,7 +681,7 @@ class ModuleLoader {
   /**
    * Similar to {@link resolve}, but the results are always synchronously returned. If there are any
    * asynchronous resolve hooks from module.register(), it will block until the results are returned
-   * from the loader thread for this to be synchornous.
+   * from the loader thread for this to be synchronous.
    * This is here to support `import.meta.resolve()`, `require()` in imported CJS, and
    * `module.registerHooks()` hooks.
    *
Repository: facebook/react
Pull request: Add test for hiding children after layout destroy

Adds test for https://github.com/facebook/react/pull/24446

Changed files:
filename: packages/react-reconciler/src/__tests__/ReactOffscreen-test.js
patch: @@ -310,6 +310,47 @@ describe('ReactOffscreen', () => {
     expect(root).toMatchRenderedOutput(<span hidden={true} prop="Child" />);
   });
 
+  // @gate experimental || www
+  // @gate enableSuspenseLayoutEffectSemantics
+  // @gate enableFlipOffscreenUnhideOrder
+  it('hides children of offscreen after layout effects are destroyed', async () => {
+    const root = ReactNoop.createRoot();
+    function Child({text}) {
+      useLayoutEffect(() => {
+        Scheduler.unstable_yieldValue('Mount layout');
+        return () => {
+          // The child should not be hidden yet.
+          expect(root).toMatchRenderedOutput(<span prop="Child" />);
+          Scheduler.unstable_yieldValue('Unmount layout');
+        };
+      }, []);
+      return <Text text="Child" />;
+    }
+
+    await act(async () => {
+      root.render(
+        <Offscreen mode="visible">
+          <Child />
+        </Offscreen>,
+      );
+    });
+    expect(Scheduler).toHaveYielded(['Child', 'Mount layout']);
+    expect(root).toMatchRenderedOutput(<span prop="Child" />);
+
+    // Hide the tree. The layout effect is unmounted.
+    await act(async () => {
+      root.render(
+        <Offscreen mode="hidden">
+          <Child />
+        </Offscreen>,
+      );
+    });
+    expect(Scheduler).toHaveYielded(['Unmount layout', 'Child']);
+
+    // After the layout effect is unmounted, the child is hidden.
+    expect(root).toMatchRenderedOutput(<span hidden={true} prop="Child" />);
+  });
+
   // @gate www
   it('does not toggle effects for LegacyHidden component', async () => {
     // LegacyHidden is meant to be the same as offscreen except it doesn't

filename: packages/shared/ReactFeatureFlags.js
patch: @@ -38,7 +38,7 @@ export const skipUnmountedBoundaries = true;
 //
 // TODO: Finish rolling out in www
 export const enableSuspenseLayoutEffectSemantics = true;
-export const enableFlipOffscreenUnhideOrder = false;
+export const enableFlipOffscreenUnhideOrder = true;
 
 // TODO: Finish rolling out in www
 export const enableClientRenderFallbackOnTextMismatch = true;
Repository: ggml-org/llama.cpp
Pull request: mtmd-helper : bug fix to token batching in mtmd

From my understanding, we should be setting each field in the tokens batch using the current `text_batch.n_tokens` counter, instead of the outer `i` counter.

If the outer `n_tokens` > `n_batch`, the original code gives a segmentation fault because each batch is only initialised with `n_batch` number of spaces, but `i` will increase to the number of overall `n_tokens`.

Changed files:
filename: tools/mtmd/mtmd-helper.cpp
patch: @@ -231,12 +231,14 @@ int32_t mtmd_helper_eval_chunk_single(mtmd_context * ctx,
         while (i < n_tokens) { // split into batches
             text_batch.n_tokens = 0; // clear the batch
             for (; i < n_tokens && text_batch.n_tokens < n_batch; i++) {
+                int32_t j = text_batch.n_tokens;
+                text_batch.token   [j]    = tokens[i];
+                text_batch.pos     [j]    = n_past++;
+                text_batch.n_seq_id[j]    = 1;
+                text_batch.seq_id  [j][0] = seq_id;
+                text_batch.logits  [j]    = false;
+
                 text_batch.n_tokens++;
-                text_batch.token   [i]    = tokens[i];
-                text_batch.pos     [i]    = n_past++;
-                text_batch.n_seq_id[i]    = 1;
-                text_batch.seq_id  [i][0] = seq_id;
-                text_batch.logits  [i]    = false;
             }
             bool is_last_token = (i == n_tokens);
             if (logits_last && is_last_token) {
Repository: vercel/next.js
Pull request: Turbopack: create smaller initial files to reduce memory usage

### What?

Large SST files lead to bigger memory usage as it accumulate entries for the SST file in memory. Creating smaller SST files flushes them more frequent and reduces in flight memory. Compaction will merge these smaller files to larger SST files during compaction.

Closes PACK-4545

Changed files:
filename: turbopack/crates/turbo-persistence/src/constants.rs
patch: @@ -6,13 +6,13 @@ pub const MAX_MEDIUM_VALUE_SIZE: usize = 64 * 1024 * 1024;
 pub const MAX_SMALL_VALUE_SIZE: usize = 64 * 1024 - 1;
 
 /// Maximum number of entries per SST file
-pub const MAX_ENTRIES_PER_INITIAL_FILE: usize = 1024 * 1024;
+pub const MAX_ENTRIES_PER_INITIAL_FILE: usize = 256 * 1024;
 
 /// Maximum number of entries per SST file
 pub const MAX_ENTRIES_PER_COMPACTED_FILE: usize = 1024 * 1024;
 
 /// Finish file when total amount of data exceeds this
-pub const DATA_THRESHOLD_PER_INITIAL_FILE: usize = 256 * 1024 * 1024;
+pub const DATA_THRESHOLD_PER_INITIAL_FILE: usize = 64 * 1024 * 1024;
 
 /// Finish file when total amount of data exceeds this
 pub const DATA_THRESHOLD_PER_COMPACTED_FILE: usize = 256 * 1024 * 1024;

filename: turbopack/crates/turbo-tasks-backend/src/database/turbo.rs
patch: @@ -13,8 +13,8 @@ use crate::database::{
     write_batch::{BaseWriteBatch, ConcurrentWriteBatch, WriteBatch, WriteBuffer},
 };
 
-const COMPACT_MAX_COVERAGE: f32 = 10.0;
-const COMPACT_MAX_MERGE_SEQUENCE: usize = 16;
+const COMPACT_MAX_COVERAGE: f32 = 20.0;
+const COMPACT_MAX_MERGE_SEQUENCE: usize = 64;
 const COMPACT_MAX_MERGE_SIZE: usize = 512 * 1024 * 1024; // 512 MiB
 
 pub struct TurboKeyValueDatabase {
Repository: ggml-org/llama.cpp
Pull request: vulkan: Disable coopmat/coopmat2/bfloat extensions if glslc doesn't support it

Detecting these as supported could lead to corruption, e.g. choosing coopmat1 spec constant values for use with the scalar shader variant.

Changed files:
filename: ggml/src/ggml-vulkan/ggml-vulkan.cpp
patch: @@ -2804,23 +2804,29 @@ static vk_device ggml_vk_get_device(size_t idx) {
                 pipeline_robustness = true;
             } else if (strcmp("VK_EXT_subgroup_size_control", properties.extensionName) == 0) {
                 device->subgroup_size_control = true;
+#if defined(GGML_VULKAN_COOPMAT_GLSLC_SUPPORT)
             } else if (strcmp("VK_KHR_cooperative_matrix", properties.extensionName) == 0 &&
                        !getenv("GGML_VK_DISABLE_COOPMAT")) {
                 device->coopmat_support = true;
                 device->coopmat_m = 0;
                 device->coopmat_n = 0;
                 device->coopmat_k = 0;
+#endif
+#if defined(GGML_VULKAN_COOPMAT2_GLSLC_SUPPORT)
             } else if (strcmp("VK_NV_cooperative_matrix2", properties.extensionName) == 0 &&
                        !getenv("GGML_VK_DISABLE_COOPMAT2")) {
                 coopmat2_support = true;
+#endif
 #if defined(GGML_VULKAN_INTEGER_DOT_GLSLC_SUPPORT)
             } else if (strcmp("VK_KHR_shader_integer_dot_product", properties.extensionName) == 0 &&
                        !getenv("GGML_VK_DISABLE_INTEGER_DOT_PRODUCT")) {
                 device->integer_dot_product = true;
 #endif
+#if defined(GGML_VULKAN_BFLOAT16_GLSLC_SUPPORT)
             } else if (strcmp("VK_KHR_shader_bfloat16", properties.extensionName) == 0 &&
                        !getenv("GGML_VK_DISABLE_BFLOAT16")) {
                 bfloat16_support = true;
+#endif
             }
         }