From 1b8b8ae5ced882fb2a716290a6578bd3d8397125 Mon Sep 17 00:00:00 2001 From: Chris Mills Date: Thu, 16 Oct 2025 10:22:37 +0100 Subject: [PATCH 1/6] Document the WebGPU primitive-index feature (#41553) --- files/en-us/web/api/gpusupportedfeatures/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/files/en-us/web/api/gpusupportedfeatures/index.md b/files/en-us/web/api/gpusupportedfeatures/index.md index 705fafbd951dee6..1f3aa059d7e594c 100644 --- a/files/en-us/web/api/gpusupportedfeatures/index.md +++ b/files/en-us/web/api/gpusupportedfeatures/index.md @@ -35,6 +35,7 @@ The following additional features are defined in WebGPU. Bear in mind that the e | `float32-blendable` | When enabled, allows [blending](/en-US/docs/Web/API/GPUDevice/createRenderPipeline#blend) of `r32float`-, `rg32float`-, and `rgba32float`-[`format`](/en-US/docs/Web/API/GPUDevice/createTexture#format) {{domxref("GPUTexture")}}s. | | `float32-filterable` | When enabled, allows [filtering](/en-US/docs/Web/API/GPUDevice/createSampler#magfilter) of `r32float`-, `rg32float`-, and `rgba32float`-[`format`](/en-US/docs/Web/API/GPUDevice/createTexture#format) {{domxref("GPUTexture")}}s. | | `indirect-first-instance` | When enabled, allows the use of non-zero `firstInstance` values in the `indirectBuffer` property of the `drawIndirect()` and `drawIndexedIndirect()` methods available on {{domxref("GPURenderPassEncoder")}} and {{domxref("GPURenderBundleEncoder")}} instances. | +| `primitive-index` | When enabled, allows the use of the [`primitive_index`](https://gpuweb.github.io/gpuweb/wgsl/#built-in-values-primitive_index) shader built-in in WSGL. This built-in provides a per-primitive index to fragment shaders on supported hardware, similar to the existing [`vertex_index`](https://gpuweb.github.io/gpuweb/wgsl/#vertex-index-builtin-value) and [`instance_index`](https://gpuweb.github.io/gpuweb/wgsl/#instance-index-builtin-value) built-ins. The `primitive_index` built-in is useful for advanced graphical techniques, such as virtualized geometry. | | `rg11b10ufloat-renderable` | When enabled, allows `RENDER_ATTACHMENT` [`usage`](/en-US/docs/Web/API/GPUDevice/createTexture#usage) of `rg11b10ufloat`-[`format`](/en-US/docs/Web/API/GPUDevice/createTexture#format) {{domxref("GPUTexture")}}s, as well as their blending and multisampling. | | `shader-f16` | When enabled, allows the use of the half-precision floating-point type [`f16`](https://gpuweb.github.io/gpuweb/wgsl/#extension-f16) in WGSL. | | `subgroups` | When enabled, allows the use of [subgroups](https://gpuweb.github.io/gpuweb/wgsl/#extension-subgroups) in WGSL. Subgroups enable SIMD-level parallelism, allowing threads in a workgroup to communicate and execute collective math operations such as calculating a sum of numbers, and offering an efficient method for cross-thread data sharing. Note that the {{domxref("GPUAdapterInfo.subgroupMinSize", "subgroupMinSize")}} and {{domxref("GPUAdapterInfo.subgroupMaxSize", "subgroupMaxSize")}} properties can be useful to check if, for example, you have a hardcoded algorithm that requires a subgroup of a certain size. You can use f16 values with subgroups when you request a GPUDevice with both the `shader-f16` and `subgroups` features. | From 827fdf3b0a52b14af5962cb2c9d3b59e213c2a57 Mon Sep 17 00:00:00 2001 From: Chris Mills Date: Thu, 16 Oct 2025 10:45:25 +0100 Subject: [PATCH 2/6] Add information on removing implicit anchor references (#41545) --- .../forms/customizable_select/index.md | 3 +++ .../en-us/web/api/popover_api/using/index.md | 3 +++ .../web/css/_doublecolon_picker/index.md | 3 +++ .../css/css_anchor_positioning/using/index.md | 24 ++++++++++++++++--- 4 files changed, 30 insertions(+), 3 deletions(-) diff --git a/files/en-us/learn_web_development/extensions/forms/customizable_select/index.md b/files/en-us/learn_web_development/extensions/forms/customizable_select/index.md index 872fa2f799e91c1..d70d2d3d73dd8df 100644 --- a/files/en-us/learn_web_development/extensions/forms/customizable_select/index.md +++ b/files/en-us/learn_web_development/extensions/forms/customizable_select/index.md @@ -390,6 +390,9 @@ In our demo, the position of the picker is set relative to its anchor by using t This results in the top edge of the picker always being positioned 1 pixel down from the bottom edge of the select button, and the left edge of the picker always being positioned `10%` of the select button's width across from its left edge. +> [!NOTE] +> If you want to remove the implicit anchor reference to stop the picker from being anchored to the `` is rendered like this: diff --git a/files/en-us/web/api/popover_api/using/index.md b/files/en-us/web/api/popover_api/using/index.md index 11e81e7d47a4855..5c5201e11426f3e 100644 --- a/files/en-us/web/api/popover_api/using/index.md +++ b/files/en-us/web/api/popover_api/using/index.md @@ -458,6 +458,9 @@ See [Using CSS anchor positioning](/en-US/docs/Web/CSS/CSS_anchor_positioning/Us > [!NOTE] > For an example that uses this implicit association, see our [popover hint demo](https://mdn.github.io/dom-examples/popover-api/popover-hint/) ([source](https://github.com/mdn/dom-examples/tree/main/popover-api/popover-hint)). If you check out the CSS code, you'll see that no explicit anchor associations are made using the {{cssxref("anchor-name")}} and {{cssxref("position-anchor")}} properties. +> [!NOTE] +> If you want to remove the implicit anchor reference to stop the popover from being anchored to its invoker, you can do so by setting the `position-anchor` property of the popover to an anchor name that doesn't exist in the current document, such as `--not-an-anchor-name`. See also [removing an anchor association](/en-US/docs/Web/CSS/CSS_anchor_positioning/Using#removing_an_anchor_association). + ## Animating popovers Popovers are set to `display: none;` when hidden and `display: block;` when shown, as well as being removed from / added to the {{glossary("top layer")}} and the [accessibility tree](/en-US/docs/Web/Performance/Guides/How_browsers_work#building_the_accessibility_tree). Therefore, for popovers to be animated, the {{cssxref("display")}} property needs to be animatable. [Supporting browsers](/en-US/docs/Web/CSS/display#browser_compatibility) animate `display` with a variation on the [discrete animation type](/en-US/docs/Web/CSS/CSS_animated_properties#discrete). Specifically, the browser will flip between `none` and another value of `display` so that the animated content is shown for the entire animation duration. So, for example: diff --git a/files/en-us/web/css/_doublecolon_picker/index.md b/files/en-us/web/css/_doublecolon_picker/index.md index 321389084ff811c..dd48fdee7d71c70 100644 --- a/files/en-us/web/css/_doublecolon_picker/index.md +++ b/files/en-us/web/css/_doublecolon_picker/index.md @@ -70,6 +70,9 @@ A further side-effect of the implicit invoker/popover relationship mentioned abo block-start span-inline-start; ``` +> [!NOTE] +> If you want to remove the implicit anchor reference to stop the picker from being anchored to the `` element's picker from being anchored to the `