Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,19 @@ Bottom level categories:

## Unreleased

### Major Changes

#### `EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE` has been merged into `EXPERIMENTAL_RAY_QUERY`

We have merged the acceleration structure feature into the `RayQuery` feature. This is to help work around an AMD driver bug and reduce the feature complexity of ray tracing. In the future when ray tracing pipelines are implemented, if either feature is enabled, acceleration structures will be available.

```diff
- Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE
+ Features::EXPERIMENTAL_RAY_QUERY
```

By @Vecvec in [#7913](https://github.com/gfx-rs/wgpu/pull/7913).

### Bug Fixes

#### General
Expand Down
5 changes: 4 additions & 1 deletion docs/api-specs/ray_tracing.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
🧪Experimental🧪

`wgpu` supports an experimental version of ray tracing which is subject to change. The extensions allow for acceleration structures to be created and built (with
`Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE` enabled) and interacted with in shaders. Currently `naga` only supports ray queries
`Features::EXPERIMENTAL_RAY_QUERY` enabled) and interacted with in shaders. Currently `naga` only supports ray queries
(accessible with `Features::EXPERIMENTAL_RAY_QUERY` enabled in wgpu).

**Note**: The features documented here may have major bugs in them and are expected to be subject
Expand All @@ -18,6 +18,9 @@ an [introduction](https://developer.nvidia.com/blog/introduction-nvidia-rtx-dire
The documentation and specific details of the functions and structures provided
can be found with their definitions.

Acceleration structures do not have a separate feature, instead they are enabled by `Features::EXPERIMENTAL_RAY_QUERY`, unlike vulkan.
When ray tracing pipelines are added, that feature will also enable acceleration structures.

A [`Blas`] can be created with [`Device::create_blas`].
A [`Tlas`] can be created with [`Device::create_tlas`].

Expand Down
1 change: 0 additions & 1 deletion examples/features/src/ray_cube_compute/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,6 @@ impl crate::framework::Example for Example {
wgpu::Features::TEXTURE_BINDING_ARRAY
| wgpu::Features::VERTEX_WRITABLE_STORAGE
| wgpu::Features::EXPERIMENTAL_RAY_QUERY
| wgpu::Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE
}

fn required_downlevel_capabilities() -> wgpu::DownlevelCapabilities {
Expand Down
1 change: 0 additions & 1 deletion examples/features/src/ray_cube_fragment/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,6 @@ struct Example {
impl crate::framework::Example for Example {
fn required_features() -> wgpu::Features {
wgpu::Features::EXPERIMENTAL_RAY_QUERY
| wgpu::Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE
}

fn required_downlevel_capabilities() -> wgpu::DownlevelCapabilities {
Expand Down
4 changes: 1 addition & 3 deletions examples/features/src/ray_cube_normals/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -133,9 +133,7 @@ impl crate::framework::Example for Example {
// Don't want srgb, so normals show up better.
const SRGB: bool = false;
fn required_features() -> wgpu::Features {
wgpu::Features::EXPERIMENTAL_RAY_QUERY
| wgpu::Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE
| wgpu::Features::EXPERIMENTAL_RAY_HIT_VERTEX_RETURN
wgpu::Features::EXPERIMENTAL_RAY_QUERY | wgpu::Features::EXPERIMENTAL_RAY_HIT_VERTEX_RETURN
}

fn required_downlevel_capabilities() -> wgpu::DownlevelCapabilities {
Expand Down
1 change: 0 additions & 1 deletion examples/features/src/ray_scene/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,6 @@ struct Example {
impl crate::framework::Example for Example {
fn required_features() -> wgpu::Features {
wgpu::Features::EXPERIMENTAL_RAY_QUERY
| wgpu::Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE
}

fn required_downlevel_capabilities() -> wgpu::DownlevelCapabilities {
Expand Down
4 changes: 1 addition & 3 deletions examples/features/src/ray_shadows/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -104,9 +104,7 @@ fn create_matrix(config: &wgpu::SurfaceConfiguration) -> Uniforms {

impl crate::framework::Example for Example {
fn required_features() -> wgpu::Features {
wgpu::Features::EXPERIMENTAL_RAY_QUERY
| wgpu::Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE
| wgpu::Features::PUSH_CONSTANTS
wgpu::Features::EXPERIMENTAL_RAY_QUERY | wgpu::Features::PUSH_CONSTANTS
}

fn required_downlevel_capabilities() -> wgpu::DownlevelCapabilities {
Expand Down
3 changes: 1 addition & 2 deletions examples/features/src/ray_traced_triangle/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,7 @@ struct Uniforms {

impl crate::framework::Example for Example {
fn required_features() -> wgpu::Features {
wgpu::Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE
| wgpu::Features::EXPERIMENTAL_RAY_QUERY
wgpu::Features::EXPERIMENTAL_RAY_QUERY
}

fn required_limits() -> wgpu::Limits {
Expand Down
8 changes: 2 additions & 6 deletions tests/tests/wgpu-gpu/oom.rs
Original file line number Diff line number Diff line change
Expand Up @@ -159,10 +159,8 @@ static QUERY_SET_OOM_TEST: GpuTestConfiguration = GpuTestConfiguration::new()
static BLAS_OOM_TEST: GpuTestConfiguration = GpuTestConfiguration::new()
.parameters(
TestParameters::default()
.features(Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE)
.features(Features::EXPERIMENTAL_RAY_QUERY)
.skip(FailureCase::backend(!OOM_DETECTION_IMPL))
// https://github.com/gfx-rs/wgpu/issues/6727
.skip(FailureCase::backend_adapter(Backends::VULKAN, "AMD"))
// see comment at the top of the file
.skip(FailureCase::backend_adapter(Backends::VULKAN, "llvmpipe")),
)
Expand Down Expand Up @@ -203,10 +201,8 @@ static BLAS_OOM_TEST: GpuTestConfiguration = GpuTestConfiguration::new()
static TLAS_OOM_TEST: GpuTestConfiguration = GpuTestConfiguration::new()
.parameters(
TestParameters::default()
.features(Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE)
.features(Features::EXPERIMENTAL_RAY_QUERY)
.skip(FailureCase::backend(!OOM_DETECTION_IMPL))
// https://github.com/gfx-rs/wgpu/issues/6727
.skip(FailureCase::backend_adapter(Backends::VULKAN, "AMD"))
// see comment at the top of the file
.skip(FailureCase::backend_adapter(Backends::VULKAN, "llvmpipe")),
)
Expand Down
69 changes: 18 additions & 51 deletions tests/tests/wgpu-gpu/ray_tracing/as_build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,15 @@ use std::iter;
use crate::ray_tracing::{acceleration_structure_limits, AsBuildContext};
use wgpu::util::{BufferInitDescriptor, DeviceExt};
use wgpu::*;
use wgpu_test::{
fail, fail_if, gpu_test, FailureCase, GpuTestConfiguration, TestParameters, TestingContext,
};
use wgpu_test::{fail, fail_if, gpu_test, GpuTestConfiguration, TestParameters, TestingContext};

#[gpu_test]
static UNBUILT_BLAS: GpuTestConfiguration = GpuTestConfiguration::new()
.parameters(
TestParameters::default()
.test_features_limits()
.limits(acceleration_structure_limits())
.features(wgpu::Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE)
// https://github.com/gfx-rs/wgpu/issues/6727
.skip(FailureCase::backend_adapter(wgpu::Backends::VULKAN, "AMD")),
.features(wgpu::Features::EXPERIMENTAL_RAY_QUERY),
)
.run_sync(unbuilt_blas);

Expand Down Expand Up @@ -48,9 +44,7 @@ static UNBUILT_BLAS_COMPACTION: GpuTestConfiguration = GpuTestConfiguration::new
TestParameters::default()
.test_features_limits()
.limits(acceleration_structure_limits())
.features(wgpu::Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE)
// https://github.com/gfx-rs/wgpu/issues/6727
.skip(FailureCase::backend_adapter(wgpu::Backends::VULKAN, "AMD")),
.features(wgpu::Features::EXPERIMENTAL_RAY_QUERY),
)
.run_sync(unbuilt_blas_compaction);

Expand All @@ -77,9 +71,7 @@ static BLAS_COMPACTION_WITHOUT_FLAGS: GpuTestConfiguration = GpuTestConfiguratio
TestParameters::default()
.test_features_limits()
.limits(acceleration_structure_limits())
.features(wgpu::Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE)
// https://github.com/gfx-rs/wgpu/issues/6727
.skip(FailureCase::backend_adapter(wgpu::Backends::VULKAN, "AMD")),
.features(wgpu::Features::EXPERIMENTAL_RAY_QUERY),
)
.run_sync(blas_compaction_without_flags);

Expand Down Expand Up @@ -114,9 +106,7 @@ static UNPREPARED_BLAS_COMPACTION: GpuTestConfiguration = GpuTestConfiguration::
TestParameters::default()
.test_features_limits()
.limits(acceleration_structure_limits())
.features(wgpu::Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE)
// https://github.com/gfx-rs/wgpu/issues/6727
.skip(FailureCase::backend_adapter(wgpu::Backends::VULKAN, "AMD")),
.features(wgpu::Features::EXPERIMENTAL_RAY_QUERY),
)
.run_sync(unprepared_blas_compaction);

Expand Down Expand Up @@ -144,9 +134,7 @@ static BLAS_COMPACTION: GpuTestConfiguration = GpuTestConfiguration::new()
TestParameters::default()
.test_features_limits()
.limits(acceleration_structure_limits())
.features(wgpu::Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE)
// https://github.com/gfx-rs/wgpu/issues/6727
.skip(FailureCase::backend_adapter(wgpu::Backends::VULKAN, "AMD")),
.features(wgpu::Features::EXPERIMENTAL_RAY_QUERY),
)
.run_sync(blas_compaction);

Expand Down Expand Up @@ -203,9 +191,7 @@ static OUT_OF_ORDER_AS_BUILD: GpuTestConfiguration = GpuTestConfiguration::new()
TestParameters::default()
.test_features_limits()
.limits(acceleration_structure_limits())
.features(wgpu::Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE)
// https://github.com/gfx-rs/wgpu/issues/6727
.skip(FailureCase::backend_adapter(wgpu::Backends::VULKAN, "AMD")),
.features(wgpu::Features::EXPERIMENTAL_RAY_QUERY),
)
.run_sync(out_of_order_as_build);

Expand Down Expand Up @@ -287,12 +273,7 @@ static OUT_OF_ORDER_AS_BUILD_USE: GpuTestConfiguration = GpuTestConfiguration::n
TestParameters::default()
.test_features_limits()
.limits(acceleration_structure_limits())
.features(
wgpu::Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE
| wgpu::Features::EXPERIMENTAL_RAY_QUERY,
)
// https://github.com/gfx-rs/wgpu/issues/6727
.skip(FailureCase::backend_adapter(wgpu::Backends::VULKAN, "AMD")),
.features(wgpu::Features::EXPERIMENTAL_RAY_QUERY),
)
.run_sync(out_of_order_as_build_use);

Expand Down Expand Up @@ -474,7 +455,7 @@ static EMPTY_BUILD: GpuTestConfiguration = GpuTestConfiguration::new()
TestParameters::default()
.test_features_limits()
.limits(acceleration_structure_limits())
.features(wgpu::Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE),
.features(wgpu::Features::EXPERIMENTAL_RAY_QUERY),
)
.run_sync(empty_build);
fn empty_build(ctx: TestingContext) {
Expand All @@ -495,9 +476,7 @@ static BUILD_WITH_TRANSFORM: GpuTestConfiguration = GpuTestConfiguration::new()
TestParameters::default()
.test_features_limits()
.limits(acceleration_structure_limits())
.features(wgpu::Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE)
// https://github.com/gfx-rs/wgpu/issues/6727
.skip(FailureCase::backend_adapter(wgpu::Backends::VULKAN, "AMD")),
.features(wgpu::Features::EXPERIMENTAL_RAY_QUERY),
)
.run_sync(build_with_transform);

Expand Down Expand Up @@ -583,12 +562,9 @@ static ONLY_BLAS_VERTEX_RETURN: GpuTestConfiguration = GpuTestConfiguration::new
.test_features_limits()
.limits(acceleration_structure_limits())
.features(
wgpu::Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE
| wgpu::Features::EXPERIMENTAL_RAY_QUERY
wgpu::Features::EXPERIMENTAL_RAY_QUERY
| wgpu::Features::EXPERIMENTAL_RAY_HIT_VERTEX_RETURN,
)
// https://github.com/gfx-rs/wgpu/issues/6727
.skip(FailureCase::backend_adapter(wgpu::Backends::VULKAN, "AMD")),
),
)
.run_sync(only_blas_vertex_return);

Expand Down Expand Up @@ -710,12 +686,9 @@ static ONLY_TLAS_VERTEX_RETURN: GpuTestConfiguration = GpuTestConfiguration::new
.test_features_limits()
.limits(acceleration_structure_limits())
.features(
wgpu::Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE
| wgpu::Features::EXPERIMENTAL_RAY_QUERY
wgpu::Features::EXPERIMENTAL_RAY_QUERY
| wgpu::Features::EXPERIMENTAL_RAY_HIT_VERTEX_RETURN,
)
// https://github.com/gfx-rs/wgpu/issues/6727
.skip(FailureCase::backend_adapter(wgpu::Backends::VULKAN, "AMD")),
),
)
.run_sync(only_tlas_vertex_return);

Expand Down Expand Up @@ -752,11 +725,9 @@ static EXTRA_FORMAT_BUILD: GpuTestConfiguration = GpuTestConfiguration::new()
.test_features_limits()
.limits(acceleration_structure_limits())
.features(
wgpu::Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE
wgpu::Features::EXPERIMENTAL_RAY_QUERY
| wgpu::Features::EXTENDED_ACCELERATION_STRUCTURE_VERTEX_FORMATS,
)
// https://github.com/gfx-rs/wgpu/issues/6727
.skip(FailureCase::backend_adapter(wgpu::Backends::VULKAN, "AMD")),
),
)
.run_sync(|ctx| test_as_build_format_stride(ctx, VertexFormat::Snorm16x4, 6, false));

Expand All @@ -766,9 +737,7 @@ static MISALIGNED_BUILD: GpuTestConfiguration = GpuTestConfiguration::new()
TestParameters::default()
.test_features_limits()
.limits(acceleration_structure_limits())
.features(wgpu::Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE)
// https://github.com/gfx-rs/wgpu/issues/6727
.skip(FailureCase::backend_adapter(wgpu::Backends::VULKAN, "AMD")),
.features(wgpu::Features::EXPERIMENTAL_RAY_QUERY),
)
// Larger than the minimum size, but not aligned as required
.run_sync(|ctx| test_as_build_format_stride(ctx, VertexFormat::Float32x3, 13, true));
Expand All @@ -779,9 +748,7 @@ static TOO_SMALL_STRIDE_BUILD: GpuTestConfiguration = GpuTestConfiguration::new(
TestParameters::default()
.test_features_limits()
.limits(acceleration_structure_limits())
.features(wgpu::Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE)
// https://github.com/gfx-rs/wgpu/issues/6727
.skip(FailureCase::backend_adapter(wgpu::Backends::VULKAN, "AMD")),
.features(wgpu::Features::EXPERIMENTAL_RAY_QUERY),
)
// Aligned as required, but smaller than minimum size
.run_sync(|ctx| test_as_build_format_stride(ctx, VertexFormat::Float32x3, 8, true));
Expand Down
4 changes: 2 additions & 2 deletions tests/tests/wgpu-gpu/ray_tracing/as_create.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ static BLAS_INVALID_VERTEX_FORMAT: GpuTestConfiguration = GpuTestConfiguration::
TestParameters::default()
.test_features_limits()
.limits(acceleration_structure_limits())
.features(wgpu::Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE),
.features(wgpu::Features::EXPERIMENTAL_RAY_QUERY),
)
.run_sync(invalid_vertex_format_blas_create);

Expand Down Expand Up @@ -55,7 +55,7 @@ static BLAS_MISMATCHED_INDEX: GpuTestConfiguration = GpuTestConfiguration::new()
TestParameters::default()
.test_features_limits()
.limits(acceleration_structure_limits())
.features(wgpu::Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE),
.features(wgpu::Features::EXPERIMENTAL_RAY_QUERY),
)
.run_sync(mismatched_index_blas_create);

Expand Down
7 changes: 2 additions & 5 deletions tests/tests/wgpu-gpu/ray_tracing/as_use_after_free.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,10 @@ use wgpu::{
PollType, TlasInstance, VertexFormat,
};
use wgpu_macros::gpu_test;
use wgpu_test::{FailureCase, GpuTestConfiguration, TestParameters, TestingContext};
use wgpu_test::{GpuTestConfiguration, TestParameters, TestingContext};

fn required_features() -> wgpu::Features {
wgpu::Features::EXPERIMENTAL_RAY_QUERY
| wgpu::Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE
}

/// This test creates a blas, puts a reference to it in a tlas instance inside a tlas package,
Expand Down Expand Up @@ -147,8 +146,6 @@ static ACCELERATION_STRUCTURE_USE_AFTER_FREE: GpuTestConfiguration = GpuTestConf
TestParameters::default()
.test_features_limits()
.limits(acceleration_structure_limits())
.features(required_features())
// https://github.com/gfx-rs/wgpu/issues/6727
.skip(FailureCase::backend_adapter(wgpu::Backends::VULKAN, "AMD")),
.features(required_features()),
)
.run_sync(acceleration_structure_use_after_free);
6 changes: 2 additions & 4 deletions tests/tests/wgpu-gpu/ray_tracing/limits.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ use wgpu::{
ShaderStages, VertexFormat,
};
use wgpu_macros::gpu_test;
use wgpu_test::{fail, FailureCase, GpuTestConfiguration, TestParameters, TestingContext};
use wgpu_test::{fail, GpuTestConfiguration, TestParameters, TestingContext};

