Remove `access_controls` option. The IR backend no-longer uses the `access_control` HLSL option so remove it from the options structure. Change-Id: I936e3ca12324f8ed1e798836937ee59b9697591f Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/263357 Commit-Queue: James Price <jrprice@google.com> Commit-Queue: dan sinclair <dsinclair@chromium.org> Auto-Submit: dan sinclair <dsinclair@chromium.org> Reviewed-by: James Price <jrprice@google.com>
diff --git a/src/dawn/native/d3d12/ShaderModuleD3D12.cpp b/src/dawn/native/d3d12/ShaderModuleD3D12.cpp index e507abd..aa00dbb 100644 --- a/src/dawn/native/d3d12/ShaderModuleD3D12.cpp +++ b/src/dawn/native/d3d12/ShaderModuleD3D12.cpp
@@ -171,7 +171,6 @@ tint::Bindings bindings; std::vector<BindingPoint> ignored_by_robustness; - std::unordered_map<BindingPoint, tint::core::Access> access_controls; const BindingInfoArray& moduleBindingInfo = entryPoint.bindings; for (BindGroupIndex group : layout->GetBindGroupLayoutsMask()) { @@ -245,22 +244,6 @@ [](const InputAttachmentBindingInfo&) { DAWN_UNREACHABLE(); }); } - // WGSL read-only storage buffers are translated to a SRVs in HLSL. However they are - // compatible with read-write storage buffers in BindGroupLayout, in which case we need to - // force use of an UAV by telling Tint that the buffer is read-write. - for (BindingIndex index : bgl->GetBufferIndices()) { - const auto& bindingInfo = bgl->GetBindingInfo(index); - const auto& bufferInfo = std::get<BufferBindingInfo>(bindingInfo.bindingLayout); - - if (bufferInfo.type == wgpu::BufferBindingType::Storage || - bufferInfo.type == kInternalStorageBufferBinding) { - access_controls.emplace( - tint::BindingPoint{.group = uint32_t(group), - .binding = uint32_t(bindingInfo.binding)}, - tint::core::Access::kReadWrite); - } - } - // On D3D12 backend all storage buffers without Dynamic Buffer Offset will always be bound // to root descriptor tables, where D3D12 runtime can guarantee that OOB-read will always // return 0 and OOB-write will always take no action, so we don't need to do robustness @@ -318,7 +301,6 @@ req.hlsl.tintOptions.disable_workgroup_init = device->IsToggleEnabled(Toggle::DisableWorkgroupInit); req.hlsl.tintOptions.bindings = std::move(bindings); - req.hlsl.tintOptions.access_controls = std::move(access_controls); req.hlsl.tintOptions.ignored_by_robustness_transform = std::move(ignored_by_robustness); req.hlsl.tintOptions.compiler = req.bytecode.compiler == d3d::Compiler::FXC
diff --git a/src/tint/lang/hlsl/writer/common/options.h b/src/tint/lang/hlsl/writer/common/options.h index 619c4c3..649944e 100644 --- a/src/tint/lang/hlsl/writer/common/options.h +++ b/src/tint/lang/hlsl/writer/common/options.h
@@ -179,9 +179,6 @@ /// The bindings Bindings bindings; - /// Mapping of BindingPoint to new Access - std::unordered_map<BindingPoint, tint::core::Access> access_controls; - /// The binding points that will be ignored by the rebustness transform. std::vector<BindingPoint> ignored_by_robustness_transform; @@ -213,7 +210,6 @@ first_instance_offset, num_workgroups_start_offset, bindings, - access_controls, ignored_by_robustness_transform, pixel_local); };