tint/intrinsics.def: Fix textureStore overload

The texture_storage_3d overload should allow for unsigned coordinates.

Change-Id: I6278571fb9dc7bba644a4ba88cce6b8bd7c790bf
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/122521
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
This commit is contained in:
Ben Clayton 2023-03-04 00:43:21 +00:00 committed by Dawn LUCI CQ
parent 472815d3c1
commit 3a431d71be
72 changed files with 3073 additions and 5 deletions

View File

@ -825,7 +825,7 @@ fn textureStore<C: iu32>(texture: texture_storage_3d<i32_texel_format, write>, c
fn textureStore<C: iu32>(texture: texture_storage_1d<u32_texel_format, write>, coords: C, value: vec4<u32>)
fn textureStore<C: iu32>(texture: texture_storage_2d<u32_texel_format, write>, coords: vec2<C>, value: vec4<u32>)
fn textureStore<C: iu32, A: iu32>(texture: texture_storage_2d_array<u32_texel_format, write>, coords: vec2<C>, array_index: A, value: vec4<u32>)
fn textureStore(texture: texture_storage_3d<u32_texel_format, write>, coords: vec3<i32>, value: vec4<u32>)
fn textureStore<C: iu32>(texture: texture_storage_3d<u32_texel_format, write>, coords: vec3<C>, value: vec4<u32>)
@must_use fn textureLoad<T: fiu32, C: iu32, L: iu32>(texture: texture_1d<T>, coords: C, level: L) -> vec4<T>
@must_use fn textureLoad<T: fiu32, C: iu32, L: iu32>(texture: texture_2d<T>, coords: vec2<C>, level: L) -> vec4<T>
@must_use fn textureLoad<T: fiu32, C: iu32, A: iu32, L: iu32>(texture: texture_2d_array<T>, coords: vec2<C>, array_index: A, level: L) -> vec4<T>

View File

@ -5843,7 +5843,7 @@ constexpr ParameterInfo kParameters[] = {
{
/* [550] */
/* usage */ ParameterUsage::kCoords,
/* matcher indices */ &kMatcherIndices[148],
/* matcher indices */ &kMatcherIndices[106],
},
{
/* [551] */
@ -9540,9 +9540,9 @@ constexpr OverloadInfo kOverloads[] = {
{
/* [94] */
/* num parameters */ 3,
/* num template types */ 0,
/* num template types */ 1,
/* num template numbers */ 0,
/* template types */ &kTemplateTypes[38],
/* template types */ &kTemplateTypes[1],
/* template numbers */ &kTemplateNumbers[10],
/* parameters */ &kParameters[549],
/* return matcher indices */ nullptr,
@ -14862,7 +14862,7 @@ constexpr IntrinsicInfo kBuiltins[] = {
/* fn textureStore<C : iu32>(texture: texture_storage_1d<u32_texel_format, write>, coords: C, value: vec4<u32>) */
/* fn textureStore<C : iu32>(texture: texture_storage_2d<u32_texel_format, write>, coords: vec2<C>, value: vec4<u32>) */
/* fn textureStore<C : iu32, A : iu32>(texture: texture_storage_2d_array<u32_texel_format, write>, coords: vec2<C>, array_index: A, value: vec4<u32>) */
/* fn textureStore(texture: texture_storage_3d<u32_texel_format, write>, coords: vec3<i32>, value: vec4<u32>) */
/* fn textureStore<C : iu32>(texture: texture_storage_3d<u32_texel_format, write>, coords: vec3<C>, value: vec4<u32>) */
/* num overloads */ 12,
/* overloads */ &kOverloads[83],
},

View File

@ -0,0 +1,44 @@
// Copyright 2023 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/src/cmd/gen
// using the template:
// test/tint/builtins/gen/gen.wgsl.tmpl
//
// Do not modify this file directly
////////////////////////////////////////////////////////////////////////////////
@group(1) @binding(0) var arg_0: texture_storage_3d<rgba16uint, write>;
// fn textureStore(texture: texture_storage_3d<rgba16uint, write>, coords: vec3<u32>, value: vec4<u32>)
fn textureStore_1efc36() {
textureStore(arg_0, vec3<u32>(1u), vec4<u32>(1u));
}
@vertex
fn vertex_main() -> @builtin(position) vec4<f32> {
textureStore_1efc36();
return vec4<f32>();
}
@fragment
fn fragment_main() {
textureStore_1efc36();
}
@compute @workgroup_size(1)
fn compute_main() {
textureStore_1efc36();
}

View File

@ -0,0 +1,32 @@
RWTexture3D<uint4> arg_0 : register(u0, space1);
void textureStore_1efc36() {
arg_0[(1u).xxx] = (1u).xxxx;
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
textureStore_1efc36();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
textureStore_1efc36();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureStore_1efc36();
return;
}

View File

@ -0,0 +1,32 @@
RWTexture3D<uint4> arg_0 : register(u0, space1);
void textureStore_1efc36() {
arg_0[(1u).xxx] = (1u).xxxx;
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
textureStore_1efc36();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
textureStore_1efc36();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureStore_1efc36();
return;
}

View File

@ -0,0 +1,52 @@
#version 310 es
layout(rgba16ui) uniform highp writeonly uimage3D arg_0;
void textureStore_1efc36() {
imageStore(arg_0, ivec3(uvec3(1u)), uvec4(1u));
}
vec4 vertex_main() {
textureStore_1efc36();
return vec4(0.0f);
}
void main() {
gl_PointSize = 1.0;
vec4 inner_result = vertex_main();
gl_Position = inner_result;
gl_Position.y = -(gl_Position.y);
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
return;
}
#version 310 es
precision mediump float;
layout(rgba16ui) uniform highp writeonly uimage3D arg_0;
void textureStore_1efc36() {
imageStore(arg_0, ivec3(uvec3(1u)), uvec4(1u));
}
void fragment_main() {
textureStore_1efc36();
}
void main() {
fragment_main();
return;
}
#version 310 es
layout(rgba16ui) uniform highp writeonly uimage3D arg_0;
void textureStore_1efc36() {
imageStore(arg_0, ivec3(uvec3(1u)), uvec4(1u));
}
void compute_main() {
textureStore_1efc36();
}
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void main() {
compute_main();
return;
}

View File

@ -0,0 +1,33 @@
#include <metal_stdlib>
using namespace metal;
void textureStore_1efc36(texture3d<uint, access::write> tint_symbol_1) {
tint_symbol_1.write(uint4(1u), uint3(uint3(1u)));
}
struct tint_symbol {
float4 value [[position]];
};
float4 vertex_main_inner(texture3d<uint, access::write> tint_symbol_2) {
textureStore_1efc36(tint_symbol_2);
return float4(0.0f);
}
vertex tint_symbol vertex_main(texture3d<uint, access::write> tint_symbol_3 [[texture(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_3);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texture3d<uint, access::write> tint_symbol_4 [[texture(0)]]) {
textureStore_1efc36(tint_symbol_4);
return;
}
kernel void compute_main(texture3d<uint, access::write> tint_symbol_5 [[texture(0)]]) {
textureStore_1efc36(tint_symbol_5);
return;
}

View File

@ -0,0 +1,74 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 38
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
OpEntryPoint Fragment %fragment_main "fragment_main"
OpEntryPoint GLCompute %compute_main "compute_main"
OpExecutionMode %fragment_main OriginUpperLeft
OpExecutionMode %compute_main LocalSize 1 1 1
OpName %value "value"
OpName %vertex_point_size "vertex_point_size"
OpName %arg_0 "arg_0"
OpName %textureStore_1efc36 "textureStore_1efc36"
OpName %vertex_main_inner "vertex_main_inner"
OpName %vertex_main "vertex_main"
OpName %fragment_main "fragment_main"
OpName %compute_main "compute_main"
OpDecorate %value BuiltIn Position
OpDecorate %vertex_point_size BuiltIn PointSize
OpDecorate %arg_0 NonReadable
OpDecorate %arg_0 DescriptorSet 1
OpDecorate %arg_0 Binding 0
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%5 = OpConstantNull %v4float
%value = OpVariable %_ptr_Output_v4float Output %5
%_ptr_Output_float = OpTypePointer Output %float
%8 = OpConstantNull %float
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
%uint = OpTypeInt 32 0
%11 = OpTypeImage %uint 3D 0 0 0 2 Rgba16ui
%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
%arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
%void = OpTypeVoid
%13 = OpTypeFunction %void
%v3uint = OpTypeVector %uint 3
%uint_1 = OpConstant %uint 1
%21 = OpConstantComposite %v3uint %uint_1 %uint_1 %uint_1
%v4uint = OpTypeVector %uint 4
%23 = OpConstantComposite %v4uint %uint_1 %uint_1 %uint_1 %uint_1
%24 = OpTypeFunction %v4float
%float_1 = OpConstant %float 1
%textureStore_1efc36 = OpFunction %void None %13
%16 = OpLabel
%18 = OpLoad %11 %arg_0
OpImageWrite %18 %21 %23
OpReturn
OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %24
%26 = OpLabel
%27 = OpFunctionCall %void %textureStore_1efc36
OpReturnValue %5
OpFunctionEnd
%vertex_main = OpFunction %void None %13
%29 = OpLabel
%30 = OpFunctionCall %v4float %vertex_main_inner
OpStore %value %30
OpStore %vertex_point_size %float_1
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %13
%33 = OpLabel
%34 = OpFunctionCall %void %textureStore_1efc36
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %13
%36 = OpLabel
%37 = OpFunctionCall %void %textureStore_1efc36
OpReturn
OpFunctionEnd

View File

@ -0,0 +1,21 @@
@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16uint, write>;
fn textureStore_1efc36() {
textureStore(arg_0, vec3<u32>(1u), vec4<u32>(1u));
}
@vertex
fn vertex_main() -> @builtin(position) vec4<f32> {
textureStore_1efc36();
return vec4<f32>();
}
@fragment
fn fragment_main() {
textureStore_1efc36();
}
@compute @workgroup_size(1)
fn compute_main() {
textureStore_1efc36();
}

View File

@ -0,0 +1,44 @@
// Copyright 2023 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/src/cmd/gen
// using the template:
// test/tint/builtins/gen/gen.wgsl.tmpl
//
// Do not modify this file directly
////////////////////////////////////////////////////////////////////////////////
@group(1) @binding(0) var arg_0: texture_storage_3d<rg32uint, write>;
// fn textureStore(texture: texture_storage_3d<rg32uint, write>, coords: vec3<u32>, value: vec4<u32>)
fn textureStore_3fb31f() {
textureStore(arg_0, vec3<u32>(1u), vec4<u32>(1u));
}
@vertex
fn vertex_main() -> @builtin(position) vec4<f32> {
textureStore_3fb31f();
return vec4<f32>();
}
@fragment
fn fragment_main() {
textureStore_3fb31f();
}
@compute @workgroup_size(1)
fn compute_main() {
textureStore_3fb31f();
}

View File

@ -0,0 +1,32 @@
RWTexture3D<uint4> arg_0 : register(u0, space1);
void textureStore_3fb31f() {
arg_0[(1u).xxx] = (1u).xxxx;
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
textureStore_3fb31f();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
textureStore_3fb31f();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureStore_3fb31f();
return;
}

View File

@ -0,0 +1,32 @@
RWTexture3D<uint4> arg_0 : register(u0, space1);
void textureStore_3fb31f() {
arg_0[(1u).xxx] = (1u).xxxx;
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
textureStore_3fb31f();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
textureStore_3fb31f();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureStore_3fb31f();
return;
}

View File

@ -0,0 +1,75 @@
SKIP: FAILED
#version 310 es
layout(rg32ui) uniform highp writeonly uimage3D arg_0;
void textureStore_3fb31f() {
imageStore(arg_0, ivec3(uvec3(1u)), uvec4(1u));
}
vec4 vertex_main() {
textureStore_3fb31f();
return vec4(0.0f);
}
void main() {
gl_PointSize = 1.0;
vec4 inner_result = vertex_main();
gl_Position = inner_result;
gl_Position.y = -(gl_Position.y);
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
return;
}
Error parsing GLSL shader:
ERROR: 0:3: 'image load-store format' : not supported with this profile: es
ERROR: 0:3: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es
precision mediump float;
layout(rg32ui) uniform highp writeonly uimage3D arg_0;
void textureStore_3fb31f() {
imageStore(arg_0, ivec3(uvec3(1u)), uvec4(1u));
}
void fragment_main() {
textureStore_3fb31f();
}
void main() {
fragment_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:4: 'image load-store format' : not supported with this profile: es
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es
layout(rg32ui) uniform highp writeonly uimage3D arg_0;
void textureStore_3fb31f() {
imageStore(arg_0, ivec3(uvec3(1u)), uvec4(1u));
}
void compute_main() {
textureStore_3fb31f();
}
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void main() {
compute_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:3: 'image load-store format' : not supported with this profile: es
ERROR: 0:3: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -0,0 +1,33 @@
#include <metal_stdlib>
using namespace metal;
void textureStore_3fb31f(texture3d<uint, access::write> tint_symbol_1) {
tint_symbol_1.write(uint4(1u), uint3(uint3(1u)));
}
struct tint_symbol {
float4 value [[position]];
};
float4 vertex_main_inner(texture3d<uint, access::write> tint_symbol_2) {
textureStore_3fb31f(tint_symbol_2);
return float4(0.0f);
}
vertex tint_symbol vertex_main(texture3d<uint, access::write> tint_symbol_3 [[texture(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_3);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texture3d<uint, access::write> tint_symbol_4 [[texture(0)]]) {
textureStore_3fb31f(tint_symbol_4);
return;
}
kernel void compute_main(texture3d<uint, access::write> tint_symbol_5 [[texture(0)]]) {
textureStore_3fb31f(tint_symbol_5);
return;
}

View File

@ -0,0 +1,75 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 38
; Schema: 0
OpCapability Shader
OpCapability StorageImageExtendedFormats
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
OpEntryPoint Fragment %fragment_main "fragment_main"
OpEntryPoint GLCompute %compute_main "compute_main"
OpExecutionMode %fragment_main OriginUpperLeft
OpExecutionMode %compute_main LocalSize 1 1 1
OpName %value "value"
OpName %vertex_point_size "vertex_point_size"
OpName %arg_0 "arg_0"
OpName %textureStore_3fb31f "textureStore_3fb31f"
OpName %vertex_main_inner "vertex_main_inner"
OpName %vertex_main "vertex_main"
OpName %fragment_main "fragment_main"
OpName %compute_main "compute_main"
OpDecorate %value BuiltIn Position
OpDecorate %vertex_point_size BuiltIn PointSize
OpDecorate %arg_0 NonReadable
OpDecorate %arg_0 DescriptorSet 1
OpDecorate %arg_0 Binding 0
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%5 = OpConstantNull %v4float
%value = OpVariable %_ptr_Output_v4float Output %5
%_ptr_Output_float = OpTypePointer Output %float
%8 = OpConstantNull %float
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
%uint = OpTypeInt 32 0
%11 = OpTypeImage %uint 3D 0 0 0 2 Rg32ui
%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
%arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
%void = OpTypeVoid
%13 = OpTypeFunction %void
%v3uint = OpTypeVector %uint 3
%uint_1 = OpConstant %uint 1
%21 = OpConstantComposite %v3uint %uint_1 %uint_1 %uint_1
%v4uint = OpTypeVector %uint 4
%23 = OpConstantComposite %v4uint %uint_1 %uint_1 %uint_1 %uint_1
%24 = OpTypeFunction %v4float
%float_1 = OpConstant %float 1
%textureStore_3fb31f = OpFunction %void None %13
%16 = OpLabel
%18 = OpLoad %11 %arg_0
OpImageWrite %18 %21 %23
OpReturn
OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %24
%26 = OpLabel
%27 = OpFunctionCall %void %textureStore_3fb31f
OpReturnValue %5
OpFunctionEnd
%vertex_main = OpFunction %void None %13
%29 = OpLabel
%30 = OpFunctionCall %v4float %vertex_main_inner
OpStore %value %30
OpStore %vertex_point_size %float_1
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %13
%33 = OpLabel
%34 = OpFunctionCall %void %textureStore_3fb31f
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %13
%36 = OpLabel
%37 = OpFunctionCall %void %textureStore_3fb31f
OpReturn
OpFunctionEnd

View File

@ -0,0 +1,21 @@
@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32uint, write>;
fn textureStore_3fb31f() {
textureStore(arg_0, vec3<u32>(1u), vec4<u32>(1u));
}
@vertex
fn vertex_main() -> @builtin(position) vec4<f32> {
textureStore_3fb31f();
return vec4<f32>();
}
@fragment
fn fragment_main() {
textureStore_3fb31f();
}
@compute @workgroup_size(1)
fn compute_main() {
textureStore_3fb31f();
}

View File

@ -0,0 +1,44 @@
// Copyright 2023 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/src/cmd/gen
// using the template:
// test/tint/builtins/gen/gen.wgsl.tmpl
//
// Do not modify this file directly
////////////////////////////////////////////////////////////////////////////////
@group(1) @binding(0) var arg_0: texture_storage_3d<r32uint, write>;
// fn textureStore(texture: texture_storage_3d<r32uint, write>, coords: vec3<u32>, value: vec4<u32>)
fn textureStore_cd6755() {
textureStore(arg_0, vec3<u32>(1u), vec4<u32>(1u));
}
@vertex
fn vertex_main() -> @builtin(position) vec4<f32> {
textureStore_cd6755();
return vec4<f32>();
}
@fragment
fn fragment_main() {
textureStore_cd6755();
}
@compute @workgroup_size(1)
fn compute_main() {
textureStore_cd6755();
}

View File

@ -0,0 +1,32 @@
RWTexture3D<uint4> arg_0 : register(u0, space1);
void textureStore_cd6755() {
arg_0[(1u).xxx] = (1u).xxxx;
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
textureStore_cd6755();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
textureStore_cd6755();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureStore_cd6755();
return;
}

View File

@ -0,0 +1,32 @@
RWTexture3D<uint4> arg_0 : register(u0, space1);
void textureStore_cd6755() {
arg_0[(1u).xxx] = (1u).xxxx;
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
textureStore_cd6755();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
textureStore_cd6755();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureStore_cd6755();
return;
}

View File

@ -0,0 +1,52 @@
#version 310 es
layout(r32ui) uniform highp writeonly uimage3D arg_0;
void textureStore_cd6755() {
imageStore(arg_0, ivec3(uvec3(1u)), uvec4(1u));
}
vec4 vertex_main() {
textureStore_cd6755();
return vec4(0.0f);
}
void main() {
gl_PointSize = 1.0;
vec4 inner_result = vertex_main();
gl_Position = inner_result;
gl_Position.y = -(gl_Position.y);
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
return;
}
#version 310 es
precision mediump float;
layout(r32ui) uniform highp writeonly uimage3D arg_0;
void textureStore_cd6755() {
imageStore(arg_0, ivec3(uvec3(1u)), uvec4(1u));
}
void fragment_main() {
textureStore_cd6755();
}
void main() {
fragment_main();
return;
}
#version 310 es
layout(r32ui) uniform highp writeonly uimage3D arg_0;
void textureStore_cd6755() {
imageStore(arg_0, ivec3(uvec3(1u)), uvec4(1u));
}
void compute_main() {
textureStore_cd6755();
}
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void main() {
compute_main();
return;
}

View File

@ -0,0 +1,33 @@
#include <metal_stdlib>
using namespace metal;
void textureStore_cd6755(texture3d<uint, access::write> tint_symbol_1) {
tint_symbol_1.write(uint4(1u), uint3(uint3(1u)));
}
struct tint_symbol {
float4 value [[position]];
};
float4 vertex_main_inner(texture3d<uint, access::write> tint_symbol_2) {
textureStore_cd6755(tint_symbol_2);
return float4(0.0f);
}
vertex tint_symbol vertex_main(texture3d<uint, access::write> tint_symbol_3 [[texture(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_3);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texture3d<uint, access::write> tint_symbol_4 [[texture(0)]]) {
textureStore_cd6755(tint_symbol_4);
return;
}
kernel void compute_main(texture3d<uint, access::write> tint_symbol_5 [[texture(0)]]) {
textureStore_cd6755(tint_symbol_5);
return;
}

View File

@ -0,0 +1,74 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 38
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
OpEntryPoint Fragment %fragment_main "fragment_main"
OpEntryPoint GLCompute %compute_main "compute_main"
OpExecutionMode %fragment_main OriginUpperLeft
OpExecutionMode %compute_main LocalSize 1 1 1
OpName %value "value"
OpName %vertex_point_size "vertex_point_size"
OpName %arg_0 "arg_0"
OpName %textureStore_cd6755 "textureStore_cd6755"
OpName %vertex_main_inner "vertex_main_inner"
OpName %vertex_main "vertex_main"
OpName %fragment_main "fragment_main"
OpName %compute_main "compute_main"
OpDecorate %value BuiltIn Position
OpDecorate %vertex_point_size BuiltIn PointSize
OpDecorate %arg_0 NonReadable
OpDecorate %arg_0 DescriptorSet 1
OpDecorate %arg_0 Binding 0
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%5 = OpConstantNull %v4float
%value = OpVariable %_ptr_Output_v4float Output %5
%_ptr_Output_float = OpTypePointer Output %float
%8 = OpConstantNull %float
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
%uint = OpTypeInt 32 0
%11 = OpTypeImage %uint 3D 0 0 0 2 R32ui
%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
%arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
%void = OpTypeVoid
%13 = OpTypeFunction %void
%v3uint = OpTypeVector %uint 3
%uint_1 = OpConstant %uint 1
%21 = OpConstantComposite %v3uint %uint_1 %uint_1 %uint_1
%v4uint = OpTypeVector %uint 4
%23 = OpConstantComposite %v4uint %uint_1 %uint_1 %uint_1 %uint_1
%24 = OpTypeFunction %v4float
%float_1 = OpConstant %float 1
%textureStore_cd6755 = OpFunction %void None %13
%16 = OpLabel
%18 = OpLoad %11 %arg_0
OpImageWrite %18 %21 %23
OpReturn
OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %24
%26 = OpLabel
%27 = OpFunctionCall %void %textureStore_cd6755
OpReturnValue %5
OpFunctionEnd
%vertex_main = OpFunction %void None %13
%29 = OpLabel
%30 = OpFunctionCall %v4float %vertex_main_inner
OpStore %value %30
OpStore %vertex_point_size %float_1
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %13
%33 = OpLabel
%34 = OpFunctionCall %void %textureStore_cd6755
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %13
%36 = OpLabel
%37 = OpFunctionCall %void %textureStore_cd6755
OpReturn
OpFunctionEnd

View File

@ -0,0 +1,21 @@
@group(1) @binding(0) var arg_0 : texture_storage_3d<r32uint, write>;
fn textureStore_cd6755() {
textureStore(arg_0, vec3<u32>(1u), vec4<u32>(1u));
}
@vertex
fn vertex_main() -> @builtin(position) vec4<f32> {
textureStore_cd6755();
return vec4<f32>();
}
@fragment
fn fragment_main() {
textureStore_cd6755();
}
@compute @workgroup_size(1)
fn compute_main() {
textureStore_cd6755();
}

View File

@ -0,0 +1,44 @@
// Copyright 2023 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/src/cmd/gen
// using the template:
// test/tint/builtins/gen/gen.wgsl.tmpl
//
// Do not modify this file directly
////////////////////////////////////////////////////////////////////////////////
@group(1) @binding(0) var arg_0: texture_storage_3d<rgba8uint, write>;
// fn textureStore(texture: texture_storage_3d<rgba8uint, write>, coords: vec3<u32>, value: vec4<u32>)
fn textureStore_d2b565() {
textureStore(arg_0, vec3<u32>(1u), vec4<u32>(1u));
}
@vertex
fn vertex_main() -> @builtin(position) vec4<f32> {
textureStore_d2b565();
return vec4<f32>();
}
@fragment
fn fragment_main() {
textureStore_d2b565();
}
@compute @workgroup_size(1)
fn compute_main() {
textureStore_d2b565();
}

View File

@ -0,0 +1,32 @@
RWTexture3D<uint4> arg_0 : register(u0, space1);
void textureStore_d2b565() {
arg_0[(1u).xxx] = (1u).xxxx;
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
textureStore_d2b565();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
textureStore_d2b565();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureStore_d2b565();
return;
}

View File

@ -0,0 +1,32 @@
RWTexture3D<uint4> arg_0 : register(u0, space1);
void textureStore_d2b565() {
arg_0[(1u).xxx] = (1u).xxxx;
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
textureStore_d2b565();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
textureStore_d2b565();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureStore_d2b565();
return;
}

View File

@ -0,0 +1,52 @@
#version 310 es
layout(rgba8ui) uniform highp writeonly uimage3D arg_0;
void textureStore_d2b565() {
imageStore(arg_0, ivec3(uvec3(1u)), uvec4(1u));
}
vec4 vertex_main() {
textureStore_d2b565();
return vec4(0.0f);
}
void main() {
gl_PointSize = 1.0;
vec4 inner_result = vertex_main();
gl_Position = inner_result;
gl_Position.y = -(gl_Position.y);
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
return;
}
#version 310 es
precision mediump float;
layout(rgba8ui) uniform highp writeonly uimage3D arg_0;
void textureStore_d2b565() {
imageStore(arg_0, ivec3(uvec3(1u)), uvec4(1u));
}
void fragment_main() {
textureStore_d2b565();
}
void main() {
fragment_main();
return;
}
#version 310 es
layout(rgba8ui) uniform highp writeonly uimage3D arg_0;
void textureStore_d2b565() {
imageStore(arg_0, ivec3(uvec3(1u)), uvec4(1u));
}
void compute_main() {
textureStore_d2b565();
}
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void main() {
compute_main();
return;
}

View File

@ -0,0 +1,33 @@
#include <metal_stdlib>
using namespace metal;
void textureStore_d2b565(texture3d<uint, access::write> tint_symbol_1) {
tint_symbol_1.write(uint4(1u), uint3(uint3(1u)));
}
struct tint_symbol {
float4 value [[position]];
};
float4 vertex_main_inner(texture3d<uint, access::write> tint_symbol_2) {
textureStore_d2b565(tint_symbol_2);
return float4(0.0f);
}
vertex tint_symbol vertex_main(texture3d<uint, access::write> tint_symbol_3 [[texture(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_3);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texture3d<uint, access::write> tint_symbol_4 [[texture(0)]]) {
textureStore_d2b565(tint_symbol_4);
return;
}
kernel void compute_main(texture3d<uint, access::write> tint_symbol_5 [[texture(0)]]) {
textureStore_d2b565(tint_symbol_5);
return;
}

View File

@ -0,0 +1,74 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 38
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
OpEntryPoint Fragment %fragment_main "fragment_main"
OpEntryPoint GLCompute %compute_main "compute_main"
OpExecutionMode %fragment_main OriginUpperLeft
OpExecutionMode %compute_main LocalSize 1 1 1
OpName %value "value"
OpName %vertex_point_size "vertex_point_size"
OpName %arg_0 "arg_0"
OpName %textureStore_d2b565 "textureStore_d2b565"
OpName %vertex_main_inner "vertex_main_inner"
OpName %vertex_main "vertex_main"
OpName %fragment_main "fragment_main"
OpName %compute_main "compute_main"
OpDecorate %value BuiltIn Position
OpDecorate %vertex_point_size BuiltIn PointSize
OpDecorate %arg_0 NonReadable
OpDecorate %arg_0 DescriptorSet 1
OpDecorate %arg_0 Binding 0
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%5 = OpConstantNull %v4float
%value = OpVariable %_ptr_Output_v4float Output %5
%_ptr_Output_float = OpTypePointer Output %float
%8 = OpConstantNull %float
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
%uint = OpTypeInt 32 0
%11 = OpTypeImage %uint 3D 0 0 0 2 Rgba8ui
%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
%arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
%void = OpTypeVoid
%13 = OpTypeFunction %void
%v3uint = OpTypeVector %uint 3
%uint_1 = OpConstant %uint 1
%21 = OpConstantComposite %v3uint %uint_1 %uint_1 %uint_1
%v4uint = OpTypeVector %uint 4
%23 = OpConstantComposite %v4uint %uint_1 %uint_1 %uint_1 %uint_1
%24 = OpTypeFunction %v4float
%float_1 = OpConstant %float 1
%textureStore_d2b565 = OpFunction %void None %13
%16 = OpLabel
%18 = OpLoad %11 %arg_0
OpImageWrite %18 %21 %23
OpReturn
OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %24
%26 = OpLabel
%27 = OpFunctionCall %void %textureStore_d2b565
OpReturnValue %5
OpFunctionEnd
%vertex_main = OpFunction %void None %13
%29 = OpLabel
%30 = OpFunctionCall %v4float %vertex_main_inner
OpStore %value %30
OpStore %vertex_point_size %float_1
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %13
%33 = OpLabel
%34 = OpFunctionCall %void %textureStore_d2b565
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %13
%36 = OpLabel
%37 = OpFunctionCall %void %textureStore_d2b565
OpReturn
OpFunctionEnd

View File

@ -0,0 +1,21 @@
@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8uint, write>;
fn textureStore_d2b565() {
textureStore(arg_0, vec3<u32>(1u), vec4<u32>(1u));
}
@vertex
fn vertex_main() -> @builtin(position) vec4<f32> {
textureStore_d2b565();
return vec4<f32>();
}
@fragment
fn fragment_main() {
textureStore_d2b565();
}
@compute @workgroup_size(1)
fn compute_main() {
textureStore_d2b565();
}

View File

@ -0,0 +1,44 @@
// Copyright 2023 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/src/cmd/gen
// using the template:
// test/tint/builtins/gen/gen.wgsl.tmpl
//
// Do not modify this file directly
////////////////////////////////////////////////////////////////////////////////
@group(1) @binding(0) var arg_0: texture_storage_3d<rgba32uint, write>;
// fn textureStore(texture: texture_storage_3d<rgba32uint, write>, coords: vec3<u32>, value: vec4<u32>)
fn textureStore_d4aa95() {
textureStore(arg_0, vec3<u32>(1u), vec4<u32>(1u));
}
@vertex
fn vertex_main() -> @builtin(position) vec4<f32> {
textureStore_d4aa95();
return vec4<f32>();
}
@fragment
fn fragment_main() {
textureStore_d4aa95();
}
@compute @workgroup_size(1)
fn compute_main() {
textureStore_d4aa95();
}

View File

@ -0,0 +1,32 @@
RWTexture3D<uint4> arg_0 : register(u0, space1);
void textureStore_d4aa95() {
arg_0[(1u).xxx] = (1u).xxxx;
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
textureStore_d4aa95();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
textureStore_d4aa95();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureStore_d4aa95();
return;
}

View File

@ -0,0 +1,32 @@
RWTexture3D<uint4> arg_0 : register(u0, space1);
void textureStore_d4aa95() {
arg_0[(1u).xxx] = (1u).xxxx;
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
textureStore_d4aa95();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
textureStore_d4aa95();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureStore_d4aa95();
return;
}

View File

@ -0,0 +1,52 @@
#version 310 es
layout(rgba32ui) uniform highp writeonly uimage3D arg_0;
void textureStore_d4aa95() {
imageStore(arg_0, ivec3(uvec3(1u)), uvec4(1u));
}
vec4 vertex_main() {
textureStore_d4aa95();
return vec4(0.0f);
}
void main() {
gl_PointSize = 1.0;
vec4 inner_result = vertex_main();
gl_Position = inner_result;
gl_Position.y = -(gl_Position.y);
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
return;
}
#version 310 es
precision mediump float;
layout(rgba32ui) uniform highp writeonly uimage3D arg_0;
void textureStore_d4aa95() {
imageStore(arg_0, ivec3(uvec3(1u)), uvec4(1u));
}
void fragment_main() {
textureStore_d4aa95();
}
void main() {
fragment_main();
return;
}
#version 310 es
layout(rgba32ui) uniform highp writeonly uimage3D arg_0;
void textureStore_d4aa95() {
imageStore(arg_0, ivec3(uvec3(1u)), uvec4(1u));
}
void compute_main() {
textureStore_d4aa95();
}
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void main() {
compute_main();
return;
}

View File

@ -0,0 +1,33 @@
#include <metal_stdlib>
using namespace metal;
void textureStore_d4aa95(texture3d<uint, access::write> tint_symbol_1) {
tint_symbol_1.write(uint4(1u), uint3(uint3(1u)));
}
struct tint_symbol {
float4 value [[position]];
};
float4 vertex_main_inner(texture3d<uint, access::write> tint_symbol_2) {
textureStore_d4aa95(tint_symbol_2);
return float4(0.0f);
}
vertex tint_symbol vertex_main(texture3d<uint, access::write> tint_symbol_3 [[texture(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_3);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texture3d<uint, access::write> tint_symbol_4 [[texture(0)]]) {
textureStore_d4aa95(tint_symbol_4);
return;
}
kernel void compute_main(texture3d<uint, access::write> tint_symbol_5 [[texture(0)]]) {
textureStore_d4aa95(tint_symbol_5);
return;
}

View File

@ -0,0 +1,74 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 38
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
OpEntryPoint Fragment %fragment_main "fragment_main"
OpEntryPoint GLCompute %compute_main "compute_main"
OpExecutionMode %fragment_main OriginUpperLeft
OpExecutionMode %compute_main LocalSize 1 1 1
OpName %value "value"
OpName %vertex_point_size "vertex_point_size"
OpName %arg_0 "arg_0"
OpName %textureStore_d4aa95 "textureStore_d4aa95"
OpName %vertex_main_inner "vertex_main_inner"
OpName %vertex_main "vertex_main"
OpName %fragment_main "fragment_main"
OpName %compute_main "compute_main"
OpDecorate %value BuiltIn Position
OpDecorate %vertex_point_size BuiltIn PointSize
OpDecorate %arg_0 NonReadable
OpDecorate %arg_0 DescriptorSet 1
OpDecorate %arg_0 Binding 0
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%5 = OpConstantNull %v4float
%value = OpVariable %_ptr_Output_v4float Output %5
%_ptr_Output_float = OpTypePointer Output %float
%8 = OpConstantNull %float
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
%uint = OpTypeInt 32 0
%11 = OpTypeImage %uint 3D 0 0 0 2 Rgba32ui
%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
%arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
%void = OpTypeVoid
%13 = OpTypeFunction %void
%v3uint = OpTypeVector %uint 3
%uint_1 = OpConstant %uint 1
%21 = OpConstantComposite %v3uint %uint_1 %uint_1 %uint_1
%v4uint = OpTypeVector %uint 4
%23 = OpConstantComposite %v4uint %uint_1 %uint_1 %uint_1 %uint_1
%24 = OpTypeFunction %v4float
%float_1 = OpConstant %float 1
%textureStore_d4aa95 = OpFunction %void None %13
%16 = OpLabel
%18 = OpLoad %11 %arg_0
OpImageWrite %18 %21 %23
OpReturn
OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %24
%26 = OpLabel
%27 = OpFunctionCall %void %textureStore_d4aa95
OpReturnValue %5
OpFunctionEnd
%vertex_main = OpFunction %void None %13
%29 = OpLabel
%30 = OpFunctionCall %v4float %vertex_main_inner
OpStore %value %30
OpStore %vertex_point_size %float_1
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %13
%33 = OpLabel
%34 = OpFunctionCall %void %textureStore_d4aa95
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %13
%36 = OpLabel
%37 = OpFunctionCall %void %textureStore_d4aa95
OpReturn
OpFunctionEnd

View File

@ -0,0 +1,21 @@
@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32uint, write>;
fn textureStore_d4aa95() {
textureStore(arg_0, vec3<u32>(1u), vec4<u32>(1u));
}
@vertex
fn vertex_main() -> @builtin(position) vec4<f32> {
textureStore_d4aa95();
return vec4<f32>();
}
@fragment
fn fragment_main() {
textureStore_d4aa95();
}
@compute @workgroup_size(1)
fn compute_main() {
textureStore_d4aa95();
}

View File

@ -0,0 +1,46 @@
// Copyright 2023 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/src/cmd/gen
// using the template:
// test/tint/builtins/gen/gen.wgsl.tmpl
//
// Do not modify this file directly
////////////////////////////////////////////////////////////////////////////////
@group(1) @binding(0) var arg_0: texture_storage_3d<rgba16uint, write>;
// fn textureStore(texture: texture_storage_3d<rgba16uint, write>, coords: vec3<u32>, value: vec4<u32>)
fn textureStore_1efc36() {
var arg_1 = vec3<u32>(1u);
var arg_2 = vec4<u32>(1u);
textureStore(arg_0, arg_1, arg_2);
}
@vertex
fn vertex_main() -> @builtin(position) vec4<f32> {
textureStore_1efc36();
return vec4<f32>();
}
@fragment
fn fragment_main() {
textureStore_1efc36();
}
@compute @workgroup_size(1)
fn compute_main() {
textureStore_1efc36();
}

View File

@ -0,0 +1,34 @@
RWTexture3D<uint4> arg_0 : register(u0, space1);
void textureStore_1efc36() {
uint3 arg_1 = (1u).xxx;
uint4 arg_2 = (1u).xxxx;
arg_0[arg_1] = arg_2;
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
textureStore_1efc36();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
textureStore_1efc36();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureStore_1efc36();
return;
}

View File

@ -0,0 +1,34 @@
RWTexture3D<uint4> arg_0 : register(u0, space1);
void textureStore_1efc36() {
uint3 arg_1 = (1u).xxx;
uint4 arg_2 = (1u).xxxx;
arg_0[arg_1] = arg_2;
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
textureStore_1efc36();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
textureStore_1efc36();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureStore_1efc36();
return;
}

View File

@ -0,0 +1,58 @@
#version 310 es
layout(rgba16ui) uniform highp writeonly uimage3D arg_0;
void textureStore_1efc36() {
uvec3 arg_1 = uvec3(1u);
uvec4 arg_2 = uvec4(1u);
imageStore(arg_0, ivec3(arg_1), arg_2);
}
vec4 vertex_main() {
textureStore_1efc36();
return vec4(0.0f);
}
void main() {
gl_PointSize = 1.0;
vec4 inner_result = vertex_main();
gl_Position = inner_result;
gl_Position.y = -(gl_Position.y);
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
return;
}
#version 310 es
precision mediump float;
layout(rgba16ui) uniform highp writeonly uimage3D arg_0;
void textureStore_1efc36() {
uvec3 arg_1 = uvec3(1u);
uvec4 arg_2 = uvec4(1u);
imageStore(arg_0, ivec3(arg_1), arg_2);
}
void fragment_main() {
textureStore_1efc36();
}
void main() {
fragment_main();
return;
}
#version 310 es
layout(rgba16ui) uniform highp writeonly uimage3D arg_0;
void textureStore_1efc36() {
uvec3 arg_1 = uvec3(1u);
uvec4 arg_2 = uvec4(1u);
imageStore(arg_0, ivec3(arg_1), arg_2);
}
void compute_main() {
textureStore_1efc36();
}
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void main() {
compute_main();
return;
}

View File

@ -0,0 +1,35 @@
#include <metal_stdlib>
using namespace metal;
void textureStore_1efc36(texture3d<uint, access::write> tint_symbol_1) {
uint3 arg_1 = uint3(1u);
uint4 arg_2 = uint4(1u);
tint_symbol_1.write(arg_2, uint3(arg_1));
}
struct tint_symbol {
float4 value [[position]];
};
float4 vertex_main_inner(texture3d<uint, access::write> tint_symbol_2) {
textureStore_1efc36(tint_symbol_2);
return float4(0.0f);
}
vertex tint_symbol vertex_main(texture3d<uint, access::write> tint_symbol_3 [[texture(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_3);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texture3d<uint, access::write> tint_symbol_4 [[texture(0)]]) {
textureStore_1efc36(tint_symbol_4);
return;
}
kernel void compute_main(texture3d<uint, access::write> tint_symbol_5 [[texture(0)]]) {
textureStore_1efc36(tint_symbol_5);
return;
}

View File

@ -0,0 +1,86 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 46
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
OpEntryPoint Fragment %fragment_main "fragment_main"
OpEntryPoint GLCompute %compute_main "compute_main"
OpExecutionMode %fragment_main OriginUpperLeft
OpExecutionMode %compute_main LocalSize 1 1 1
OpName %value "value"
OpName %vertex_point_size "vertex_point_size"
OpName %arg_0 "arg_0"
OpName %textureStore_1efc36 "textureStore_1efc36"
OpName %arg_1 "arg_1"
OpName %arg_2 "arg_2"
OpName %vertex_main_inner "vertex_main_inner"
OpName %vertex_main "vertex_main"
OpName %fragment_main "fragment_main"
OpName %compute_main "compute_main"
OpDecorate %value BuiltIn Position
OpDecorate %vertex_point_size BuiltIn PointSize
OpDecorate %arg_0 NonReadable
OpDecorate %arg_0 DescriptorSet 1
OpDecorate %arg_0 Binding 0
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%5 = OpConstantNull %v4float
%value = OpVariable %_ptr_Output_v4float Output %5
%_ptr_Output_float = OpTypePointer Output %float
%8 = OpConstantNull %float
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
%uint = OpTypeInt 32 0
%11 = OpTypeImage %uint 3D 0 0 0 2 Rgba16ui
%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
%arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
%void = OpTypeVoid
%13 = OpTypeFunction %void
%v3uint = OpTypeVector %uint 3
%uint_1 = OpConstant %uint 1
%19 = OpConstantComposite %v3uint %uint_1 %uint_1 %uint_1
%_ptr_Function_v3uint = OpTypePointer Function %v3uint
%22 = OpConstantNull %v3uint
%v4uint = OpTypeVector %uint 4
%24 = OpConstantComposite %v4uint %uint_1 %uint_1 %uint_1 %uint_1
%_ptr_Function_v4uint = OpTypePointer Function %v4uint
%27 = OpConstantNull %v4uint
%32 = OpTypeFunction %v4float
%float_1 = OpConstant %float 1
%textureStore_1efc36 = OpFunction %void None %13
%16 = OpLabel
%arg_1 = OpVariable %_ptr_Function_v3uint Function %22
%arg_2 = OpVariable %_ptr_Function_v4uint Function %27
OpStore %arg_1 %19
OpStore %arg_2 %24
%29 = OpLoad %11 %arg_0
%30 = OpLoad %v3uint %arg_1
%31 = OpLoad %v4uint %arg_2
OpImageWrite %29 %30 %31
OpReturn
OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %32
%34 = OpLabel
%35 = OpFunctionCall %void %textureStore_1efc36
OpReturnValue %5
OpFunctionEnd
%vertex_main = OpFunction %void None %13
%37 = OpLabel
%38 = OpFunctionCall %v4float %vertex_main_inner
OpStore %value %38
OpStore %vertex_point_size %float_1
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %13
%41 = OpLabel
%42 = OpFunctionCall %void %textureStore_1efc36
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %13
%44 = OpLabel
%45 = OpFunctionCall %void %textureStore_1efc36
OpReturn
OpFunctionEnd

View File

@ -0,0 +1,23 @@
@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba16uint, write>;
fn textureStore_1efc36() {
var arg_1 = vec3<u32>(1u);
var arg_2 = vec4<u32>(1u);
textureStore(arg_0, arg_1, arg_2);
}
@vertex
fn vertex_main() -> @builtin(position) vec4<f32> {
textureStore_1efc36();
return vec4<f32>();
}
@fragment
fn fragment_main() {
textureStore_1efc36();
}
@compute @workgroup_size(1)
fn compute_main() {
textureStore_1efc36();
}

View File

@ -0,0 +1,46 @@
// Copyright 2023 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/src/cmd/gen
// using the template:
// test/tint/builtins/gen/gen.wgsl.tmpl
//
// Do not modify this file directly
////////////////////////////////////////////////////////////////////////////////
@group(1) @binding(0) var arg_0: texture_storage_3d<rg32uint, write>;
// fn textureStore(texture: texture_storage_3d<rg32uint, write>, coords: vec3<u32>, value: vec4<u32>)
fn textureStore_3fb31f() {
var arg_1 = vec3<u32>(1u);
var arg_2 = vec4<u32>(1u);
textureStore(arg_0, arg_1, arg_2);
}
@vertex
fn vertex_main() -> @builtin(position) vec4<f32> {
textureStore_3fb31f();
return vec4<f32>();
}
@fragment
fn fragment_main() {
textureStore_3fb31f();
}
@compute @workgroup_size(1)
fn compute_main() {
textureStore_3fb31f();
}

View File

@ -0,0 +1,34 @@
RWTexture3D<uint4> arg_0 : register(u0, space1);
void textureStore_3fb31f() {
uint3 arg_1 = (1u).xxx;
uint4 arg_2 = (1u).xxxx;
arg_0[arg_1] = arg_2;
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
textureStore_3fb31f();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
textureStore_3fb31f();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureStore_3fb31f();
return;
}

View File

@ -0,0 +1,34 @@
RWTexture3D<uint4> arg_0 : register(u0, space1);
void textureStore_3fb31f() {
uint3 arg_1 = (1u).xxx;
uint4 arg_2 = (1u).xxxx;
arg_0[arg_1] = arg_2;
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
textureStore_3fb31f();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
textureStore_3fb31f();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureStore_3fb31f();
return;
}

View File

@ -0,0 +1,81 @@
SKIP: FAILED
#version 310 es
layout(rg32ui) uniform highp writeonly uimage3D arg_0;
void textureStore_3fb31f() {
uvec3 arg_1 = uvec3(1u);
uvec4 arg_2 = uvec4(1u);
imageStore(arg_0, ivec3(arg_1), arg_2);
}
vec4 vertex_main() {
textureStore_3fb31f();
return vec4(0.0f);
}
void main() {
gl_PointSize = 1.0;
vec4 inner_result = vertex_main();
gl_Position = inner_result;
gl_Position.y = -(gl_Position.y);
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
return;
}
Error parsing GLSL shader:
ERROR: 0:3: 'image load-store format' : not supported with this profile: es
ERROR: 0:3: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es
precision mediump float;
layout(rg32ui) uniform highp writeonly uimage3D arg_0;
void textureStore_3fb31f() {
uvec3 arg_1 = uvec3(1u);
uvec4 arg_2 = uvec4(1u);
imageStore(arg_0, ivec3(arg_1), arg_2);
}
void fragment_main() {
textureStore_3fb31f();
}
void main() {
fragment_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:4: 'image load-store format' : not supported with this profile: es
ERROR: 0:4: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.
#version 310 es
layout(rg32ui) uniform highp writeonly uimage3D arg_0;
void textureStore_3fb31f() {
uvec3 arg_1 = uvec3(1u);
uvec4 arg_2 = uvec4(1u);
imageStore(arg_0, ivec3(arg_1), arg_2);
}
void compute_main() {
textureStore_3fb31f();
}
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void main() {
compute_main();
return;
}
Error parsing GLSL shader:
ERROR: 0:3: 'image load-store format' : not supported with this profile: es
ERROR: 0:3: '' : compilation terminated
ERROR: 2 compilation errors. No code generated.

View File

@ -0,0 +1,35 @@
#include <metal_stdlib>
using namespace metal;
void textureStore_3fb31f(texture3d<uint, access::write> tint_symbol_1) {
uint3 arg_1 = uint3(1u);
uint4 arg_2 = uint4(1u);
tint_symbol_1.write(arg_2, uint3(arg_1));
}
struct tint_symbol {
float4 value [[position]];
};
float4 vertex_main_inner(texture3d<uint, access::write> tint_symbol_2) {
textureStore_3fb31f(tint_symbol_2);
return float4(0.0f);
}
vertex tint_symbol vertex_main(texture3d<uint, access::write> tint_symbol_3 [[texture(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_3);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texture3d<uint, access::write> tint_symbol_4 [[texture(0)]]) {
textureStore_3fb31f(tint_symbol_4);
return;
}
kernel void compute_main(texture3d<uint, access::write> tint_symbol_5 [[texture(0)]]) {
textureStore_3fb31f(tint_symbol_5);
return;
}

View File

@ -0,0 +1,87 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 46
; Schema: 0
OpCapability Shader
OpCapability StorageImageExtendedFormats
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
OpEntryPoint Fragment %fragment_main "fragment_main"
OpEntryPoint GLCompute %compute_main "compute_main"
OpExecutionMode %fragment_main OriginUpperLeft
OpExecutionMode %compute_main LocalSize 1 1 1
OpName %value "value"
OpName %vertex_point_size "vertex_point_size"
OpName %arg_0 "arg_0"
OpName %textureStore_3fb31f "textureStore_3fb31f"
OpName %arg_1 "arg_1"
OpName %arg_2 "arg_2"
OpName %vertex_main_inner "vertex_main_inner"
OpName %vertex_main "vertex_main"
OpName %fragment_main "fragment_main"
OpName %compute_main "compute_main"
OpDecorate %value BuiltIn Position
OpDecorate %vertex_point_size BuiltIn PointSize
OpDecorate %arg_0 NonReadable
OpDecorate %arg_0 DescriptorSet 1
OpDecorate %arg_0 Binding 0
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%5 = OpConstantNull %v4float
%value = OpVariable %_ptr_Output_v4float Output %5
%_ptr_Output_float = OpTypePointer Output %float
%8 = OpConstantNull %float
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
%uint = OpTypeInt 32 0
%11 = OpTypeImage %uint 3D 0 0 0 2 Rg32ui
%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
%arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
%void = OpTypeVoid
%13 = OpTypeFunction %void
%v3uint = OpTypeVector %uint 3
%uint_1 = OpConstant %uint 1
%19 = OpConstantComposite %v3uint %uint_1 %uint_1 %uint_1
%_ptr_Function_v3uint = OpTypePointer Function %v3uint
%22 = OpConstantNull %v3uint
%v4uint = OpTypeVector %uint 4
%24 = OpConstantComposite %v4uint %uint_1 %uint_1 %uint_1 %uint_1
%_ptr_Function_v4uint = OpTypePointer Function %v4uint
%27 = OpConstantNull %v4uint
%32 = OpTypeFunction %v4float
%float_1 = OpConstant %float 1
%textureStore_3fb31f = OpFunction %void None %13
%16 = OpLabel
%arg_1 = OpVariable %_ptr_Function_v3uint Function %22
%arg_2 = OpVariable %_ptr_Function_v4uint Function %27
OpStore %arg_1 %19
OpStore %arg_2 %24
%29 = OpLoad %11 %arg_0
%30 = OpLoad %v3uint %arg_1
%31 = OpLoad %v4uint %arg_2
OpImageWrite %29 %30 %31
OpReturn
OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %32
%34 = OpLabel
%35 = OpFunctionCall %void %textureStore_3fb31f
OpReturnValue %5
OpFunctionEnd
%vertex_main = OpFunction %void None %13
%37 = OpLabel
%38 = OpFunctionCall %v4float %vertex_main_inner
OpStore %value %38
OpStore %vertex_point_size %float_1
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %13
%41 = OpLabel
%42 = OpFunctionCall %void %textureStore_3fb31f
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %13
%44 = OpLabel
%45 = OpFunctionCall %void %textureStore_3fb31f
OpReturn
OpFunctionEnd

View File

@ -0,0 +1,23 @@
@group(1) @binding(0) var arg_0 : texture_storage_3d<rg32uint, write>;
fn textureStore_3fb31f() {
var arg_1 = vec3<u32>(1u);
var arg_2 = vec4<u32>(1u);
textureStore(arg_0, arg_1, arg_2);
}
@vertex
fn vertex_main() -> @builtin(position) vec4<f32> {
textureStore_3fb31f();
return vec4<f32>();
}
@fragment
fn fragment_main() {
textureStore_3fb31f();
}
@compute @workgroup_size(1)
fn compute_main() {
textureStore_3fb31f();
}

View File

@ -0,0 +1,46 @@
// Copyright 2023 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/src/cmd/gen
// using the template:
// test/tint/builtins/gen/gen.wgsl.tmpl
//
// Do not modify this file directly
////////////////////////////////////////////////////////////////////////////////
@group(1) @binding(0) var arg_0: texture_storage_3d<r32uint, write>;
// fn textureStore(texture: texture_storage_3d<r32uint, write>, coords: vec3<u32>, value: vec4<u32>)
fn textureStore_cd6755() {
var arg_1 = vec3<u32>(1u);
var arg_2 = vec4<u32>(1u);
textureStore(arg_0, arg_1, arg_2);
}
@vertex
fn vertex_main() -> @builtin(position) vec4<f32> {
textureStore_cd6755();
return vec4<f32>();
}
@fragment
fn fragment_main() {
textureStore_cd6755();
}
@compute @workgroup_size(1)
fn compute_main() {
textureStore_cd6755();
}

View File

@ -0,0 +1,34 @@
RWTexture3D<uint4> arg_0 : register(u0, space1);
void textureStore_cd6755() {
uint3 arg_1 = (1u).xxx;
uint4 arg_2 = (1u).xxxx;
arg_0[arg_1] = arg_2;
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
textureStore_cd6755();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
textureStore_cd6755();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureStore_cd6755();
return;
}

View File

@ -0,0 +1,34 @@
RWTexture3D<uint4> arg_0 : register(u0, space1);
void textureStore_cd6755() {
uint3 arg_1 = (1u).xxx;
uint4 arg_2 = (1u).xxxx;
arg_0[arg_1] = arg_2;
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
textureStore_cd6755();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
textureStore_cd6755();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureStore_cd6755();
return;
}

View File

@ -0,0 +1,58 @@
#version 310 es
layout(r32ui) uniform highp writeonly uimage3D arg_0;
void textureStore_cd6755() {
uvec3 arg_1 = uvec3(1u);
uvec4 arg_2 = uvec4(1u);
imageStore(arg_0, ivec3(arg_1), arg_2);
}
vec4 vertex_main() {
textureStore_cd6755();
return vec4(0.0f);
}
void main() {
gl_PointSize = 1.0;
vec4 inner_result = vertex_main();
gl_Position = inner_result;
gl_Position.y = -(gl_Position.y);
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
return;
}
#version 310 es
precision mediump float;
layout(r32ui) uniform highp writeonly uimage3D arg_0;
void textureStore_cd6755() {
uvec3 arg_1 = uvec3(1u);
uvec4 arg_2 = uvec4(1u);
imageStore(arg_0, ivec3(arg_1), arg_2);
}
void fragment_main() {
textureStore_cd6755();
}
void main() {
fragment_main();
return;
}
#version 310 es
layout(r32ui) uniform highp writeonly uimage3D arg_0;
void textureStore_cd6755() {
uvec3 arg_1 = uvec3(1u);
uvec4 arg_2 = uvec4(1u);
imageStore(arg_0, ivec3(arg_1), arg_2);
}
void compute_main() {
textureStore_cd6755();
}
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void main() {
compute_main();
return;
}

View File

@ -0,0 +1,35 @@
#include <metal_stdlib>
using namespace metal;
void textureStore_cd6755(texture3d<uint, access::write> tint_symbol_1) {
uint3 arg_1 = uint3(1u);
uint4 arg_2 = uint4(1u);
tint_symbol_1.write(arg_2, uint3(arg_1));
}
struct tint_symbol {
float4 value [[position]];
};
float4 vertex_main_inner(texture3d<uint, access::write> tint_symbol_2) {
textureStore_cd6755(tint_symbol_2);
return float4(0.0f);
}
vertex tint_symbol vertex_main(texture3d<uint, access::write> tint_symbol_3 [[texture(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_3);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texture3d<uint, access::write> tint_symbol_4 [[texture(0)]]) {
textureStore_cd6755(tint_symbol_4);
return;
}
kernel void compute_main(texture3d<uint, access::write> tint_symbol_5 [[texture(0)]]) {
textureStore_cd6755(tint_symbol_5);
return;
}

View File

@ -0,0 +1,86 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 46
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
OpEntryPoint Fragment %fragment_main "fragment_main"
OpEntryPoint GLCompute %compute_main "compute_main"
OpExecutionMode %fragment_main OriginUpperLeft
OpExecutionMode %compute_main LocalSize 1 1 1
OpName %value "value"
OpName %vertex_point_size "vertex_point_size"
OpName %arg_0 "arg_0"
OpName %textureStore_cd6755 "textureStore_cd6755"
OpName %arg_1 "arg_1"
OpName %arg_2 "arg_2"
OpName %vertex_main_inner "vertex_main_inner"
OpName %vertex_main "vertex_main"
OpName %fragment_main "fragment_main"
OpName %compute_main "compute_main"
OpDecorate %value BuiltIn Position
OpDecorate %vertex_point_size BuiltIn PointSize
OpDecorate %arg_0 NonReadable
OpDecorate %arg_0 DescriptorSet 1
OpDecorate %arg_0 Binding 0
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%5 = OpConstantNull %v4float
%value = OpVariable %_ptr_Output_v4float Output %5
%_ptr_Output_float = OpTypePointer Output %float
%8 = OpConstantNull %float
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
%uint = OpTypeInt 32 0
%11 = OpTypeImage %uint 3D 0 0 0 2 R32ui
%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
%arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
%void = OpTypeVoid
%13 = OpTypeFunction %void
%v3uint = OpTypeVector %uint 3
%uint_1 = OpConstant %uint 1
%19 = OpConstantComposite %v3uint %uint_1 %uint_1 %uint_1
%_ptr_Function_v3uint = OpTypePointer Function %v3uint
%22 = OpConstantNull %v3uint
%v4uint = OpTypeVector %uint 4
%24 = OpConstantComposite %v4uint %uint_1 %uint_1 %uint_1 %uint_1
%_ptr_Function_v4uint = OpTypePointer Function %v4uint
%27 = OpConstantNull %v4uint
%32 = OpTypeFunction %v4float
%float_1 = OpConstant %float 1
%textureStore_cd6755 = OpFunction %void None %13
%16 = OpLabel
%arg_1 = OpVariable %_ptr_Function_v3uint Function %22
%arg_2 = OpVariable %_ptr_Function_v4uint Function %27
OpStore %arg_1 %19
OpStore %arg_2 %24
%29 = OpLoad %11 %arg_0
%30 = OpLoad %v3uint %arg_1
%31 = OpLoad %v4uint %arg_2
OpImageWrite %29 %30 %31
OpReturn
OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %32
%34 = OpLabel
%35 = OpFunctionCall %void %textureStore_cd6755
OpReturnValue %5
OpFunctionEnd
%vertex_main = OpFunction %void None %13
%37 = OpLabel
%38 = OpFunctionCall %v4float %vertex_main_inner
OpStore %value %38
OpStore %vertex_point_size %float_1
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %13
%41 = OpLabel
%42 = OpFunctionCall %void %textureStore_cd6755
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %13
%44 = OpLabel
%45 = OpFunctionCall %void %textureStore_cd6755
OpReturn
OpFunctionEnd

View File

@ -0,0 +1,23 @@
@group(1) @binding(0) var arg_0 : texture_storage_3d<r32uint, write>;
fn textureStore_cd6755() {
var arg_1 = vec3<u32>(1u);
var arg_2 = vec4<u32>(1u);
textureStore(arg_0, arg_1, arg_2);
}
@vertex
fn vertex_main() -> @builtin(position) vec4<f32> {
textureStore_cd6755();
return vec4<f32>();
}
@fragment
fn fragment_main() {
textureStore_cd6755();
}
@compute @workgroup_size(1)
fn compute_main() {
textureStore_cd6755();
}

View File

@ -0,0 +1,46 @@
// Copyright 2023 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/src/cmd/gen
// using the template:
// test/tint/builtins/gen/gen.wgsl.tmpl
//
// Do not modify this file directly
////////////////////////////////////////////////////////////////////////////////
@group(1) @binding(0) var arg_0: texture_storage_3d<rgba8uint, write>;
// fn textureStore(texture: texture_storage_3d<rgba8uint, write>, coords: vec3<u32>, value: vec4<u32>)
fn textureStore_d2b565() {
var arg_1 = vec3<u32>(1u);
var arg_2 = vec4<u32>(1u);
textureStore(arg_0, arg_1, arg_2);
}
@vertex
fn vertex_main() -> @builtin(position) vec4<f32> {
textureStore_d2b565();
return vec4<f32>();
}
@fragment
fn fragment_main() {
textureStore_d2b565();
}
@compute @workgroup_size(1)
fn compute_main() {
textureStore_d2b565();
}

View File

@ -0,0 +1,34 @@
RWTexture3D<uint4> arg_0 : register(u0, space1);
void textureStore_d2b565() {
uint3 arg_1 = (1u).xxx;
uint4 arg_2 = (1u).xxxx;
arg_0[arg_1] = arg_2;
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
textureStore_d2b565();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
textureStore_d2b565();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureStore_d2b565();
return;
}

View File

@ -0,0 +1,34 @@
RWTexture3D<uint4> arg_0 : register(u0, space1);
void textureStore_d2b565() {
uint3 arg_1 = (1u).xxx;
uint4 arg_2 = (1u).xxxx;
arg_0[arg_1] = arg_2;
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
textureStore_d2b565();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
textureStore_d2b565();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureStore_d2b565();
return;
}

View File

@ -0,0 +1,58 @@
#version 310 es
layout(rgba8ui) uniform highp writeonly uimage3D arg_0;
void textureStore_d2b565() {
uvec3 arg_1 = uvec3(1u);
uvec4 arg_2 = uvec4(1u);
imageStore(arg_0, ivec3(arg_1), arg_2);
}
vec4 vertex_main() {
textureStore_d2b565();
return vec4(0.0f);
}
void main() {
gl_PointSize = 1.0;
vec4 inner_result = vertex_main();
gl_Position = inner_result;
gl_Position.y = -(gl_Position.y);
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
return;
}
#version 310 es
precision mediump float;
layout(rgba8ui) uniform highp writeonly uimage3D arg_0;
void textureStore_d2b565() {
uvec3 arg_1 = uvec3(1u);
uvec4 arg_2 = uvec4(1u);
imageStore(arg_0, ivec3(arg_1), arg_2);
}
void fragment_main() {
textureStore_d2b565();
}
void main() {
fragment_main();
return;
}
#version 310 es
layout(rgba8ui) uniform highp writeonly uimage3D arg_0;
void textureStore_d2b565() {
uvec3 arg_1 = uvec3(1u);
uvec4 arg_2 = uvec4(1u);
imageStore(arg_0, ivec3(arg_1), arg_2);
}
void compute_main() {
textureStore_d2b565();
}
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void main() {
compute_main();
return;
}

View File

@ -0,0 +1,35 @@
#include <metal_stdlib>
using namespace metal;
void textureStore_d2b565(texture3d<uint, access::write> tint_symbol_1) {
uint3 arg_1 = uint3(1u);
uint4 arg_2 = uint4(1u);
tint_symbol_1.write(arg_2, uint3(arg_1));
}
struct tint_symbol {
float4 value [[position]];
};
float4 vertex_main_inner(texture3d<uint, access::write> tint_symbol_2) {
textureStore_d2b565(tint_symbol_2);
return float4(0.0f);
}
vertex tint_symbol vertex_main(texture3d<uint, access::write> tint_symbol_3 [[texture(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_3);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texture3d<uint, access::write> tint_symbol_4 [[texture(0)]]) {
textureStore_d2b565(tint_symbol_4);
return;
}
kernel void compute_main(texture3d<uint, access::write> tint_symbol_5 [[texture(0)]]) {
textureStore_d2b565(tint_symbol_5);
return;
}

View File

@ -0,0 +1,86 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 46
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
OpEntryPoint Fragment %fragment_main "fragment_main"
OpEntryPoint GLCompute %compute_main "compute_main"
OpExecutionMode %fragment_main OriginUpperLeft
OpExecutionMode %compute_main LocalSize 1 1 1
OpName %value "value"
OpName %vertex_point_size "vertex_point_size"
OpName %arg_0 "arg_0"
OpName %textureStore_d2b565 "textureStore_d2b565"
OpName %arg_1 "arg_1"
OpName %arg_2 "arg_2"
OpName %vertex_main_inner "vertex_main_inner"
OpName %vertex_main "vertex_main"
OpName %fragment_main "fragment_main"
OpName %compute_main "compute_main"
OpDecorate %value BuiltIn Position
OpDecorate %vertex_point_size BuiltIn PointSize
OpDecorate %arg_0 NonReadable
OpDecorate %arg_0 DescriptorSet 1
OpDecorate %arg_0 Binding 0
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%5 = OpConstantNull %v4float
%value = OpVariable %_ptr_Output_v4float Output %5
%_ptr_Output_float = OpTypePointer Output %float
%8 = OpConstantNull %float
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
%uint = OpTypeInt 32 0
%11 = OpTypeImage %uint 3D 0 0 0 2 Rgba8ui
%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
%arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
%void = OpTypeVoid
%13 = OpTypeFunction %void
%v3uint = OpTypeVector %uint 3
%uint_1 = OpConstant %uint 1
%19 = OpConstantComposite %v3uint %uint_1 %uint_1 %uint_1
%_ptr_Function_v3uint = OpTypePointer Function %v3uint
%22 = OpConstantNull %v3uint
%v4uint = OpTypeVector %uint 4
%24 = OpConstantComposite %v4uint %uint_1 %uint_1 %uint_1 %uint_1
%_ptr_Function_v4uint = OpTypePointer Function %v4uint
%27 = OpConstantNull %v4uint
%32 = OpTypeFunction %v4float
%float_1 = OpConstant %float 1
%textureStore_d2b565 = OpFunction %void None %13
%16 = OpLabel
%arg_1 = OpVariable %_ptr_Function_v3uint Function %22
%arg_2 = OpVariable %_ptr_Function_v4uint Function %27
OpStore %arg_1 %19
OpStore %arg_2 %24
%29 = OpLoad %11 %arg_0
%30 = OpLoad %v3uint %arg_1
%31 = OpLoad %v4uint %arg_2
OpImageWrite %29 %30 %31
OpReturn
OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %32
%34 = OpLabel
%35 = OpFunctionCall %void %textureStore_d2b565
OpReturnValue %5
OpFunctionEnd
%vertex_main = OpFunction %void None %13
%37 = OpLabel
%38 = OpFunctionCall %v4float %vertex_main_inner
OpStore %value %38
OpStore %vertex_point_size %float_1
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %13
%41 = OpLabel
%42 = OpFunctionCall %void %textureStore_d2b565
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %13
%44 = OpLabel
%45 = OpFunctionCall %void %textureStore_d2b565
OpReturn
OpFunctionEnd

View File

@ -0,0 +1,23 @@
@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba8uint, write>;
fn textureStore_d2b565() {
var arg_1 = vec3<u32>(1u);
var arg_2 = vec4<u32>(1u);
textureStore(arg_0, arg_1, arg_2);
}
@vertex
fn vertex_main() -> @builtin(position) vec4<f32> {
textureStore_d2b565();
return vec4<f32>();
}
@fragment
fn fragment_main() {
textureStore_d2b565();
}
@compute @workgroup_size(1)
fn compute_main() {
textureStore_d2b565();
}

View File

@ -0,0 +1,46 @@
// Copyright 2023 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/src/cmd/gen
// using the template:
// test/tint/builtins/gen/gen.wgsl.tmpl
//
// Do not modify this file directly
////////////////////////////////////////////////////////////////////////////////
@group(1) @binding(0) var arg_0: texture_storage_3d<rgba32uint, write>;
// fn textureStore(texture: texture_storage_3d<rgba32uint, write>, coords: vec3<u32>, value: vec4<u32>)
fn textureStore_d4aa95() {
var arg_1 = vec3<u32>(1u);
var arg_2 = vec4<u32>(1u);
textureStore(arg_0, arg_1, arg_2);
}
@vertex
fn vertex_main() -> @builtin(position) vec4<f32> {
textureStore_d4aa95();
return vec4<f32>();
}
@fragment
fn fragment_main() {
textureStore_d4aa95();
}
@compute @workgroup_size(1)
fn compute_main() {
textureStore_d4aa95();
}

View File

@ -0,0 +1,34 @@
RWTexture3D<uint4> arg_0 : register(u0, space1);
void textureStore_d4aa95() {
uint3 arg_1 = (1u).xxx;
uint4 arg_2 = (1u).xxxx;
arg_0[arg_1] = arg_2;
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
textureStore_d4aa95();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
textureStore_d4aa95();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureStore_d4aa95();
return;
}

View File

@ -0,0 +1,34 @@
RWTexture3D<uint4> arg_0 : register(u0, space1);
void textureStore_d4aa95() {
uint3 arg_1 = (1u).xxx;
uint4 arg_2 = (1u).xxxx;
arg_0[arg_1] = arg_2;
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
textureStore_d4aa95();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
textureStore_d4aa95();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
textureStore_d4aa95();
return;
}

View File

@ -0,0 +1,58 @@
#version 310 es
layout(rgba32ui) uniform highp writeonly uimage3D arg_0;
void textureStore_d4aa95() {
uvec3 arg_1 = uvec3(1u);
uvec4 arg_2 = uvec4(1u);
imageStore(arg_0, ivec3(arg_1), arg_2);
}
vec4 vertex_main() {
textureStore_d4aa95();
return vec4(0.0f);
}
void main() {
gl_PointSize = 1.0;
vec4 inner_result = vertex_main();
gl_Position = inner_result;
gl_Position.y = -(gl_Position.y);
gl_Position.z = ((2.0f * gl_Position.z) - gl_Position.w);
return;
}
#version 310 es
precision mediump float;
layout(rgba32ui) uniform highp writeonly uimage3D arg_0;
void textureStore_d4aa95() {
uvec3 arg_1 = uvec3(1u);
uvec4 arg_2 = uvec4(1u);
imageStore(arg_0, ivec3(arg_1), arg_2);
}
void fragment_main() {
textureStore_d4aa95();
}
void main() {
fragment_main();
return;
}
#version 310 es
layout(rgba32ui) uniform highp writeonly uimage3D arg_0;
void textureStore_d4aa95() {
uvec3 arg_1 = uvec3(1u);
uvec4 arg_2 = uvec4(1u);
imageStore(arg_0, ivec3(arg_1), arg_2);
}
void compute_main() {
textureStore_d4aa95();
}
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void main() {
compute_main();
return;
}

View File

@ -0,0 +1,35 @@
#include <metal_stdlib>
using namespace metal;
void textureStore_d4aa95(texture3d<uint, access::write> tint_symbol_1) {
uint3 arg_1 = uint3(1u);
uint4 arg_2 = uint4(1u);
tint_symbol_1.write(arg_2, uint3(arg_1));
}
struct tint_symbol {
float4 value [[position]];
};
float4 vertex_main_inner(texture3d<uint, access::write> tint_symbol_2) {
textureStore_d4aa95(tint_symbol_2);
return float4(0.0f);
}
vertex tint_symbol vertex_main(texture3d<uint, access::write> tint_symbol_3 [[texture(0)]]) {
float4 const inner_result = vertex_main_inner(tint_symbol_3);
tint_symbol wrapper_result = {};
wrapper_result.value = inner_result;
return wrapper_result;
}
fragment void fragment_main(texture3d<uint, access::write> tint_symbol_4 [[texture(0)]]) {
textureStore_d4aa95(tint_symbol_4);
return;
}
kernel void compute_main(texture3d<uint, access::write> tint_symbol_5 [[texture(0)]]) {
textureStore_d4aa95(tint_symbol_5);
return;
}

View File

@ -0,0 +1,86 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 46
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %vertex_main "vertex_main" %value %vertex_point_size
OpEntryPoint Fragment %fragment_main "fragment_main"
OpEntryPoint GLCompute %compute_main "compute_main"
OpExecutionMode %fragment_main OriginUpperLeft
OpExecutionMode %compute_main LocalSize 1 1 1
OpName %value "value"
OpName %vertex_point_size "vertex_point_size"
OpName %arg_0 "arg_0"
OpName %textureStore_d4aa95 "textureStore_d4aa95"
OpName %arg_1 "arg_1"
OpName %arg_2 "arg_2"
OpName %vertex_main_inner "vertex_main_inner"
OpName %vertex_main "vertex_main"
OpName %fragment_main "fragment_main"
OpName %compute_main "compute_main"
OpDecorate %value BuiltIn Position
OpDecorate %vertex_point_size BuiltIn PointSize
OpDecorate %arg_0 NonReadable
OpDecorate %arg_0 DescriptorSet 1
OpDecorate %arg_0 Binding 0
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%5 = OpConstantNull %v4float
%value = OpVariable %_ptr_Output_v4float Output %5
%_ptr_Output_float = OpTypePointer Output %float
%8 = OpConstantNull %float
%vertex_point_size = OpVariable %_ptr_Output_float Output %8
%uint = OpTypeInt 32 0
%11 = OpTypeImage %uint 3D 0 0 0 2 Rgba32ui
%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
%arg_0 = OpVariable %_ptr_UniformConstant_11 UniformConstant
%void = OpTypeVoid
%13 = OpTypeFunction %void
%v3uint = OpTypeVector %uint 3
%uint_1 = OpConstant %uint 1
%19 = OpConstantComposite %v3uint %uint_1 %uint_1 %uint_1
%_ptr_Function_v3uint = OpTypePointer Function %v3uint
%22 = OpConstantNull %v3uint
%v4uint = OpTypeVector %uint 4
%24 = OpConstantComposite %v4uint %uint_1 %uint_1 %uint_1 %uint_1
%_ptr_Function_v4uint = OpTypePointer Function %v4uint
%27 = OpConstantNull %v4uint
%32 = OpTypeFunction %v4float
%float_1 = OpConstant %float 1
%textureStore_d4aa95 = OpFunction %void None %13
%16 = OpLabel
%arg_1 = OpVariable %_ptr_Function_v3uint Function %22
%arg_2 = OpVariable %_ptr_Function_v4uint Function %27
OpStore %arg_1 %19
OpStore %arg_2 %24
%29 = OpLoad %11 %arg_0
%30 = OpLoad %v3uint %arg_1
%31 = OpLoad %v4uint %arg_2
OpImageWrite %29 %30 %31
OpReturn
OpFunctionEnd
%vertex_main_inner = OpFunction %v4float None %32
%34 = OpLabel
%35 = OpFunctionCall %void %textureStore_d4aa95
OpReturnValue %5
OpFunctionEnd
%vertex_main = OpFunction %void None %13
%37 = OpLabel
%38 = OpFunctionCall %v4float %vertex_main_inner
OpStore %value %38
OpStore %vertex_point_size %float_1
OpReturn
OpFunctionEnd
%fragment_main = OpFunction %void None %13
%41 = OpLabel
%42 = OpFunctionCall %void %textureStore_d4aa95
OpReturn
OpFunctionEnd
%compute_main = OpFunction %void None %13
%44 = OpLabel
%45 = OpFunctionCall %void %textureStore_d4aa95
OpReturn
OpFunctionEnd

View File

@ -0,0 +1,23 @@
@group(1) @binding(0) var arg_0 : texture_storage_3d<rgba32uint, write>;
fn textureStore_d4aa95() {
var arg_1 = vec3<u32>(1u);
var arg_2 = vec4<u32>(1u);
textureStore(arg_0, arg_1, arg_2);
}
@vertex
fn vertex_main() -> @builtin(position) vec4<f32> {
textureStore_d4aa95();
return vec4<f32>();
}
@fragment
fn fragment_main() {
textureStore_d4aa95();
}
@compute @workgroup_size(1)
fn compute_main() {
textureStore_d4aa95();
}