#[gpu_test]
static LIMITS_HIT: GpuTestConfiguration = GpuTestConfiguration::new()
Expand All @@ -22,9 +22,7 @@ static LIMITS_HIT: GpuTestConfiguration = GpuTestConfiguration::new()
max_acceleration_structures_per_shader_stage: 1,
..Limits::default()
})
.features(wgpu::Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE)
// https://github.com/gfx-rs/wgpu/issues/6727
.skip(FailureCase::backend_adapter(wgpu::Backends::VULKAN, "AMD")),
.features(wgpu::Features::EXPERIMENTAL_RAY_QUERY),
)
.run_sync(hit_limits);

Expand Down
10 changes: 3 additions & 7 deletions tests/tests/wgpu-gpu/ray_tracing/scene/mod.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use std::{iter, mem};

use wgpu_test::{gpu_test, FailureCase, GpuTestConfiguration, TestParameters, TestingContext};
use wgpu_test::{gpu_test, GpuTestConfiguration, TestParameters, TestingContext};

use wgpu::util::DeviceExt;

Expand Down Expand Up @@ -103,9 +103,7 @@ static ACCELERATION_STRUCTURE_BUILD_NO_INDEX: GpuTestConfiguration = GpuTestConf
TestParameters::default()
.test_features_limits()
.limits(acceleration_structure_limits())
.features(wgpu::Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE)
// https://github.com/gfx-rs/wgpu/issues/6727
.skip(FailureCase::backend_adapter(wgpu::Backends::VULKAN, "AMD")),
.features(wgpu::Features::EXPERIMENTAL_RAY_QUERY),
)
.run_sync(|ctx| {
acceleration_structure_build(&ctx, false);
Expand All @@ -117,9 +115,7 @@ static ACCELERATION_STRUCTURE_BUILD_WITH_INDEX: GpuTestConfiguration = GpuTestCo
TestParameters::default()
.test_features_limits()
.limits(acceleration_structure_limits())
.features(wgpu::Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE)
// https://github.com/gfx-rs/wgpu/issues/6727
.skip(FailureCase::backend_adapter(wgpu::Backends::VULKAN, "AMD")),
.features(wgpu::Features::EXPERIMENTAL_RAY_QUERY),
)
.run_sync(|ctx| {
acceleration_structure_build(&ctx, true);
Expand Down
5 changes: 1 addition & 4 deletions tests/tests/wgpu-gpu/ray_tracing/shader.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,7 @@ static ACCESS_ALL_STRUCT_MEMBERS: GpuTestConfiguration = GpuTestConfiguration::n
TestParameters::default()
.test_features_limits()
.limits(acceleration_structure_limits())
.features(
wgpu::Features::EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTURE
| wgpu::Features::EXPERIMENTAL_RAY_QUERY,
),
.features(wgpu::Features::EXPERIMENTAL_RAY_QUERY),
)
.run_sync(access_all_struct_members);

Expand Down
Loading
Loading