mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-05-16 12:21:35 +00:00
This patch add DXC compile flag "-enable-16bit-types" and change profile to SM6.2 when validating generated HLSL using DXC if f16 extension is enabled in the WGSL program. The patch add Tint end-to-end test cases for expressions using f16 type, including constructor, binary operator, splat, zero-init, and others. Testcases that use f16 types in uniform or storage buffer are SKIPped, because such usage is not implemented yet. Bug: tint:1473, tint:1502 Change-Id: I481ab3d12cbb822f11ef85ba807bca3f9770089b Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96252 Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Ben Clayton <bclayton@chromium.org> Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com>
33 lines
1.2 KiB
Plaintext
33 lines
1.2 KiB
Plaintext
; SPIR-V
|
|
; Version: 1.3
|
|
; Generator: Google Tint Compiler; 0
|
|
; Bound: 17
|
|
; Schema: 0
|
|
OpCapability Shader
|
|
OpCapability Float16
|
|
OpCapability UniformAndStorageBuffer16BitAccess
|
|
OpCapability StorageBuffer16BitAccess
|
|
OpCapability StorageInputOutput16
|
|
OpMemoryModel Logical GLSL450
|
|
OpEntryPoint GLCompute %f "f"
|
|
OpExecutionMode %f LocalSize 1 1 1
|
|
OpName %f "f"
|
|
%void = OpTypeVoid
|
|
%1 = OpTypeFunction %void
|
|
%half = OpTypeFloat 16
|
|
%half_0x1p_2 = OpConstant %half 0x1p+2
|
|
%v3half = OpTypeVector %half 3
|
|
%half_0x1p_0 = OpConstant %half 0x1p+0
|
|
%half_0x1p_1 = OpConstant %half 0x1p+1
|
|
%half_0x1_8p_1 = OpConstant %half 0x1.8p+1
|
|
%11 = OpConstantComposite %v3half %half_0x1p_0 %half_0x1p_1 %half_0x1_8p_1
|
|
%_ptr_Function_v3half = OpTypePointer Function %v3half
|
|
%15 = OpConstantNull %v3half
|
|
%f = OpFunction %void None %1
|
|
%4 = OpLabel
|
|
%13 = OpVariable %_ptr_Function_v3half Function %15
|
|
%16 = OpCompositeConstruct %v3half %half_0x1p_2 %half_0x1p_2 %half_0x1p_2
|
|
%12 = OpFRem %v3half %16 %11
|
|
OpReturn
|
|
OpFunctionEnd
|