intrinsics.def: Add atomic intrinsics
Change-Id: I26a9ce9e1978aa2542ce2b3f17c9f5861e556a8a Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/54657 Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: David Neto <dneto@google.com>
This commit is contained in:
parent
433b4ec60d
commit
6a77236d8c
|
@ -20,6 +20,7 @@
|
|||
#include <utility>
|
||||
|
||||
#include "src/program_builder.h"
|
||||
#include "src/sem/atomic_type.h"
|
||||
#include "src/sem/depth_texture_type.h"
|
||||
#include "src/sem/external_texture_type.h"
|
||||
#include "src/sem/multisampled_texture_type.h"
|
||||
|
@ -457,6 +458,23 @@ const sem::Pointer* build_ptr(MatchState& state,
|
|||
static_cast<ast::Access>(A.Value()));
|
||||
}
|
||||
|
||||
bool match_atomic(const sem::Type* ty, const sem::Type*& T) {
|
||||
if (ty->Is<Any>()) {
|
||||
T = ty;
|
||||
return true;
|
||||
}
|
||||
|
||||
if (auto* a = ty->As<sem::Atomic>()) {
|
||||
T = a->Type();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
const sem::Atomic* build_atomic(MatchState& state, const sem::Type* T) {
|
||||
return state.builder.create<sem::Atomic>(T);
|
||||
}
|
||||
|
||||
bool match_sampler(const sem::Type* ty) {
|
||||
if (ty->Is<Any>()) {
|
||||
return true;
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -75,6 +75,7 @@ type vec4<T>
|
|||
[[display("vec{N}<{T}>")]] type vec<N: num, T>
|
||||
[[display("mat{N}x{M}<{T}>")]] type mat<N: num, M: num, T>
|
||||
type ptr<S: storage_class, T, A: access>
|
||||
type atomic<T>
|
||||
type array<T>
|
||||
type sampler
|
||||
type sampler_comparison
|
||||
|
@ -124,6 +125,7 @@ match u32_texel_format:
|
|||
match read_or_write: read | write
|
||||
|
||||
match function_private_workgroup: function | private | workgroup
|
||||
match workgroup_or_storage: workgroup | storage
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Intrinsic Functions //
|
||||
|
@ -517,3 +519,14 @@ fn textureLoad(texture: texture_storage_2d<u32_texel_format, read>, coords: vec2
|
|||
fn textureLoad(texture: texture_storage_2d_array<u32_texel_format, read>, coords: vec2<i32>, array_index: i32) -> vec4<u32>
|
||||
fn textureLoad(texture: texture_storage_3d<u32_texel_format, read>, coords: vec3<i32>) -> vec4<u32>
|
||||
fn textureLoad(texture: texture_external, coords: vec2<i32>) -> vec4<f32>
|
||||
|
||||
[[stage("fragment", "compute")]] fn atomicLoad<T: iu32, S: workgroup_or_storage>(ptr<S, atomic<T>, read_write>) -> T
|
||||
[[stage("fragment", "compute")]] fn atomicStore<T: iu32, S: workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T)
|
||||
[[stage("fragment", "compute")]] fn atomicAdd<T: iu32, S: workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T
|
||||
[[stage("fragment", "compute")]] fn atomicMax<T: iu32, S: workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T
|
||||
[[stage("fragment", "compute")]] fn atomicMin<T: iu32, S: workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T
|
||||
[[stage("fragment", "compute")]] fn atomicAnd<T: iu32, S: workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T
|
||||
[[stage("fragment", "compute")]] fn atomicOr<T: iu32, S: workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T
|
||||
[[stage("fragment", "compute")]] fn atomicXor<T: iu32, S: workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T
|
||||
[[stage("fragment", "compute")]] fn atomicExchange<T: iu32, S: workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T) -> T
|
||||
[[stage("fragment", "compute")]] fn atomicCompareExchangeWeak<T: iu32, S: workgroup_or_storage>(ptr<S, atomic<T>, read_write>, T, T) -> vec2<T>
|
||||
|
|
|
@ -289,6 +289,36 @@ IntrinsicType ParseIntrinsicType(const std::string& name) {
|
|||
if (name == "textureLoad") {
|
||||
return IntrinsicType::kTextureLoad;
|
||||
}
|
||||
if (name == "atomicLoad") {
|
||||
return IntrinsicType::kAtomicLoad;
|
||||
}
|
||||
if (name == "atomicStore") {
|
||||
return IntrinsicType::kAtomicStore;
|
||||
}
|
||||
if (name == "atomicAdd") {
|
||||
return IntrinsicType::kAtomicAdd;
|
||||
}
|
||||
if (name == "atomicMax") {
|
||||
return IntrinsicType::kAtomicMax;
|
||||
}
|
||||
if (name == "atomicMin") {
|
||||
return IntrinsicType::kAtomicMin;
|
||||
}
|
||||
if (name == "atomicAnd") {
|
||||
return IntrinsicType::kAtomicAnd;
|
||||
}
|
||||
if (name == "atomicOr") {
|
||||
return IntrinsicType::kAtomicOr;
|
||||
}
|
||||
if (name == "atomicXor") {
|
||||
return IntrinsicType::kAtomicXor;
|
||||
}
|
||||
if (name == "atomicExchange") {
|
||||
return IntrinsicType::kAtomicExchange;
|
||||
}
|
||||
if (name == "atomicCompareExchangeWeak") {
|
||||
return IntrinsicType::kAtomicCompareExchangeWeak;
|
||||
}
|
||||
return IntrinsicType::kNone;
|
||||
}
|
||||
|
||||
|
@ -470,6 +500,26 @@ const char* str(IntrinsicType i) {
|
|||
return "textureStore";
|
||||
case IntrinsicType::kTextureLoad:
|
||||
return "textureLoad";
|
||||
case IntrinsicType::kAtomicLoad:
|
||||
return "atomicLoad";
|
||||
case IntrinsicType::kAtomicStore:
|
||||
return "atomicStore";
|
||||
case IntrinsicType::kAtomicAdd:
|
||||
return "atomicAdd";
|
||||
case IntrinsicType::kAtomicMax:
|
||||
return "atomicMax";
|
||||
case IntrinsicType::kAtomicMin:
|
||||
return "atomicMin";
|
||||
case IntrinsicType::kAtomicAnd:
|
||||
return "atomicAnd";
|
||||
case IntrinsicType::kAtomicOr:
|
||||
return "atomicOr";
|
||||
case IntrinsicType::kAtomicXor:
|
||||
return "atomicXor";
|
||||
case IntrinsicType::kAtomicExchange:
|
||||
return "atomicExchange";
|
||||
case IntrinsicType::kAtomicCompareExchangeWeak:
|
||||
return "atomicCompareExchangeWeak";
|
||||
}
|
||||
return "<unknown>";
|
||||
}
|
||||
|
|
|
@ -120,6 +120,16 @@ enum class IntrinsicType {
|
|||
kTextureSampleLevel,
|
||||
kTextureStore,
|
||||
kTextureLoad,
|
||||
kAtomicLoad,
|
||||
kAtomicStore,
|
||||
kAtomicAdd,
|
||||
kAtomicMax,
|
||||
kAtomicMin,
|
||||
kAtomicAnd,
|
||||
kAtomicOr,
|
||||
kAtomicXor,
|
||||
kAtomicExchange,
|
||||
kAtomicCompareExchangeWeak,
|
||||
};
|
||||
|
||||
/// Matches the IntrinsicType by name
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
// Copyright 2021 The Tint Authors.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// File generated by tools/intrinsic-gen
|
||||
// using the template:
|
||||
// test/intrinsics/intrinsics.wgsl.tmpl
|
||||
// and the intrinsic defintion file:
|
||||
// src/intrinsics.def
|
||||
//
|
||||
// Do not modify this file directly
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var<workgroup> arg_0: atomic<i32>;
|
||||
|
||||
// fn atomicAdd(ptr<workgroup, atomic<i32>, read_write>, i32) -> i32
|
||||
fn atomicAdd_794055() {
|
||||
var res: i32 = atomicAdd(&arg_0, 1);
|
||||
}
|
||||
|
||||
[[stage(compute)]]
|
||||
fn compute_main() {
|
||||
atomicAdd_794055();
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType
|
|
@ -0,0 +1,10 @@
|
|||
SKIP: FAILED
|
||||
|
||||
../src/transform/transform.cc:133 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::sem::Atomic
|
||||
********************************************************************
|
||||
* The tint shader compiler has encountered an unexpected error. *
|
||||
* *
|
||||
* Please help us fix this issue by submitting a bug report at *
|
||||
* crbug.com/tint with the source program that triggered the bug. *
|
||||
********************************************************************
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: unable to convert type: __atomic__i32
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType: __atomic__i32
|
|
@ -0,0 +1,44 @@
|
|||
// Copyright 2021 The Tint Authors.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// File generated by tools/intrinsic-gen
|
||||
// using the template:
|
||||
// test/intrinsics/intrinsics.wgsl.tmpl
|
||||
// and the intrinsic defintion file:
|
||||
// src/intrinsics.def
|
||||
//
|
||||
// Do not modify this file directly
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0: atomic<u32>;
|
||||
};
|
||||
[[group(0), binding(0)]] var<storage, read_write> sb_rw : SB_RW;
|
||||
|
||||
// fn atomicAdd(ptr<storage, atomic<u32>, read_write>, u32) -> u32
|
||||
fn atomicAdd_8a199a() {
|
||||
var res: u32 = atomicAdd(&sb_rw.arg_0, 1u);
|
||||
}
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn fragment_main() {
|
||||
atomicAdd_8a199a();
|
||||
}
|
||||
|
||||
[[stage(compute)]]
|
||||
fn compute_main() {
|
||||
atomicAdd_8a199a();
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
SKIP: FAILED
|
||||
|
||||
../src/transform/transform.cc:133 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::sem::Atomic
|
||||
********************************************************************
|
||||
* The tint shader compiler has encountered an unexpected error. *
|
||||
* *
|
||||
* Please help us fix this issue by submitting a bug report at *
|
||||
* crbug.com/tint with the source program that triggered the bug. *
|
||||
********************************************************************
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType: __atomic__u32
|
|
@ -0,0 +1,7 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0 :
|
||||
Failed to generate: unable to convert type: __atomic__u32
|
|
@ -0,0 +1,7 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType: __atomic__u32
|
|
@ -0,0 +1,44 @@
|
|||
// Copyright 2021 The Tint Authors.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// File generated by tools/intrinsic-gen
|
||||
// using the template:
|
||||
// test/intrinsics/intrinsics.wgsl.tmpl
|
||||
// and the intrinsic defintion file:
|
||||
// src/intrinsics.def
|
||||
//
|
||||
// Do not modify this file directly
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0: atomic<i32>;
|
||||
};
|
||||
[[group(0), binding(0)]] var<storage, read_write> sb_rw : SB_RW;
|
||||
|
||||
// fn atomicAdd(ptr<storage, atomic<i32>, read_write>, i32) -> i32
|
||||
fn atomicAdd_d32fe4() {
|
||||
var res: i32 = atomicAdd(&sb_rw.arg_0, 1);
|
||||
}
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn fragment_main() {
|
||||
atomicAdd_d32fe4();
|
||||
}
|
||||
|
||||
[[stage(compute)]]
|
||||
fn compute_main() {
|
||||
atomicAdd_d32fe4();
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
SKIP: FAILED
|
||||
|
||||
../src/transform/transform.cc:133 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::sem::Atomic
|
||||
********************************************************************
|
||||
* The tint shader compiler has encountered an unexpected error. *
|
||||
* *
|
||||
* Please help us fix this issue by submitting a bug report at *
|
||||
* crbug.com/tint with the source program that triggered the bug. *
|
||||
********************************************************************
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType: __atomic__i32
|
|
@ -0,0 +1,7 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0 :
|
||||
Failed to generate: unable to convert type: __atomic__i32
|
|
@ -0,0 +1,7 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType: __atomic__i32
|
|
@ -0,0 +1,35 @@
|
|||
// Copyright 2021 The Tint Authors.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// File generated by tools/intrinsic-gen
|
||||
// using the template:
|
||||
// test/intrinsics/intrinsics.wgsl.tmpl
|
||||
// and the intrinsic defintion file:
|
||||
// src/intrinsics.def
|
||||
//
|
||||
// Do not modify this file directly
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var<workgroup> arg_0: atomic<u32>;
|
||||
|
||||
// fn atomicAdd(ptr<workgroup, atomic<u32>, read_write>, u32) -> u32
|
||||
fn atomicAdd_d5db1d() {
|
||||
var res: u32 = atomicAdd(&arg_0, 1u);
|
||||
}
|
||||
|
||||
[[stage(compute)]]
|
||||
fn compute_main() {
|
||||
atomicAdd_d5db1d();
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType
|
|
@ -0,0 +1,10 @@
|
|||
SKIP: FAILED
|
||||
|
||||
../src/transform/transform.cc:133 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::sem::Atomic
|
||||
********************************************************************
|
||||
* The tint shader compiler has encountered an unexpected error. *
|
||||
* *
|
||||
* Please help us fix this issue by submitting a bug report at *
|
||||
* crbug.com/tint with the source program that triggered the bug. *
|
||||
********************************************************************
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: unable to convert type: __atomic__u32
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType: __atomic__u32
|
|
@ -0,0 +1,44 @@
|
|||
// Copyright 2021 The Tint Authors.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// File generated by tools/intrinsic-gen
|
||||
// using the template:
|
||||
// test/intrinsics/intrinsics.wgsl.tmpl
|
||||
// and the intrinsic defintion file:
|
||||
// src/intrinsics.def
|
||||
//
|
||||
// Do not modify this file directly
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0: atomic<i32>;
|
||||
};
|
||||
[[group(0), binding(0)]] var<storage, read_write> sb_rw : SB_RW;
|
||||
|
||||
// fn atomicAnd(ptr<storage, atomic<i32>, read_write>, i32) -> i32
|
||||
fn atomicAnd_152966() {
|
||||
var res: i32 = atomicAnd(&sb_rw.arg_0, 1);
|
||||
}
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn fragment_main() {
|
||||
atomicAnd_152966();
|
||||
}
|
||||
|
||||
[[stage(compute)]]
|
||||
fn compute_main() {
|
||||
atomicAnd_152966();
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
SKIP: FAILED
|
||||
|
||||
../src/transform/transform.cc:133 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::sem::Atomic
|
||||
********************************************************************
|
||||
* The tint shader compiler has encountered an unexpected error. *
|
||||
* *
|
||||
* Please help us fix this issue by submitting a bug report at *
|
||||
* crbug.com/tint with the source program that triggered the bug. *
|
||||
********************************************************************
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType: __atomic__i32
|
|
@ -0,0 +1,7 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0 :
|
||||
Failed to generate: unable to convert type: __atomic__i32
|
|
@ -0,0 +1,7 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType: __atomic__i32
|
|
@ -0,0 +1,35 @@
|
|||
// Copyright 2021 The Tint Authors.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// File generated by tools/intrinsic-gen
|
||||
// using the template:
|
||||
// test/intrinsics/intrinsics.wgsl.tmpl
|
||||
// and the intrinsic defintion file:
|
||||
// src/intrinsics.def
|
||||
//
|
||||
// Do not modify this file directly
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var<workgroup> arg_0: atomic<u32>;
|
||||
|
||||
// fn atomicAnd(ptr<workgroup, atomic<u32>, read_write>, u32) -> u32
|
||||
fn atomicAnd_34edd3() {
|
||||
var res: u32 = atomicAnd(&arg_0, 1u);
|
||||
}
|
||||
|
||||
[[stage(compute)]]
|
||||
fn compute_main() {
|
||||
atomicAnd_34edd3();
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType
|
|
@ -0,0 +1,10 @@
|
|||
SKIP: FAILED
|
||||
|
||||
../src/transform/transform.cc:133 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::sem::Atomic
|
||||
********************************************************************
|
||||
* The tint shader compiler has encountered an unexpected error. *
|
||||
* *
|
||||
* Please help us fix this issue by submitting a bug report at *
|
||||
* crbug.com/tint with the source program that triggered the bug. *
|
||||
********************************************************************
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: unable to convert type: __atomic__u32
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType: __atomic__u32
|
|
@ -0,0 +1,35 @@
|
|||
// Copyright 2021 The Tint Authors.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// File generated by tools/intrinsic-gen
|
||||
// using the template:
|
||||
// test/intrinsics/intrinsics.wgsl.tmpl
|
||||
// and the intrinsic defintion file:
|
||||
// src/intrinsics.def
|
||||
//
|
||||
// Do not modify this file directly
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var<workgroup> arg_0: atomic<i32>;
|
||||
|
||||
// fn atomicAnd(ptr<workgroup, atomic<i32>, read_write>, i32) -> i32
|
||||
fn atomicAnd_45a819() {
|
||||
var res: i32 = atomicAnd(&arg_0, 1);
|
||||
}
|
||||
|
||||
[[stage(compute)]]
|
||||
fn compute_main() {
|
||||
atomicAnd_45a819();
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType
|
|
@ -0,0 +1,10 @@
|
|||
SKIP: FAILED
|
||||
|
||||
../src/transform/transform.cc:133 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::sem::Atomic
|
||||
********************************************************************
|
||||
* The tint shader compiler has encountered an unexpected error. *
|
||||
* *
|
||||
* Please help us fix this issue by submitting a bug report at *
|
||||
* crbug.com/tint with the source program that triggered the bug. *
|
||||
********************************************************************
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: unable to convert type: __atomic__i32
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType: __atomic__i32
|
|
@ -0,0 +1,44 @@
|
|||
// Copyright 2021 The Tint Authors.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// File generated by tools/intrinsic-gen
|
||||
// using the template:
|
||||
// test/intrinsics/intrinsics.wgsl.tmpl
|
||||
// and the intrinsic defintion file:
|
||||
// src/intrinsics.def
|
||||
//
|
||||
// Do not modify this file directly
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0: atomic<u32>;
|
||||
};
|
||||
[[group(0), binding(0)]] var<storage, read_write> sb_rw : SB_RW;
|
||||
|
||||
// fn atomicAnd(ptr<storage, atomic<u32>, read_write>, u32) -> u32
|
||||
fn atomicAnd_85a8d9() {
|
||||
var res: u32 = atomicAnd(&sb_rw.arg_0, 1u);
|
||||
}
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn fragment_main() {
|
||||
atomicAnd_85a8d9();
|
||||
}
|
||||
|
||||
[[stage(compute)]]
|
||||
fn compute_main() {
|
||||
atomicAnd_85a8d9();
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
SKIP: FAILED
|
||||
|
||||
../src/transform/transform.cc:133 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::sem::Atomic
|
||||
********************************************************************
|
||||
* The tint shader compiler has encountered an unexpected error. *
|
||||
* *
|
||||
* Please help us fix this issue by submitting a bug report at *
|
||||
* crbug.com/tint with the source program that triggered the bug. *
|
||||
********************************************************************
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType: __atomic__u32
|
|
@ -0,0 +1,7 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0 :
|
||||
Failed to generate: unable to convert type: __atomic__u32
|
|
@ -0,0 +1,7 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType: __atomic__u32
|
|
@ -0,0 +1,44 @@
|
|||
// Copyright 2021 The Tint Authors.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// File generated by tools/intrinsic-gen
|
||||
// using the template:
|
||||
// test/intrinsics/intrinsics.wgsl.tmpl
|
||||
// and the intrinsic defintion file:
|
||||
// src/intrinsics.def
|
||||
//
|
||||
// Do not modify this file directly
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0: atomic<i32>;
|
||||
};
|
||||
[[group(0), binding(0)]] var<storage, read_write> sb_rw : SB_RW;
|
||||
|
||||
// fn atomicCompareExchangeWeak(ptr<storage, atomic<i32>, read_write>, i32, i32) -> vec2<i32>
|
||||
fn atomicCompareExchangeWeak_12871c() {
|
||||
var res: vec2<i32> = atomicCompareExchangeWeak(&sb_rw.arg_0, 1, 1);
|
||||
}
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn fragment_main() {
|
||||
atomicCompareExchangeWeak_12871c();
|
||||
}
|
||||
|
||||
[[stage(compute)]]
|
||||
fn compute_main() {
|
||||
atomicCompareExchangeWeak_12871c();
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
SKIP: FAILED
|
||||
|
||||
../src/transform/transform.cc:133 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::sem::Atomic
|
||||
********************************************************************
|
||||
* The tint shader compiler has encountered an unexpected error. *
|
||||
* *
|
||||
* Please help us fix this issue by submitting a bug report at *
|
||||
* crbug.com/tint with the source program that triggered the bug. *
|
||||
********************************************************************
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType: __atomic__i32
|
|
@ -0,0 +1,7 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0 :
|
||||
Failed to generate: unable to convert type: __atomic__i32
|
|
@ -0,0 +1,7 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType: __atomic__i32
|
|
@ -0,0 +1,44 @@
|
|||
// Copyright 2021 The Tint Authors.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// File generated by tools/intrinsic-gen
|
||||
// using the template:
|
||||
// test/intrinsics/intrinsics.wgsl.tmpl
|
||||
// and the intrinsic defintion file:
|
||||
// src/intrinsics.def
|
||||
//
|
||||
// Do not modify this file directly
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0: atomic<u32>;
|
||||
};
|
||||
[[group(0), binding(0)]] var<storage, read_write> sb_rw : SB_RW;
|
||||
|
||||
// fn atomicCompareExchangeWeak(ptr<storage, atomic<u32>, read_write>, u32, u32) -> vec2<u32>
|
||||
fn atomicCompareExchangeWeak_6673da() {
|
||||
var res: vec2<u32> = atomicCompareExchangeWeak(&sb_rw.arg_0, 1u, 1u);
|
||||
}
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn fragment_main() {
|
||||
atomicCompareExchangeWeak_6673da();
|
||||
}
|
||||
|
||||
[[stage(compute)]]
|
||||
fn compute_main() {
|
||||
atomicCompareExchangeWeak_6673da();
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
SKIP: FAILED
|
||||
|
||||
../src/transform/transform.cc:133 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::sem::Atomic
|
||||
********************************************************************
|
||||
* The tint shader compiler has encountered an unexpected error. *
|
||||
* *
|
||||
* Please help us fix this issue by submitting a bug report at *
|
||||
* crbug.com/tint with the source program that triggered the bug. *
|
||||
********************************************************************
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType: __atomic__u32
|
|
@ -0,0 +1,7 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0 :
|
||||
Failed to generate: unable to convert type: __atomic__u32
|
|
@ -0,0 +1,7 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType: __atomic__u32
|
|
@ -0,0 +1,35 @@
|
|||
// Copyright 2021 The Tint Authors.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// File generated by tools/intrinsic-gen
|
||||
// using the template:
|
||||
// test/intrinsics/intrinsics.wgsl.tmpl
|
||||
// and the intrinsic defintion file:
|
||||
// src/intrinsics.def
|
||||
//
|
||||
// Do not modify this file directly
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var<workgroup> arg_0: atomic<i32>;
|
||||
|
||||
// fn atomicCompareExchangeWeak(ptr<workgroup, atomic<i32>, read_write>, i32, i32) -> vec2<i32>
|
||||
fn atomicCompareExchangeWeak_89ea3b() {
|
||||
var res: vec2<i32> = atomicCompareExchangeWeak(&arg_0, 1, 1);
|
||||
}
|
||||
|
||||
[[stage(compute)]]
|
||||
fn compute_main() {
|
||||
atomicCompareExchangeWeak_89ea3b();
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType
|
|
@ -0,0 +1,10 @@
|
|||
SKIP: FAILED
|
||||
|
||||
../src/transform/transform.cc:133 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::sem::Atomic
|
||||
********************************************************************
|
||||
* The tint shader compiler has encountered an unexpected error. *
|
||||
* *
|
||||
* Please help us fix this issue by submitting a bug report at *
|
||||
* crbug.com/tint with the source program that triggered the bug. *
|
||||
********************************************************************
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: unable to convert type: __atomic__i32
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType: __atomic__i32
|
|
@ -0,0 +1,35 @@
|
|||
// Copyright 2021 The Tint Authors.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// File generated by tools/intrinsic-gen
|
||||
// using the template:
|
||||
// test/intrinsics/intrinsics.wgsl.tmpl
|
||||
// and the intrinsic defintion file:
|
||||
// src/intrinsics.def
|
||||
//
|
||||
// Do not modify this file directly
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var<workgroup> arg_0: atomic<u32>;
|
||||
|
||||
// fn atomicCompareExchangeWeak(ptr<workgroup, atomic<u32>, read_write>, u32, u32) -> vec2<u32>
|
||||
fn atomicCompareExchangeWeak_b2ab2c() {
|
||||
var res: vec2<u32> = atomicCompareExchangeWeak(&arg_0, 1u, 1u);
|
||||
}
|
||||
|
||||
[[stage(compute)]]
|
||||
fn compute_main() {
|
||||
atomicCompareExchangeWeak_b2ab2c();
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType
|
|
@ -0,0 +1,10 @@
|
|||
SKIP: FAILED
|
||||
|
||||
../src/transform/transform.cc:133 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::sem::Atomic
|
||||
********************************************************************
|
||||
* The tint shader compiler has encountered an unexpected error. *
|
||||
* *
|
||||
* Please help us fix this issue by submitting a bug report at *
|
||||
* crbug.com/tint with the source program that triggered the bug. *
|
||||
********************************************************************
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: unable to convert type: __atomic__u32
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType: __atomic__u32
|
|
@ -0,0 +1,35 @@
|
|||
// Copyright 2021 The Tint Authors.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// File generated by tools/intrinsic-gen
|
||||
// using the template:
|
||||
// test/intrinsics/intrinsics.wgsl.tmpl
|
||||
// and the intrinsic defintion file:
|
||||
// src/intrinsics.def
|
||||
//
|
||||
// Do not modify this file directly
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var<workgroup> arg_0: atomic<u32>;
|
||||
|
||||
// fn atomicExchange(ptr<workgroup, atomic<u32>, read_write>, u32) -> u32
|
||||
fn atomicExchange_0a5dca() {
|
||||
var res: u32 = atomicExchange(&arg_0, 1u);
|
||||
}
|
||||
|
||||
[[stage(compute)]]
|
||||
fn compute_main() {
|
||||
atomicExchange_0a5dca();
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType
|
|
@ -0,0 +1,10 @@
|
|||
SKIP: FAILED
|
||||
|
||||
../src/transform/transform.cc:133 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::sem::Atomic
|
||||
********************************************************************
|
||||
* The tint shader compiler has encountered an unexpected error. *
|
||||
* *
|
||||
* Please help us fix this issue by submitting a bug report at *
|
||||
* crbug.com/tint with the source program that triggered the bug. *
|
||||
********************************************************************
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: unable to convert type: __atomic__u32
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType: __atomic__u32
|
|
@ -0,0 +1,44 @@
|
|||
// Copyright 2021 The Tint Authors.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// File generated by tools/intrinsic-gen
|
||||
// using the template:
|
||||
// test/intrinsics/intrinsics.wgsl.tmpl
|
||||
// and the intrinsic defintion file:
|
||||
// src/intrinsics.def
|
||||
//
|
||||
// Do not modify this file directly
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0: atomic<u32>;
|
||||
};
|
||||
[[group(0), binding(0)]] var<storage, read_write> sb_rw : SB_RW;
|
||||
|
||||
// fn atomicExchange(ptr<storage, atomic<u32>, read_write>, u32) -> u32
|
||||
fn atomicExchange_d59712() {
|
||||
var res: u32 = atomicExchange(&sb_rw.arg_0, 1u);
|
||||
}
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn fragment_main() {
|
||||
atomicExchange_d59712();
|
||||
}
|
||||
|
||||
[[stage(compute)]]
|
||||
fn compute_main() {
|
||||
atomicExchange_d59712();
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
SKIP: FAILED
|
||||
|
||||
../src/transform/transform.cc:133 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::sem::Atomic
|
||||
********************************************************************
|
||||
* The tint shader compiler has encountered an unexpected error. *
|
||||
* *
|
||||
* Please help us fix this issue by submitting a bug report at *
|
||||
* crbug.com/tint with the source program that triggered the bug. *
|
||||
********************************************************************
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType: __atomic__u32
|
|
@ -0,0 +1,7 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0 :
|
||||
Failed to generate: unable to convert type: __atomic__u32
|
|
@ -0,0 +1,7 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType: __atomic__u32
|
|
@ -0,0 +1,35 @@
|
|||
// Copyright 2021 The Tint Authors.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// File generated by tools/intrinsic-gen
|
||||
// using the template:
|
||||
// test/intrinsics/intrinsics.wgsl.tmpl
|
||||
// and the intrinsic defintion file:
|
||||
// src/intrinsics.def
|
||||
//
|
||||
// Do not modify this file directly
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var<workgroup> arg_0: atomic<i32>;
|
||||
|
||||
// fn atomicExchange(ptr<workgroup, atomic<i32>, read_write>, i32) -> i32
|
||||
fn atomicExchange_e114ba() {
|
||||
var res: i32 = atomicExchange(&arg_0, 1);
|
||||
}
|
||||
|
||||
[[stage(compute)]]
|
||||
fn compute_main() {
|
||||
atomicExchange_e114ba();
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType
|
|
@ -0,0 +1,10 @@
|
|||
SKIP: FAILED
|
||||
|
||||
../src/transform/transform.cc:133 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::sem::Atomic
|
||||
********************************************************************
|
||||
* The tint shader compiler has encountered an unexpected error. *
|
||||
* *
|
||||
* Please help us fix this issue by submitting a bug report at *
|
||||
* crbug.com/tint with the source program that triggered the bug. *
|
||||
********************************************************************
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: unable to convert type: __atomic__i32
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType: __atomic__i32
|
|
@ -0,0 +1,44 @@
|
|||
// Copyright 2021 The Tint Authors.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// File generated by tools/intrinsic-gen
|
||||
// using the template:
|
||||
// test/intrinsics/intrinsics.wgsl.tmpl
|
||||
// and the intrinsic defintion file:
|
||||
// src/intrinsics.def
|
||||
//
|
||||
// Do not modify this file directly
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0: atomic<i32>;
|
||||
};
|
||||
[[group(0), binding(0)]] var<storage, read_write> sb_rw : SB_RW;
|
||||
|
||||
// fn atomicExchange(ptr<storage, atomic<i32>, read_write>, i32) -> i32
|
||||
fn atomicExchange_f2e22f() {
|
||||
var res: i32 = atomicExchange(&sb_rw.arg_0, 1);
|
||||
}
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn fragment_main() {
|
||||
atomicExchange_f2e22f();
|
||||
}
|
||||
|
||||
[[stage(compute)]]
|
||||
fn compute_main() {
|
||||
atomicExchange_f2e22f();
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
SKIP: FAILED
|
||||
|
||||
../src/transform/transform.cc:133 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::sem::Atomic
|
||||
********************************************************************
|
||||
* The tint shader compiler has encountered an unexpected error. *
|
||||
* *
|
||||
* Please help us fix this issue by submitting a bug report at *
|
||||
* crbug.com/tint with the source program that triggered the bug. *
|
||||
********************************************************************
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType: __atomic__i32
|
|
@ -0,0 +1,7 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0 :
|
||||
Failed to generate: unable to convert type: __atomic__i32
|
|
@ -0,0 +1,7 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType: __atomic__i32
|
|
@ -0,0 +1,44 @@
|
|||
// Copyright 2021 The Tint Authors.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// File generated by tools/intrinsic-gen
|
||||
// using the template:
|
||||
// test/intrinsics/intrinsics.wgsl.tmpl
|
||||
// and the intrinsic defintion file:
|
||||
// src/intrinsics.def
|
||||
//
|
||||
// Do not modify this file directly
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0: atomic<i32>;
|
||||
};
|
||||
[[group(0), binding(0)]] var<storage, read_write> sb_rw : SB_RW;
|
||||
|
||||
// fn atomicLoad(ptr<storage, atomic<i32>, read_write>) -> i32
|
||||
fn atomicLoad_0806ad() {
|
||||
var res: i32 = atomicLoad(&sb_rw.arg_0);
|
||||
}
|
||||
|
||||
[[stage(fragment)]]
|
||||
fn fragment_main() {
|
||||
atomicLoad_0806ad();
|
||||
}
|
||||
|
||||
[[stage(compute)]]
|
||||
fn compute_main() {
|
||||
atomicLoad_0806ad();
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
SKIP: FAILED
|
||||
|
||||
../src/transform/transform.cc:133 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::sem::Atomic
|
||||
********************************************************************
|
||||
* The tint shader compiler has encountered an unexpected error. *
|
||||
* *
|
||||
* Please help us fix this issue by submitting a bug report at *
|
||||
* crbug.com/tint with the source program that triggered the bug. *
|
||||
********************************************************************
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType: __atomic__i32
|
|
@ -0,0 +1,7 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0 :
|
||||
Failed to generate: unable to convert type: __atomic__i32
|
|
@ -0,0 +1,7 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
[[block]]
|
||||
struct SB_RW {
|
||||
arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType: __atomic__i32
|
|
@ -0,0 +1,35 @@
|
|||
// Copyright 2021 The Tint Authors.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// File generated by tools/intrinsic-gen
|
||||
// using the template:
|
||||
// test/intrinsics/intrinsics.wgsl.tmpl
|
||||
// and the intrinsic defintion file:
|
||||
// src/intrinsics.def
|
||||
//
|
||||
// Do not modify this file directly
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var<workgroup> arg_0: atomic<u32>;
|
||||
|
||||
// fn atomicLoad(ptr<workgroup, atomic<u32>, read_write>) -> u32
|
||||
fn atomicLoad_361bf1() {
|
||||
var res: u32 = atomicLoad(&arg_0);
|
||||
}
|
||||
|
||||
[[stage(compute)]]
|
||||
fn compute_main() {
|
||||
atomicLoad_361bf1();
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType
|
|
@ -0,0 +1,10 @@
|
|||
SKIP: FAILED
|
||||
|
||||
../src/transform/transform.cc:133 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::sem::Atomic
|
||||
********************************************************************
|
||||
* The tint shader compiler has encountered an unexpected error. *
|
||||
* *
|
||||
* Please help us fix this issue by submitting a bug report at *
|
||||
* crbug.com/tint with the source program that triggered the bug. *
|
||||
********************************************************************
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: unable to convert type: __atomic__u32
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType: __atomic__u32
|
|
@ -0,0 +1,35 @@
|
|||
// Copyright 2021 The Tint Authors.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// File generated by tools/intrinsic-gen
|
||||
// using the template:
|
||||
// test/intrinsics/intrinsics.wgsl.tmpl
|
||||
// and the intrinsic defintion file:
|
||||
// src/intrinsics.def
|
||||
//
|
||||
// Do not modify this file directly
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var<workgroup> arg_0: atomic<i32>;
|
||||
|
||||
// fn atomicLoad(ptr<workgroup, atomic<i32>, read_write>) -> i32
|
||||
fn atomicLoad_afcc03() {
|
||||
var res: i32 = atomicLoad(&arg_0);
|
||||
}
|
||||
|
||||
[[stage(compute)]]
|
||||
fn compute_main() {
|
||||
atomicLoad_afcc03();
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType
|
|
@ -0,0 +1,10 @@
|
|||
SKIP: FAILED
|
||||
|
||||
../src/transform/transform.cc:133 internal compiler error: TINT_UNREACHABLE Unhandled type: tint::sem::Atomic
|
||||
********************************************************************
|
||||
* The tint shader compiler has encountered an unexpected error. *
|
||||
* *
|
||||
* Please help us fix this issue by submitting a bug report at *
|
||||
* crbug.com/tint with the source program that triggered the bug. *
|
||||
********************************************************************
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: unable to convert type: __atomic__i32
|
|
@ -0,0 +1,5 @@
|
|||
SKIP: FAILED
|
||||
|
||||
|
||||
var<workgroup> arg_0 :
|
||||
Failed to generate: error: unknown type in EmitType: __atomic__i32
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue