mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-08-04 03:05:42 +00:00
This CL adds element count limits to arrays. In FXC there is a maximum of 65536 elements in an array. This limit is not yet in WGSL, but adding this here allows us to fix the issue with large arrays and GLSL. Bug: chromium:1367602 Change-Id: I7df9d3e4f6c3e5107420d5f8e576d1f33e453161 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/104240 Commit-Queue: Dan Sinclair <dsinclair@chromium.org> Reviewed-by: Ben Clayton <bclayton@google.com> Kokoro: Kokoro <noreply+kokoro@google.com>
47 lines
1.9 KiB
Plaintext
47 lines
1.9 KiB
Plaintext
; SPIR-V
|
|
; Version: 1.3
|
|
; Generator: Google Tint Compiler; 0
|
|
; Bound: 17
|
|
; Schema: 0
|
|
OpCapability Shader
|
|
OpMemoryModel Logical GLSL450
|
|
OpEntryPoint GLCompute %unused_entry_point "unused_entry_point"
|
|
OpExecutionMode %unused_entry_point LocalSize 1 1 1
|
|
OpName %v_block "v_block"
|
|
OpMemberName %v_block 0 "inner"
|
|
OpName %v "v"
|
|
OpName %A "A"
|
|
OpMemberName %A 0 "a"
|
|
OpName %b "b"
|
|
OpName %unused_entry_point "unused_entry_point"
|
|
OpDecorate %v_block Block
|
|
OpMemberDecorate %v_block 0 Offset 0
|
|
OpDecorate %_arr_int_uint_1000000 ArrayStride 4
|
|
OpDecorate %v NonWritable
|
|
OpDecorate %v DescriptorSet 0
|
|
OpDecorate %v Binding 0
|
|
OpDecorate %A Block
|
|
OpMemberDecorate %A 0 Offset 0
|
|
OpDecorate %_arr_float_uint_1000000 ArrayStride 4
|
|
OpDecorate %b NonWritable
|
|
OpDecorate %b DescriptorSet 0
|
|
OpDecorate %b Binding 1
|
|
%int = OpTypeInt 32 1
|
|
%uint = OpTypeInt 32 0
|
|
%uint_1000000 = OpConstant %uint 1000000
|
|
%_arr_int_uint_1000000 = OpTypeArray %int %uint_1000000
|
|
%v_block = OpTypeStruct %_arr_int_uint_1000000
|
|
%_ptr_StorageBuffer_v_block = OpTypePointer StorageBuffer %v_block
|
|
%v = OpVariable %_ptr_StorageBuffer_v_block StorageBuffer
|
|
%float = OpTypeFloat 32
|
|
%_arr_float_uint_1000000 = OpTypeArray %float %uint_1000000
|
|
%A = OpTypeStruct %_arr_float_uint_1000000
|
|
%_ptr_StorageBuffer_A = OpTypePointer StorageBuffer %A
|
|
%b = OpVariable %_ptr_StorageBuffer_A StorageBuffer
|
|
%void = OpTypeVoid
|
|
%13 = OpTypeFunction %void
|
|
%unused_entry_point = OpFunction %void None %13
|
|
%16 = OpLabel
|
|
OpReturn
|
|
OpFunctionEnd
|