Jim Blandy

Results 85 issues of Jim Blandy

Naga IR should be changed to eliminate the need to bake expressions. Baked expressions are a Naga-specific piece of ugly magic: subexpressions that we identify as needing to be evaluated...

naga
kind: refactor

Naga's SPIR-V back end fails to generate a bounds check for an `AccessIndex` expression that is indexing into a runtime-sized array. For example: ``` [[block]] struct Unsized { arr: array;...

type: bug
area: naga back-end
naga
lang: SPIR-V

Since Arcanization, we've been running into deadlocks at a pretty regular pace. This week's update of wgpu in Firefox exposed two new deadlocks which @nical has debugged and posted fixes...

https://gpuweb.github.io/gpuweb/wgsl/#const-decls

kind: feature
naga
area: naga front-end
lang: WGSL

In the [`createRenderPipeline`](https://gpuweb.github.io/gpuweb/#dom-gpudevice-createrenderpipeline) algorithm, device timeline step 8.1 says: > Set pipeline.[[[writesDepth]]](https://gpuweb.github.io/gpuweb/#dom-gpurenderpipeline-writesdepth-slot) to depthStencil.[depthWriteEnabled](https://gpuweb.github.io/gpuweb/#dom-gpudepthstencilstate-depthwriteenabled). However, [`GPUDepthStencilState.depthWriteEnabled`](https://gpuweb.github.io/gpuweb/#dom-gpudepthstencilstate-depthwriteenabled) is an optional `bool` member without a default value, so it's not clear what...

editorial

`cargo bench` doesn't run to completion at the moment. This fixes the MSL backend, but there are further problems with the HLSL backend.

Introduce a new `Capabilities::BINDING_ARRAY` flag, which enables use of the Naga `TypeInner::BindingArray` type. Adjust tests that exercise binding arrays to pass this flag.

area: validation
type: enhancement

In #5475, we worked around a deadlock by passing a `SnatchGuard` by value to `maintain`. However, this means that `SnatchGuard`s and other kinds of lock guards are not acquired and...

Add a new module `lock::observing`, enabled by the `observe-locks` feature, that records all nested lock acquisitions in trace files. Add a new utility to the workspace, `lock-analyzer`, that reads the...

Change the various uses of `Device::temp_suspected` to correctly recycle its allocations when possible. In the absence of errors, `Device::temp_suspected` is only used as temporary storage within particular function calls, and...