mirror of
				https://github.com/encounter/dawn-cmake.git
				synced 2025-10-26 03:30:30 +00:00 
			
		
		
		
	This CL add Tint E2E tests for f16 types in uniform and storage buffers. Bug: tint:1473, tint:1502 Change-Id: I325524d2df326240cc1b080a90abf5bd076b3da1 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/107543 Reviewed-by: Ben Clayton <bclayton@google.com> Kokoro: Kokoro <noreply+kokoro@google.com> Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com>
		
			
				
	
	
		
			93 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			WebGPU Shading Language
		
	
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			WebGPU Shading Language
		
	
	
	
	
	
| enable f16;
 | |
| 
 | |
| struct Inner {
 | |
|   scalar_i32 : i32,
 | |
|   scalar_f32 : f32,
 | |
|   scalar_f16 : f16,
 | |
| }
 | |
| 
 | |
| struct S {
 | |
|   scalar_f32 : f32,
 | |
|   scalar_i32 : i32,
 | |
|   scalar_u32 : u32,
 | |
|   scalar_f16 : f16,
 | |
|   vec2_f32 : vec2<f32>,
 | |
|   vec2_i32 : vec2<i32>,
 | |
|   vec2_u32 : vec2<u32>,
 | |
|   vec2_f16 : vec2<f16>,
 | |
|   vec3_f32 : vec3<f32>,
 | |
|   vec3_i32 : vec3<i32>,
 | |
|   vec3_u32 : vec3<u32>,
 | |
|   vec3_f16 : vec3<f16>,
 | |
|   vec4_f32 : vec4<f32>,
 | |
|   vec4_i32 : vec4<i32>,
 | |
|   vec4_u32 : vec4<u32>,
 | |
|   vec4_f16 : vec4<f16>,
 | |
|   mat2x2_f32 : mat2x2<f32>,
 | |
|   mat2x3_f32 : mat2x3<f32>,
 | |
|   mat2x4_f32 : mat2x4<f32>,
 | |
|   mat3x2_f32 : mat3x2<f32>,
 | |
|   mat3x3_f32 : mat3x3<f32>,
 | |
|   mat3x4_f32 : mat3x4<f32>,
 | |
|   mat4x2_f32 : mat4x2<f32>,
 | |
|   mat4x3_f32 : mat4x3<f32>,
 | |
|   mat4x4_f32 : mat4x4<f32>,
 | |
|   mat2x2_f16 : mat2x2<f16>,
 | |
|   mat2x3_f16 : mat2x3<f16>,
 | |
|   mat2x4_f16 : mat2x4<f16>,
 | |
|   mat3x2_f16 : mat3x2<f16>,
 | |
|   mat3x3_f16 : mat3x3<f16>,
 | |
|   mat3x4_f16 : mat3x4<f16>,
 | |
|   mat4x2_f16 : mat4x2<f16>,
 | |
|   mat4x3_f16 : mat4x3<f16>,
 | |
|   mat4x4_f16 : mat4x4<f16>,
 | |
|   arr2_vec3_f32 : array<vec3<f32>, 2>,
 | |
|   arr2_mat4x2_f16 : array<mat4x2<f16>, 2>,
 | |
|   struct_inner : Inner,
 | |
|   array_struct_inner : array<Inner, 4>,
 | |
| }
 | |
| 
 | |
| @binding(0) @group(0) var<storage, read_write> sb : S;
 | |
| 
 | |
| @compute @workgroup_size(1)
 | |
| fn main() {
 | |
|   sb.scalar_f32 = f32();
 | |
|   sb.scalar_i32 = i32();
 | |
|   sb.scalar_u32 = u32();
 | |
|   sb.scalar_f16 = f16();
 | |
|   sb.vec2_f32 = vec2<f32>();
 | |
|   sb.vec2_i32 = vec2<i32>();
 | |
|   sb.vec2_u32 = vec2<u32>();
 | |
|   sb.vec2_f16 = vec2<f16>();
 | |
|   sb.vec3_f32 = vec3<f32>();
 | |
|   sb.vec3_i32 = vec3<i32>();
 | |
|   sb.vec3_u32 = vec3<u32>();
 | |
|   sb.vec3_f16 = vec3<f16>();
 | |
|   sb.vec4_f32 = vec4<f32>();
 | |
|   sb.vec4_i32 = vec4<i32>();
 | |
|   sb.vec4_u32 = vec4<u32>();
 | |
|   sb.vec4_f16 = vec4<f16>();
 | |
|   sb.mat2x2_f32 = mat2x2<f32>();
 | |
|   sb.mat2x3_f32 = mat2x3<f32>();
 | |
|   sb.mat2x4_f32 = mat2x4<f32>();
 | |
|   sb.mat3x2_f32 = mat3x2<f32>();
 | |
|   sb.mat3x3_f32 = mat3x3<f32>();
 | |
|   sb.mat3x4_f32 = mat3x4<f32>();
 | |
|   sb.mat4x2_f32 = mat4x2<f32>();
 | |
|   sb.mat4x3_f32 = mat4x3<f32>();
 | |
|   sb.mat4x4_f32 = mat4x4<f32>();
 | |
|   sb.mat2x2_f16 = mat2x2<f16>();
 | |
|   sb.mat2x3_f16 = mat2x3<f16>();
 | |
|   sb.mat2x4_f16 = mat2x4<f16>();
 | |
|   sb.mat3x2_f16 = mat3x2<f16>();
 | |
|   sb.mat3x3_f16 = mat3x3<f16>();
 | |
|   sb.mat3x4_f16 = mat3x4<f16>();
 | |
|   sb.mat4x2_f16 = mat4x2<f16>();
 | |
|   sb.mat4x3_f16 = mat4x3<f16>();
 | |
|   sb.mat4x4_f16 = mat4x4<f16>();
 | |
|   sb.arr2_vec3_f32 = array<vec3<f32>, 2>();
 | |
|   sb.arr2_mat4x2_f16 = array<mat4x2<f16>, 2>();
 | |
|   sb.struct_inner = Inner();
 | |
|   sb.array_struct_inner = array<Inner, 4>();
 | |
| }
 |