Skip to content

Commit

Permalink
docs: note that GPU_BASED_VALIDATION implies VALIDATION
Browse files Browse the repository at this point in the history
  • Loading branch information
ErichDonGubler committed Feb 9, 2024
1 parent 6d69ebd commit fcaad33
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 3 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ Bottom level categories:
- `wgpu-types`'s `trace` and `replay` features have been replaced by the `serde` feature. By @KirmesBude in [#5149](https://github.com/gfx-rs/wgpu/pull/5149)
- `wgpu-core`'s `serial-pass` feature has been removed. Use `serde` instead. By @KirmesBude in [#5149](https://github.com/gfx-rs/wgpu/pull/5149)
- Added `InstanceFlags::GPU_BASED_VALIDATION`, which enables GPU-based validation for shaders. This is currently only supported on the DX12 and Vulkan backends; other platforms ignore this flag, for now.
- When set, this flag implies `InstanceFlags::VALIDATION`.
- This has been added to the set of flags set by `InstanceFlags::debugging` and `InstanceFlags::from_build_config`. If you notice your graphics workloads running more slowly, this may be the culprit.
- As with other instance flags, this flag can be changed in calls to `InstanceFlags::with_env` with the new `WGPU_GPU_BASED_VALIDATION` environment variable.

Expand Down
18 changes: 17 additions & 1 deletion examples/src/water/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -826,7 +826,23 @@ static TEST: crate::framework::ExampleTestParams = crate::framework::ExampleTest
height: 768,
optional_features: wgpu::Features::default(),
base_test_parameters: wgpu_test::TestParameters::default()
.downlevel_flags(wgpu::DownlevelFlags::READ_ONLY_DEPTH_STENCIL),
.downlevel_flags(wgpu::DownlevelFlags::READ_ONLY_DEPTH_STENCIL)
// To be fixed in <https://github.com/gfx-rs/wgpu/issues/5231>.
.expect_fail(wgpu_test::FailureCase {
backends: Some(wgpu::Backends::VULKAN),
reasons: vec![wgpu_test::FailureReason::validation_error().with_message(concat!(
"vkCmdEndRenderPass: ",
"Hazard WRITE_AFTER_READ in subpass 0 for attachment 1 depth aspect ",
"during store with storeOp VK_ATTACHMENT_STORE_OP_STORE. ",
"Access info (",
"usage: SYNC_LATE_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_WRITE, ",
"prior_usage: SYNC_FRAGMENT_SHADER_SHADER_SAMPLED_READ, ",
"read_barriers: VkPipelineStageFlags2(0), ",
"command: vkCmdDraw"
))],
behavior: wgpu_test::FailureBehavior::AssertFailure,
..Default::default()
}),
comparisons: &[wgpu_test::ComparisonType::Mean(0.01)],
_phantom: std::marker::PhantomData::<Example>,
};
4 changes: 2 additions & 2 deletions wgpu-types/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -904,8 +904,8 @@ bitflags::bitflags! {
/// This mainly applies to a Vulkan driver's compliance version. If the major compliance version
/// is `0`, then the driver is ignored. This flag allows that driver to be enabled for testing.
const ALLOW_UNDERLYING_NONCOMPLIANT_ADAPTER = 1 << 3;
/// Enable GPU-based validation. Currently, this only changes behavior on the DX12 and
/// Vulkan backends.
/// Enable GPU-based validation. Implies [`Self::VALIDATION`]. Currently, this only changes
/// behavior on the DX12 and Vulkan backends.
///
/// Supported platforms:
///
Expand Down

0 comments on commit fcaad33

Please sign in to comment.